Aggiungere attributi personalizzati - Amazon CloudWatch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiungere attributi personalizzati

CloudWatch Application Signals lo utilizza OpenTelemetry per strumentare automaticamente le tue applicazioni e raccogliere interruzioni da librerie popolari in diverse lingue, ad esempio, e altro Java ancoraPython.

La strumentazione automatica acquisisce informazioni, come le interrogazioni del database, le richieste HTTP, gli accessi alla cache e le chiamate di servizio esterne, che consentono di risolvere i problemi di prestazioni delle applicazioni.

È possibile aggiungere strumentazione personalizzata per arricchire gli intervalli con dati specifici dell'azienda o altre informazioni che si desidera acquisire. Questi dati possono essere registrati come attributo personalizzato o come evento esteso, fornendo informazioni personalizzate in base alle esigenze di risoluzione dei problemi.

Nota

Per informazioni sull'aggiunta di attributi personalizzati o eventi span in una lingua diversa, consulta Language APIs and SDKS nel sito Web. OpenTelemetry

Attributi personalizzati

Puoi aggiungere attributi relativi all'attività commerciale o qualsiasi altro attributo ai tuoi span in tutte le lingue supportate. OpenTelemetry Di seguito è riportato un frammento di Java codice che aggiunge un ID dell'ordine e i dettagli del cliente a uno span.

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

Dopo che questi attributi sono stati aggiunti allo span, diventano disponibili per la ricerca e l'analisi nell'editor visivo di Transaction Search.

Eventi Span

Un evento span viene in genere utilizzato per indicare un punto temporale singolare e significativo durante una durata di un intervallo. Le eccezioni vengono acquisite automaticamente come eventi di portata tramite la strumentazione automatica, ma puoi anche aggiungere eventi aziendali personalizzati, come lo stato del pagamento o l'abbandono del carrello. Per ulteriori informazioniOpenTelemetry, consulta Span events sul sito Web.

Puoi incorporare gli eventi span nei tuoi span in tutte le lingue supportate da CloudWatch Application Signals. OpenTelemetry Di seguito è riportato un frammento di Java codice relativo all'aggiunta di un evento personalizzato a uno 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"); } }

Prerequisiti per l'agente CloudWatch

Quando si utilizza l' CloudWatch agente per emettere eventi span su X-Ray, è necessario attivare il `transit_spans_in_otlp_format` flag nella configurazione.

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

Dopo aver aggiunto questi eventi, diventano disponibili nell'editor visivo di Transaction Search.

CloudWatch Registra le interrogazioni

Puoi interrogare gli eventi span in CloudWatch Logs per visualizzare approfondimenti avanzati. I seguenti comandi di query di esempio mostrano come analizzare le eccezioni generate dall'applicazione:

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`