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 benutzerdefinierter Attribute
CloudWatch Application Signals verwendetOpenTelemetry, um Ihre Anwendungen automatisch zu instrumentieren und Spans aus gängigen Bibliotheken in verschiedenen Sprachen wie JavaPython, und mehr zu sammeln.
Die automatische Instrumentierung erfasst Informationen wie Datenbankabfragen, HTTP-Anforderungen, Cache-Zugriffe und externe Serviceaufrufe, sodass Sie Probleme mit der Anwendungsleistung beheben können.
Sie können benutzerdefinierte Instrumentierung hinzufügen, um Spans mit geschäftsspezifischen Daten oder anderen Informationen, die Sie erfassen möchten, anzureichern. Diese Daten können als benutzerdefiniertes Attribut oder als Span-Ereignis aufgezeichnet werden und bieten so Einblicke, die auf Ihre Bedürfnisse bei der Fehlerbehebung zugeschnitten sind.
Anmerkung
Informationen zum Hinzufügen von benutzerdefinierten Attributen oder Span-Ereignissen in einer anderen Sprache finden Sie auf der Website unter Sprache APIs und SDKS
Benutzerdefinierte Attribute
Sie können Ihren Spans geschäftsbezogene Attribute oder andere Attribute in allen von OpenTelemetry unterstützten Sprachen hinzufügen. Im Folgenden finden Sie einen Java-Codeausschnitt, der einem Span eine Bestellnummer und Kundendetails hinzufügt.
import io.opentelemetry.api.trace.Span; public class OrderProcessor { public void processOrder() { Span span = Span.current(); span.setAttribute("order.id", "123456"); span.setAttribute("customer.name", "John Doe"); span.setAttribute("customer.id", "4343dfdd"); // Your order processing logic here System.out.println("Order processed with custom attributes"); } }
Nachdem diese Attribute dem Bereich hinzugefügt wurden, können sie im visuellen Editor für die Transaktionssuche gesucht und analysiert werden.
Span-Ereignisse
Ein Span-Ereignis wird in der Regel verwendet, um einen aussagekräftigen, singulären Zeitpunkt während einer Span-Dauer zu benennen. Ausnahmen werden durch automatische Instrumentierung automatisch als Span-Ereignisse erfasst. Sie können jedoch auch benutzerdefinierte Geschäftsereignisse hinzufügen, z. B. den Zahlungsstatus oder den Abbruch eines Einkaufswagens. Weitere Informationen finden Sie unter Span-Ereignisse
Sie können Span-Ereignisse in alle Sprachen von CloudWatch Application Signals und OpenTelemetry Support in Ihre Spans einbetten. Im Folgenden finden Sie einen Java-Codeausschnitt zum Hinzufügen eines benutzerdefinierten Ereignisses zu einem Span.
import io.opentelemetry.api.trace.Span; public class OrderProcessor { public void bookOrder() { Span span = Span.current(); // Add a booking started event span.addEvent("booking started"); // Add a payment succeeded event or failed event span.addEvent("booking failed"); } }
Voraussetzungen für den Agenten CloudWatch
Wenn Sie den CloudWatch Agenten verwenden, um Span-Ereignisse an X-Ray auszusenden, müssen Sie das `transit_spans_in_otlp_format` Flag in Ihrer Konfiguration aktivieren.
{ "traces": { ... "transit_spans_in_otlp_format": true ... } }
Nachdem Sie diese Ereignisse hinzugefügt haben, werden sie im visuellen Editor der Transaktionssuche verfügbar.
CloudWatch Protokolliert Abfragen
Sie können Span-Ereignisse in CloudWatch Logs abfragen, um erweiterte Einblicke zu erhalten. Die folgenden Beispiel-Abfragebefehle zeigen, wie Sie Ausnahmen analysieren, die von Ihrer Anwendung ausgelöst wurden:
fields jsonparse(@message) as js | unnest js.events into event | filter event.name = "exception" | display event.attributes.`exception.stacktrace`
fields jsonparse(@message) as js | unnest js.events into event | filter event.name = "exception" | stats count() by event.attributes.`exception.type`