EventDataDiagnosticExtensions.ExtractActivity(EventData, String) Método

Definición

Crea Activity en función del contexto de seguimiento almacenado en el EventDataevento recibido del nombrede actividad opcional de EventHubNuevo Activity con el contexto de seguimiento.

public static System.Diagnostics.Activity ExtractActivity (this Microsoft.Azure.EventHubs.EventData eventData, string activityName = default);
static member ExtractActivity : Microsoft.Azure.EventHubs.EventData * string -> System.Diagnostics.Activity
<Extension()>
Public Function ExtractActivity (eventData As EventData, Optional activityName As String = Nothing) As Activity

Parámetros

eventData
EventData
activityName
String

Devoluciones

Ejemplos

async Task ProcessAsync(EventData eventData)
{
   var activity = eventData.ExtractActivity();
   activity.Start();
   Logger.LogInformation($"Event received, Id = {Activity.Current.Id}")
   try 
   {
      // process event
   }
   catch (Exception ex)
   {
        Logger.LogError($"Exception {ex}, Id = {Activity.Current.Id}")
   }
   finally 
   {
        activity.Stop();
        // Activity is stopped, we no longer have it in Activity.Current
        Logger.LogInformation($"Event processed, Id = {activity.Id}, Duration = {activity.Duration}")
   }
}

Tenga en cuenta que todos los registros se marcan con Current. Identificador, que se puede usar dentro de cualquier llamada de método anidado (sincronización o asincrónica): Current es un contexto ambiente que fluye con llamadas de método asincrónico.

Comentarios

El contexto de seguimiento se usa para correlacionar la telemetría entre el productor y el consumidor y las propiedades "Diagnostic-Id" y "Correlation-Context" en Properties.

El SDK de .NET inserta automáticamente el contexto al enviar mensajes a ServiceBus (si el sistema de seguimiento habilita el diagnóstico).

"Diagnostic-Id" identifica de forma única la operación que en cola del evento

"Correlation-Context" es una lista separada por comas de pares de valores de clave de cadena que representan el contexto opcional para la operación.

Si no hay ningún contexto de seguimiento en el evento, este método devuelve Activity sin elemento primario.

Debe Activity iniciarse antes de que se pueda usar (vea el ejemplo siguiente)

Se aplica a