Ajoutez des annotations et des métadonnées aux segments avec le SDK X-Ray pour .NET - AWS X-Ray

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajoutez des annotations et des métadonnées aux segments avec le SDK X-Ray pour .NET

Vous pouvez utiliser des annotations et des métadonnées pour enregistrer des informations supplémentaires sur les demandes, l'environnement ou votre application. Vous pouvez ajouter des annotations et des métadonnées aux segments créés par le SDK X-Ray ou aux sous-segments personnalisés que vous créez.

Les annotations sont des paires clé-valeur avec des chaînes, des nombres ou des valeurs booléennes. Les annotations sont indexées pour être utilisées avec les expressions de filtre. Utilisez les annotations pour enregistrer les données que vous souhaitez utiliser pour regrouper les suivis dans la console ou lors de l'appel de l'API GetTraceSummaries.

Les métadonnées sont des paires clé-valeur qui peuvent contenir des valeurs de n'importe quel type, y compris des objets et des listes, mais qui ne sont pas indexées pour être utilisées avec des expressions de filtre. Utilisez les métadonnées pour enregistrer des données supplémentaires que vous souhaitez stocker dans le traçage, mais que vous n'avez pas besoin d'utiliser pour la recherche.

Enregistrement d'annotations avec le SDK X-Ray pour .NET

Utilisez les annotations pour enregistrer les informations sur les segments ou sous-segments qui doivent être indexés pour la recherche.

Les éléments suivants sont requis pour toutes les annotations dans X-Ray :

Exigences liées aux annotations
  • Clés — La clé d'une annotation X-Ray peut comporter jusqu'à 500 caractères alphanumériques. Vous ne pouvez pas utiliser d'espaces ou de symboles autres que le trait de soulignement (_).

  • Valeurs — La valeur d'une annotation X-Ray peut comporter jusqu'à 1 000 caractères Unicode.

  • Nombre d'annotations : vous pouvez utiliser jusqu'à 50 annotations par trace.

Pour enregistrer des annotations en dehors d'une fonction AWS Lambda
  1. Obtenez une instance de AWSXRayRecorder.

    using Amazon.XRay.Recorder.Core; ... AWSXRayRecorder recorder = AWSXRayRecorder.Instance;
  2. Appelez addAnnotation avec une clé de type chaîne et une valeur de type booléen, Int32, Int64, Double ou chaîne.

    recorder.AddAnnotation("mykey", "my value");
Pour enregistrer des annotations dans une fonction AWS Lambda

Les segments et les sous-segments d'une fonction Lambda sont gérés par l'environnement d'exécution Lambda. Si vous souhaitez ajouter une annotation à un segment ou à un sous-segment dans une fonction Lambda, vous devez effectuer les opérations suivantes :

  1. Créez le segment ou le sous-segment dans la fonction Lambda.

  2. Ajoutez l'annotation au segment ou au sous-segment.

  3. Terminez le segment ou le sous-segment.

L'exemple de code suivant montre comment ajouter une annotation à un sous-segment dans une fonction Lambda :

#Create the subsegment AWSXRayRecorder.Instance.BeginSubsegment("custom method"); #Add an annotation AWSXRayRecorder.Instance.AddAnnotation("My", "Annotation"); try { YourProcess(); #Your function } catch (Exception e) { AWSXRayRecorder.Instance.AddException(e); } finally #End the subsegment { AWSXRayRecorder.Instance.EndSubsegment(); }

Le SDK X-Ray enregistre les annotations sous forme de paires clé-valeur dans un annotations objet du document segmenté. Le fait d'appeler l'addAnnotationopération deux fois avec la même clé remplace une valeur précédemment enregistrée sur le même segment ou sous-segment.

Pour rechercher des traces comportant des annotations avec des valeurs spécifiques, utilisez le annotations.key mot-clé dans une expression de filtre. Pour plus d’informations, consultez Utiliser des expressions de filtre.

Enregistrement de métadonnées avec le SDK X-Ray pour .NET

Utilisez les métadonnées pour enregistrer des informations sur des segments ou des sous-segments que vous n'avez pas besoin d'indexer pour les utiliser dans le cadre d'une recherche. Les valeurs de métadonnées peuvent être des chaînes, des nombres, des booléens ou tout autre objet pouvant être sérialisé dans un objet ou un tableau JSON.

Pour enregistrer les métadonnées
  1. Obtenez une instance deAWSXRayRecorder, comme indiqué dans l'exemple de code suivant :

    using Amazon.XRay.Recorder.Core; ... AWSXRayRecorder recorder = AWSXRayRecorder.Instance;
  2. Appelez AddMetadata avec un espace de noms de chaîne, une clé de chaîne et une valeur d'objet, comme indiqué dans l'exemple de code suivant :

    recorder.AddMetadata("my namespace", "my key", "my value");

    Vous pouvez également appeler l'AddMetadataopération en utilisant simplement une paire clé/valeur, comme illustré dans l'exemple de code suivant :

    recorder.AddMetadata("my key", "my value");

Si vous ne spécifiez aucune valeur pour l'espace de noms, le SDK X-Ray l'utilise. default Le fait d'appeler l'AddMetadataopération deux fois avec la même clé remplace une valeur précédemment enregistrée sur le même segment ou sous-segment.