Exemple #1
0
        /// <summary>
        /// Persist the in-memory telemetry items.
        /// </summary>
        internal void Flush()
        {
            IEnumerable <ITelemetry> enumerable = telemetryBuffer.Dequeue();

            if (enumerable != null && enumerable.Any())
            {
                byte[]       content      = JsonSerializer.Serialize(enumerable);
                Transmission transmission = new Transmission(EndpointAddress, content, "application/x-json-stream", JsonSerializer.CompressionType);
                storage.EnqueueAsync(transmission).ConfigureAwait(false).GetAwaiter()
                .GetResult();
            }
        }
Exemple #2
0
 /// <summary>
 /// Flushes the in-memory buffer and send it.
 /// </summary>
 private void DequeueAndSend()
 {
     lock (sendingLockObj)
     {
         IEnumerable <ITelemetry> telemetryItems = buffer.Dequeue();
         try
         {
             Send(telemetryItems).ConfigureAwait(false).GetAwaiter().GetResult();
         }
         catch (Exception ex)
         {
             CoreEventSource.Log.LogVerbose("DequeueAndSend: Failed Sending: Exception: " + ex.ToString());
         }
     }
 }