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 benutzerdefinierten Attributen
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-Anfragen, Cache-Zugriffe und externe Serviceanfragen, sodass Sie Probleme mit der Anwendungsleistung beheben können.
Sie können benutzerdefinierte Instrumentierung hinzufügen, um Bereiche mit geschäftsspezifischen Daten oder anderen Informationen, die Sie erfassen möchten, anzureichern. Diese Daten können als benutzerdefiniertes Attribut oder als Bereichsereignis 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 OpenTelemetry Website unter Sprache APIs und SDKS
Custom attributes (Benutzerdefinierte Attribute)
Sie können Ihren Spans geschäftsbezogene Attribute oder andere Attribute in allen unterstützten Sprachen OpenTelemetry hinzufügen. Im Folgenden finden Sie einen Java Codeausschnitt, der einer Spanne 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 Zeitspanne zu bezeichnen. Ausnahmen werden durch automatische Instrumentierung automatisch als Bereichsereignisse erfasst. Sie können jedoch auch benutzerdefinierte Geschäftsereignisse hinzufügen, z. B. den Zahlungsstatus oder den Abbruch eines Einkaufswagens. Weitere Informationen finden Sie auf der Website unter Spannungsereignisse.
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 einer Spanne.
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 zu senden, 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 von Transaction Search 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`