Partager via


EventDataDiagnosticExtensions.ExtractActivity(EventData, String) Méthode

Définition

Crée Activity en fonction du contexte de suivi stocké dans l’événement EventDatareçu d’EventHubNom d’activitéfacultatif Nouveau Activity avec contexte de suivi

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

Paramètres

eventData
EventData
activityName
String

Retours

Exemples

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

Notez que chaque journal est marqué avec Current. ID, qui peut être utilisé dans n’importe quel appel de méthode imbriquée (synchronisation ou asynchrone) : Current est un contexte ambiant qui circule avec des appels de méthode asynchrone.

Remarques

Le contexte de suivi est utilisé pour mettre en corrélation les données de télémétrie entre le producteur et le consommateur et représenté par les propriétés « Diagnostic-Id » et « Correlation-Context » dans Properties.

Le Kit de développement logiciel (SDK) .NET injecte automatiquement le contexte lors de l’envoi de message au ServiceBus (si diagnostics est activé par le système de suivi).

'Diagnostic-Id' identifie de manière unique l’opération qui a mis en file d’attente l’événement

'Correlation-Context' est une liste séparée par des virgules de paires de valeurs de clé de chaîne représentant le contexte facultatif pour l’opération.

S’il n’existe aucun contexte de suivi dans l’événement, cette méthode retourne Activity sans parent.

Le retour Activity doit être démarré avant qu’il puisse être utilisé (voir l’exemple ci-dessous)

S’applique à