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à.
Aggiunta degli attributi personalizzati
CloudWatch Application Signals lo utilizza OpenTelemetry per strumentare automaticamente le tue applicazioni e raccogliere interruzioni da librerie popolari in diverse lingue JavaPython, ad esempio e altro ancora.
L'instrumentazione automatica acquisisce informazioni, come le query del database, le richieste HTTP, gli accessi alla cache e le chiamate ai servizi esterni, consentendo di risolvere i problemi di prestazioni delle applicazioni.
Puoi aggiungere un'instrumentazione personalizzata per arricchire gli span con dati specifici dell'azienda o altre informazioni che desideri acquisire. Questi dati possono essere registrati come attributo personalizzato o come evento di intervallo, fornendo approfondimenti personalizzati 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
Attributi personalizzati
Puoi aggiungere attributi relativi all'azienda o qualsiasi altro attributo ai tuoi intervalli in tutti i linguaggi supportati da OpenTelemetry. Di seguito è riportato un frammento di codice Java che aggiunge un ID dell'ordine e i dettagli del cliente a un intervallo.
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 all'intervallo, diventano disponibili per la ricerca e l'analisi nell'editor visivo di Transaction Search.
Eventi di intervallo
Un evento di intervallo 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 span tramite l'instrumentazione automatica, ma puoi anche aggiungere eventi di business personalizzati, come lo stato del pagamento o l'abbandono del carrello. Per ulteriori informazioni, consulta Span events
Puoi incorporare gli eventi span nei tuoi span in tutte le lingue CloudWatch in cui Application Signals e supporta. OpenTelemetry Di seguito è riportato un frammento di codice Java relativo all'aggiunta di un evento personalizzato a un intervallo.
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`