Share via


EventDataDiagnosticExtensions.ExtractActivity(EventData, String) Methode

Definition

Erstellt Activity basierend auf dem Ablaufverfolgungskontext, der in The EventDataevent received from EventHub Optional Activity name(Name der optionalen EventHub-Aktivität) Activity mit Ablaufverfolgungskontext gespeichert ist

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

Parameter

eventData
EventData
activityName
String

Gibt zurück

Beispiele

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}")
   }
}

Beachten Sie, dass jedes Protokoll mit Currentgestempelt wird. ID, die in einem beliebigen geschachtelten Methodenaufruf (Synchronisierung oder asynchron) verwendet werden kann. Current Hierbei handelt es sich um einen Umgebungskontext, der mit asynchronen Methodenaufrufen fließt.

Hinweise

Der Ablaufverfolgungskontext wird verwendet, um Telemetriedaten zwischen Producer und Consumer zu korrelieren und durch die Eigenschaften "Diagnostic-Id" und "Correlation-Context" in Propertiesdargestellt.

Das .NET SDK fügt beim Senden von Nachrichten an den ServiceBus automatisch Kontext ein (wenn Diagnose durch das Ablaufverfolgungssystem aktiviert ist).

"Diagnostic-Id" identifiziert eindeutig den Vorgang, der das Ereignis in die Warteschlange gestellt hat.

"Correlation-Context" ist eine durch Trennzeichen getrennte Liste von Zeichenfolgenschlüssel-Wertpaaren, die den optionalen Kontext für den Vorgang darstellen.

Wenn kein Ablaufverfolgungskontext im Ereignis vorhanden ist, gibt diese Methode ohne übergeordnetes Element zurück Activity .

Zurückgegeben muss Activity gestartet werden, bevor es verwendet werden kann (siehe Beispiel unten).

Gilt für: