Ajoutez des annotations et des métadonnées aux segments avec le X-Ray SDK pour Python - 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 X-Ray SDK pour Python

Vous pouvez enregistrer des informations supplémentaires sur les demandes, l'environnement ou votre application à l'aide d'annotations et de métadonnées. Vous pouvez ajouter des annotations et des métadonnées aux segments SDK créés par le 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 des annotations pour enregistrer les données que vous souhaitez utiliser pour regrouper les traces dans la console ou lorsque vous appelez le GetTraceSummariesAPI.

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.

En plus des annotations et des métadonnées, vous pouvez également enregistrer les chaînes d'ID utilisateur sur des segments. IDsLes utilisateurs sont enregistrés dans un champ distinct sur les segments et sont indexés pour être utilisés dans le cadre de la recherche.

Enregistrer des annotations avec le X-Ray SDK pour Python

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

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 qu'un point ou un point (.)

  • 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 les annotations
  1. Obtenez une référence au segment ou sous-segment en cours à partir d'xray_recorder.

    from aws_xray_sdk.core import xray_recorder ... document = xray_recorder.current_segment()

    or

    from aws_xray_sdk.core import xray_recorder ... document = xray_recorder.current_subsegment()
  2. Appelez put_annotation avec une clé de type chaîne et une valeur de type booléen, numérique ou chaîne.

    document.put_annotation("mykey", "my value");

    L'exemple suivant montre comment appeler putAnnotation avec une clé String qui inclut un point et une valeur booléenne, numérique ou chaîne.

    document.putAnnotation("testkey.test", "my value");

Vous pouvez également utiliser la méthode put_annotation sur le xray_recorder. Cette méthode enregistre les annotations sur le sous-segment actuel ou, si aucun sous-segment n'est ouvert, sur le segment.

xray_recorder.put_annotation("mykey", "my value");

SDKEnregistre les annotations sous forme de paires clé-valeur dans un annotations objet du document segmenté. Si vous appelez deux fois put_annotation avec la même clé, les valeurs précédemment enregistrées sur le même segment ou sous-segment sont remplacées.

Pour rechercher les suivis ayant des annotations avec des valeurs spécifiques, utilisez le mot clé annotation[key] dans une expression de filtre.

Enregistrer des métadonnées avec X-Ray SDK pour Python

Utilisez les métadonnées pour enregistrer des informations sur les segments ou sous-segments qui n'ont pas besoin d'être indexés pour la 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 JSON objet ou un tableau.

Pour enregistrer les métadonnées
  1. Obtenez une référence au segment ou sous-segment en cours à partir d'xray_recorder.

    from aws_xray_sdk.core import xray_recorder ... document = xray_recorder.current_segment()

    or

    from aws_xray_sdk.core import xray_recorder ... document = xray_recorder.current_subsegment()
  2. Appelez put_metadata avec une clé de type chaîne, une valeur de type booléen, numérique, chaîne ou objet et un espace de noms de type chaîne.

    document.put_metadata("my key", "my value", "my namespace");

    or

    Appelez put_metadata avec seulement une clé et une valeur.

    document.put_metadata("my key", "my value");

Vous pouvez également utiliser la méthode put_metadata sur le xray_recorder. Cette méthode enregistre les métadonnées sur le sous-segment actuel ou, si aucun sous-segment n'est ouvert, sur le segment.

xray_recorder.put_metadata("my key", "my value");

Si vous ne spécifiez pas d'espace de noms, les SDK utilisationsdefault. Si vous appelez deux fois put_metadata avec la même clé, les valeurs précédemment enregistrées sur le même segment ou sous-segment sont remplacées.

Utilisateur enregistrant IDs avec X-Ray SDK pour Python

Enregistrez les segments utilisateur IDs sur demande pour identifier l'utilisateur qui a envoyé la demande.

Pour enregistrer un utilisateur IDs
  1. Obtenez une référence au segment en cours à partir d'xray_recorder.

    from aws_xray_sdk.core import xray_recorder ... document = xray_recorder.current_segment()
  2. Appelez setUser avec l'ID de type chaîne de l'utilisateur ayant envoyé la demande.

    document.set_user("U12345");

Vous pouvez appeler set_user dans vos contrôleurs pour enregistrer l'ID utilisateur dès que votre application commence le traitement d'une demande.

Pour rechercher les suivis d'un ID utilisateur, utilisez le mot clé user dans une expression de filtre.