Utilisation AWS X-Ray pour suivre les demandes dans AWS AppSync - AWS AppSync

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.

Utilisation AWS X-Ray pour suivre les demandes dans AWS AppSync

Vous pouvez l'utiliser AWS X-Raypour suivre les demandes au fur et à mesure de leur exécution AWS AppSync. Vous pouvez utiliser X-Ray AWS AppSync dans toutes les AWS régions où X-Ray est disponible. X-Ray vous donne un aperçu détaillé de l'intégralité d'une requête GraphQL. Cela vous permet d'analyser les latences de vos résolveurs APIs et sources de données sous-jacents et de leurs sources de données. Vous pouvez utiliser une carte des services X-Ray pour visualiser la latence d'une demande, y compris les AWS services intégrés à X-Ray. Vous pouvez également configurer des règles d'échantillonnage pour indiquer à X-Ray quelles demandes enregistrer et à quelles fréquences d'échantillonnage, selon les critères que vous spécifiez.

Pour plus d'informations sur l'échantillonnage dans X-Ray, consultez Configuration des règles d'échantillonnage dans la AWS X-Ray console.

Installation et configuration

Vous pouvez activer le traçage X-Ray pour un GraphQL API via la AWS AppSync console.

  1. Connectez-vous à la AWS AppSync console.

  2. Choisissez Paramètres dans le volet de navigation.

  3. Sous X-Ray, activez Enable X-Ray (Activer X-Ray).

  4. Choisissez Save (Enregistrer). Le traçage par rayons X est désormais activé pour votreAPI.

Si vous utilisez le AWS CLI ou AWS CloudFormation, vous pouvez également activer le traçage X-Ray lorsque vous en créez un nouveau AWS AppSync API ou que vous mettez à jour un existant AWS AppSync API en définissant la xrayEnabled propriété surtrue.

Lorsque le suivi X-Ray est activé pour un AWS AppSync API, un rôle AWS Identity and Access Management lié à un service est automatiquement créé dans votre compte avec les autorisations appropriées. Cela permet AWS AppSync d'envoyer des traces à X-Ray de manière sécurisée.

Tracer votre trace API avec X-Ray

Echantillonnage

En utilisant des règles d'échantillonnage, vous pouvez contrôler la quantité de données que vous enregistrez et pouvez modifier le comportement d'échantillonnage à la volée sans modifier ni redéployer votre code. AWS AppSync Par exemple, cette règle échantillonne les requêtes adressées au GraphQL API avec l'APIID. 3n572shhcpfokwhdnq1ogu59v6

  • Rule name (Nom de règle) : test-sample

  • Priority (Priorité) : 10

  • Reservoir size (Taille du réservoir) : 10

  • Fixed rate (Fréquence fixe) : 10

  • Service name (Nom du service) : *

  • Service type (Type de service) : AWS::AppSync::GraphQLAPI

  • HTTPméthode*

  • Ressource ARNarn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6

  • Host (Hôte)  *

Présentation des suivis

Lorsque vous activez le suivi X-Ray pour votre GraphQLAPI, vous pouvez utiliser la page détaillée du suivi X-Ray pour examiner les informations de latence détaillées relatives aux requêtes adressées à votre. API L'exemple suivant montre la vue du suivi ainsi que la carte des services pour cette demande spécifique. La demande a été envoyée à un API appelé postAPI de type Post, dont les données sont contenues dans une table Amazon DynamoDB appelée. PostTable-Example

L'image de suivi suivante correspond à la requête GraphQL suivante :

query getPost { getPost(id: "1") { id title } }

Le résolveur de la getPost requête utilise la source de données DynamoDB sous-jacente. La vue de trace suivante montre l'appel à DynamoDB, ainsi que les latences des différentes parties de l'exécution de la requête :

Trace view showing client request, postAPI, and DynamoDB with durations and request details.
  • Dans l'image précédente, /getPost représente le chemin d'accès complet à l'élément en cours de résolution. Dans ce cas, getPost étant un champ sur le type Query racine, il apparaît directement après la racine du chemin d’accès.

  • requestMappingTemplateEvaluationreprésente le temps passé à AWS AppSync évaluer le modèle de mappage des demandes pour cet élément de la requête.

  • Query.getPost représente un type et un champ (au format Type.field). Il peut contenir plusieurs sous-segments, en fonction de la structure de la demande API et de la requête tracée.

    • DynamoDB représente la source de données attachée à ce résolveur. Il contient la latence de l'appel réseau à DynamoDB pour résoudre le champ.

    • responseMappingTemplateEvaluationreprésente le temps passé à AWS AppSync évaluer le modèle de mappage des réponses pour cet élément de la requête.

Lorsque vous visualisez des traces dans X-Ray, vous pouvez obtenir des informations contextuelles et de métadonnées supplémentaires sur les sous-segments du AWS AppSync segment en choisissant les sous-segments et en explorant la vue détaillée.

Pour certaines requêtes profondément imbriquées ou complexes, notez que le segment envoyé à X-Ray par AWS AppSync peut être plus grand que la taille maximale autorisée pour les documents de segment, telle que définie dans AWS X-Ray Segment Documents. X-Ray n'affiche pas les segments qui dépassent la limite.