Wird verwendet AWS X-Ray , um Anfragen zu verfolgen in AWS AppSync - AWS AppSync GraphQL

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wird verwendet AWS X-Ray , um Anfragen zu verfolgen in AWS AppSync

Sie können AWS X-Raydamit Anfragen verfolgen, während sie in AWS AppSync ausgeführt werden. Sie können X-Ray AWS AppSync in allen AWS Regionen verwenden, in denen X-Ray verfügbar ist. X-Ray gibt Ihnen einen detaillierten Überblick über eine gesamte GraphQL-Anfrage. Auf diese Weise können Sie Latenzen in Ihren APIs und den ihnen zugrunde liegenden Resolvern und Datenquellen analysieren. Sie können eine X-Ray-Servicekarte verwenden, um die Latenz einer Anfrage anzuzeigen, einschließlich aller AWS Dienste, die in X-Ray integriert sind. Sie können auch Sampling-Regeln konfigurieren, um X-Ray gemäß den von Ihnen angegebenen Kriterien mitzuteilen, welche Anfragen aufgezeichnet werden sollen und mit welchen Abtastraten.

Weitere Informationen zur Probennahme in X-Ray finden Sie unter Konfiguration von Sampling-Regeln in der AWS X-Ray Konsole.

Einrichtung und Konfiguration

Sie können X-Ray-Tracing für eine GraphQL-API über die AWS AppSync Konsole aktivieren.

  1. Melden Sie sich bei der Konsole an AWS AppSync .

  2. Wählen Sie im Navigationsbereich die Option Settings (Einstellungen) aus.

  3. Aktivieren Sie unter X-Ray die Option Enable X-Ray (X-Ray aktivieren).

  4. Wählen Sie Save (Speichern) aus. X-Ray-Tracing ist jetzt für Ihre API aktiviert.

Wenn Sie das AWS CLI oder verwenden AWS CloudFormation, können Sie das X-Ray-Tracing auch aktivieren, wenn Sie eine neue AWS AppSync API erstellen oder eine bestehende AWS AppSync API aktualisieren, indem Sie die xrayEnabled Eigenschaft auf true setzen.

Wenn X-Ray Tracing für eine AWS AppSync API aktiviert ist, wird in Ihrem Konto automatisch eine AWS Identity and Access Management serviceverknüpfte Rolle mit den entsprechenden Berechtigungen erstellt. Dies ermöglicht es AWS AppSync , Spuren auf sichere Weise an X-Ray zu senden.

Verfolgen Sie Ihre API mit X-Ray

Sampling

Mithilfe von Samplingregeln können Sie die Menge der von Ihnen in AWS AppSync aufgezeichneten Daten steuern und das Samplingverhalten bei laufendem Betrieb ändern, ohne Ihren Code ändern oder neu implementieren zu müssen. Diese Regel führt beispielsweise ein Sampling von Anforderungen an die GraphQL-API mit der API-ID 3n572shhcpfokwhdnq1ogu59v6 durch.

  • Regelnametest-sample

  • Priorität10

  • Reservoirgröße10

  • Bestimmtes Zeitintervall10

  • Service-Name*

  • ServicetypAWS::AppSync::GraphQLAPI

  • HTTP-Methode*

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

  • Host*

Grundlegendes zu Ablaufverfolgungen

Wenn Sie X-Ray Tracing für Ihre GraphQL-API aktivieren, können Sie die X-Ray-Trace-Detailseite verwenden, um detaillierte Latenzinformationen zu Anfragen an Ihre API zu überprüfen. Das folgende Beispiel zeigt die Ablaufverfolgungsansicht zusammen mit der Servicezuordnung für diese spezielle Anforderung. Die Anfrage wurde an eine API gestellt, die postAPI mit einem Post-Typ aufgerufen wurde und deren Daten in einer Amazon DynamoDB-Tabelle namens enthalten sind. PostTable-Example

Das folgende Ablaufverfolgungsbild entspricht der folgenden GraphQL-Abfrage:

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

Der Resolver für die getPost Abfrage verwendet die zugrunde liegende DynamoDB-Datenquelle. Die folgende Trace-Ansicht zeigt den Aufruf von DynamoDB sowie die Latenzen verschiedener Teile der Abfrageausführung:

Trace view showing client request, postAPI, and DynamoDB with durations and request details.
  • Im vorhergehenden Bild repräsentiert /getPost den vollständigen Pfad zu dem Element, das aufgelöst wird. Da es sich in diesem Fall bei getPost um ein Feld für den Stammtyp Query handelt, wird es direkt nach dem Stamm des Pfades angezeigt.

  • requestMappingTemplateEvaluation repräsentiert die Zeit, die von AWS AppSync für die Auswertung der Anforderungszuweisungsvorlage für dieses Element in der Abfrage aufgewendet wurde.

  • Query.getPost repräsentiert einen Typ und ein Feld (im Format Type.field). Es kann mehrere Untersegmente enthalten, abhängig von der Struktur der API und der Anforderung, die verfolgt wird.

    • DynamoDB repräsentiert die Datenquelle, die mit diesem Resolver verknüpft ist. Es enthält die Latenz für den Netzwerkaufruf an DynamoDB zur Auflösung des Felds.

    • responseMappingTemplateEvaluation repräsentiert die Zeit, die von AWS AppSync für die Auswertung der Antwortzuweisungsvorlage für dieses Element in der Abfrage aufgewendet wurde.

Wenn Sie Traces in X-Ray anzeigen, können Sie zusätzliche Kontext- und Metadateninformationen zu den Untersegmenten im AWS AppSync Segment abrufen, indem Sie die Untersegmente auswählen und die Detailansicht erkunden.

Beachten Sie bei bestimmten tief verschachtelten oder komplexen Abfragen, dass das von an X-Ray gelieferte Segment größer sein AWS AppSync kann als die maximale Größe, die für Segmentdokumente zulässig ist, wie in AWS X-Ray Segmentdokumente definiert. X-Ray zeigt keine Segmente an, die den Grenzwert überschreiten.