Hinzufügen von Anmerkungen und Metadaten zu Segmenten mit dem X-Ray-SDK for Node.js - AWS X-Ray

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.

Hinzufügen von Anmerkungen und Metadaten zu Segmenten mit dem X-Ray-SDK for Node.js

Sie können den Anmerkungen und Metadaten zusätzliche Informationen zu Anforderungen hinzufügen. Sie können den von X-Ray-SDK erstellten Segmenten Anmerkungen und Metadaten oder benutzerdefinierten Untersegmenten Anmerkungen und Metadaten hinzufügen.

Annotationensind Schlüsselwertpaare mit Zeichenfolge, Zahl oder booleschen Werten. Anmerkungen werden für die Verwendung mitFilterausdrückeaus. Berücksichtigen Sie Anmerkungen, um Daten zur Gruppierung von Ablaufverfolgungen in der Konsole zu verwenden, oder wenn Sie die GetTraceSummaries-API aufrufen.

Metadatasind Schlüsselwertpaare, die Werte aller Art enthalten können, einschließlich Objekte und Listen, aber nicht für die Verwendung mit Filterausdrücken. Verwenden Sie Metadaten zum Aufzeichnen zusätzlicher Daten, die im Ablaufverfolgung gespeichert werden sollen, aber nicht mit der Suche erforderlich sind.

Zusätzlich zu Anmerkungen und Metadaten können Sie auch Benutzer-ID-Zeichenfolgen in Segmenten aufzeichnen. Benutzer-IDs werden in einem eigenen Feld aufgezeichnet und zur Suche indiziert.

Aufzeichnen von Anmerkungen mit dem X-Ray-SDK for Node.js

Verwenden Sie Anmerkungen, um Informationen zu Segmenten oder Untersegmenten, die zur Suche indiziert werden sollten, aufzuzeichnen.

Anmerkung zu Anforderungen

  • Schlüssel- Bis zu 500 alphanumerische Zeichen. Keine Leerzeichen oder Symbole außer Unterstrichen.

  • Werte- Bis zu 1.000 Unicode-Zeichen.

  • Einträge— Bis zu 50 Anmerkungen pro Ablaufverfolgung.

So zeichnen Sie Anmerkungen auf

  1. Erhalten Sie eine Referenz zum aktuellen Segment oder Untersegment.

    var AWSXRay = require('aws-xray-sdk'); ... var document = AWSXRay.getSegment();
  2. Rufen Sie addAnnotation mit einem Aktivierungsschlüssel und einem booleschen Wert oder einem Zeichenfolgenwert auf.

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

Das SDK zeichnet Anmerkungen als Schlüssel-Wert-Paare in einem annotations-Objekt im Segmentdokument auf. Wenn addAnnotation zweimal mit demselben Schlüssel aufgerufen wird, werden zuvor aufgezeichnete Werte im gleichen Segment oder Untersegment überschrieben.

Nutzen Sie das annotations.key-Schlüsselwort in einem Filterausdruck, um Ablaufverfolgungen durch Anmerkungen mit bestimmten Werten zu finden.

Beispiel app.js – Anmerkungen

var AWS = require('aws-sdk'); var AWSXRay = require('aws-xray-sdk'); var ddb = AWSXRay.captureAWSClient(new AWS.DynamoDB()); ... app.post('/signup', function(req, res) { var item = { 'email': {'S': req.body.email}, 'name': {'S': req.body.name}, 'preview': {'S': req.body.previewAccess}, 'theme': {'S': req.body.theme} }; var seg = AWSXRay.getSegment(); seg.addAnnotation('theme', req.body.theme); ddb.putItem({ 'TableName': ddbTable, 'Item': item, 'Expected': { email: { Exists: false } } }, function(err, data) { ...

Aufzeichnen von Metadaten mit dem X-Ray-SDK für Node.js

Verwenden Sie Metadaten, um Segment- oder Untersegmentinformationen aufzuzeichnen, die nicht zur Suche indiziert werden müssen. Metadatenwerte sind Zeichenfolgen, Zahlen, boolesche Werte oder andere Objekte, die in Form eines JSON-Objekts oder eines Arrays angeordnet sein können.

So zeichnen Sie Metadaten auf

  1. Erhalten Sie eine Referenz zum aktuellen Segment oder Untersegment.

    var AWSXRay = require('aws-xray-sdk'); ... var document = AWSXRay.getSegment();
  2. Rufen Sie addMetadata mit einem Zeichenfolgenschlüssel, einem booleschen Wert, einer Zeichenfolge oder einem Objektwert und einem Zeichenfolgen-Namespace auf.

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

    oder

    Rufen Sie addMetadata nur mit einem Aktivierungsschlüssel und einem Wert auf.

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

Wenn Sie keinen Namespace angeben, verwendet SDK default. Wenn addMetadata zweimal mit demselben Schlüssel aufgerufen wird, werden zuvor aufgezeichnete Werte im gleichen Segment oder Untersegment überschrieben.

Aufzeichnen von Benutzer-IDs mit dem X-Ray-SDK for Node.js

Zeichnen Sie Benutzer-IDs in Anforderungssegmenten auf, um den Benutzer zu identifizieren, der die Anforderung gesendet hat. Dieser Vorgang ist nicht kompatibel mitAWS Lambda-Funktionen, weil Segmente in Lambda-Umgebungen unveränderlich sind. Der setUser-Aufruf kann nur auf Segmente angewendet werden, nicht auf Untersegmente.

So zeichnen Sie Benutzer-IDs auf

  1. Erhalten Sie eine Referenz zum aktuellen Segment oder Untersegment.

    var AWSXRay = require('aws-xray-sdk'); ... var document = AWSXRay.getSegment();
  2. Rufen Sie setUser() mit einer Zeichenfolgen-ID des Benutzers auf, der die Anforderung gesendet hat.

    var user = 'john123'; AWSXRay.getSegment().setUser(user);

Sie können setUser aufrufen, um die Benutzer-ID aufzuzeichnen, sobald die Express-Anwendung mit der Verarbeitung einer Anfrage beginnt. Wenn Sie das Segment nur zur Einrichtung der Benutzer-ID verwenden, können Sie die Aufrufe in einer einzelnen Zeile anordnen.

Beispiel app.js – Benutzer-ID

var AWS = require('aws-sdk'); var AWSXRay = require('aws-xray-sdk'); var uuidv4 = require('uuid/v4'); var ddb = AWSXRay.captureAWSClient(new AWS.DynamoDB()); ... app.post('/signup', function(req, res) { var userId = uuidv4(); var item = { 'userId': {'S': userId}, 'email': {'S': req.body.email}, 'name': {'S': req.body.name} }; var seg = AWSXRay.getSegment().setUser(userId); ddb.putItem({ 'TableName': ddbTable, 'Item': item, 'Expected': { email: { Exists: false } } }, function(err, data) { ...

Nutzen Sie das user-Schlüsselwort in einem Filterausdruck, um Ablaufverfolgungen einer Benutzer-ID zu finden.