Ajout d’attributs personnalisés - Amazon CloudWatch

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.

Ajout d’attributs personnalisés

CloudWatch Application Signals permet d'OpenTelemetryinstrumenter automatiquement vos applications et de collecter des étendues à partir de bibliothèques populaires dans différentes langues, telles que JavaPython, et plus encore.

L’instrumentation automatique capture des informations telles que les requêtes de base de données, les requêtes HTTP, les accès au cache et les appels de services externes, ce qui vous permet de résoudre les problèmes de performances des applications.

Vous pouvez ajouter une instrumentation personnalisée pour enrichir les portées avec des données spécifiques à votre activité ou d’autres informations que vous souhaitez capturer. Ces données peuvent être enregistrées sous forme d’attribut personnalisé ou d’événement de portée, fournissant ainsi des informations adaptées à vos besoins en matière de dépannage.

Note

Pour plus d'informations sur l'ajout d'attributs personnalisés ou d'événements d'intervalle dans une autre langue, consultez la section Langue APIs et SDK OpenTelemetry sur le site Web.

Attributs personnalisés

Vous pouvez ajouter des attributs liés à l’activité ou tout autre attribut à vos portées dans tous les langages pris en charge par OpenTelemetry. Voici un extrait de code Java qui ajoute un identifiant de commande et les détails du client à une portée.

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"); } }

Une fois ces attributs ajoutés à la portée, ils peuvent être recherchés et analysés dans l’éditeur visuel de recherche de transactions.

Événements de portée

Un événement de portée est généralement utilisé pour désigner un moment significatif et unique au cours d’une durée de portée. Les exceptions sont automatiquement capturées en tant qu’événements de portée grâce à l’instrumentation automatique, mais vous pouvez également ajouter des événements métier personnalisés, tels que le statut de paiement ou l’abandon du panier. Pour plus d’informations, consultez Événements de portée sur le site Web OpenTelemetry.

Vous pouvez intégrer des événements d'intervalle à vos spans dans tous les langages d' CloudWatch application et OpenTelemetry de support. Voici un extrait de code Java permettant d’ajouter un événement personnalisé à une portée.

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"); } }

Conditions préalables pour l'agent CloudWatch

Lorsque vous utilisez l' CloudWatch agent pour émettre des événements span vers X-Ray, vous devez activer l'`transit_spans_in_otlp_format`indicateur dans votre configuration.

{ "traces": { ... "transit_spans_in_otlp_format": true ... } }

Une fois ces événements ajoutés, ils deviennent disponibles dans l’éditeur visuel de recherche de transactions.

CloudWatch Journalise les requêtes

Vous pouvez interroger les événements span dans CloudWatch Logs pour obtenir des informations avancées. Les exemples de commandes de requête suivants montrent comment analyser les exceptions générées par votre application :

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`