

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à.

# Scelta di un'interfaccia
<a name="aws-xray-interface"></a>

AWS X-Ray può fornire informazioni sul funzionamento dell'applicazione e sulla sua interazione con altri servizi e risorse. Dopo aver strumentato o configurato l'applicazione, X-Ray raccoglie i dati di traccia man mano che l'applicazione soddisfa le richieste. È possibile analizzare questi dati di traccia per identificare problemi di prestazioni, risolvere errori e ottimizzare le risorse. Questa guida mostra come interagire con X-Ray seguendo le seguenti linee guida:
+ Utilizza un Console di gestione AWS se desideri iniziare rapidamente oppure puoi utilizzare visualizzazioni predefinite per eseguire attività di base.
  + Scegli la CloudWatch console Amazon per l'esperienza utente più aggiornata che include tutte le funzionalità della console X-Ray.
  + Usa la console X-Ray se desideri un'interfaccia più semplice o non vuoi cambiare il modo in cui interagisci con X-Ray.
+ Usa un SDK se hai bisogno di più funzionalità di tracciamento, monitoraggio o registrazione personalizzate di quelle che uno può fornire. Console di gestione AWS 
  + Scegli l'ADOTSDK se desideri un SDK indipendente dal fornitore basato sull'SDK open source OpenTelemetry con livelli aggiuntivi di sicurezza e ottimizzazione. AWS 
  + Scegli X-Ray SDK se desideri un SDK più semplice o non desideri aggiornare il codice dell'applicazione.
+ Utilizza le operazioni dell'API X-Ray se un SDK non supporta il linguaggio di programmazione dell'applicazione.

Il diagramma seguente consente di scegliere come interagire con X-Ray:

![\[X-Ray visualizza informazioni dettagliate sulle richieste delle applicazioni.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/xray-choose-interface.png)


**Topics**
+ [Usa un SDK](aws-xray-interface-sdk.md)
+ [Usa una console](aws-xray-interface-console.md)
+ [Usa l'API X-Ray](xray-api.md)

# Usa un SDK
<a name="aws-xray-interface-sdk"></a>

**Nota**  
Avviso di SDK/Daemon manutenzione a raggi X: il 25 febbraio 2026, X-Ray SDKs/Daemon entrerà in modalità di manutenzione, in cui AWS limiterà le versioni di AWS X-Ray SDK e Daemon per risolvere solo problemi di sicurezza. Per ulteriori informazioni sulla tempistica del supporto, consulta. [Cronologia di X-Ray SDK e Daemon Support](xray-sdk-daemon-timeline.md) Ti consigliamo di migrare a. OpenTelemetry Per ulteriori informazioni sulla migrazione a OpenTelemetry, vedere [Migrazione dalla strumentazione a raggi X](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html) alla strumentazione. OpenTelemetry 

Utilizza un SDK se desideri utilizzare un'interfaccia a riga di comando o hai bisogno di più funzionalità di tracciamento, monitoraggio o registrazione personalizzate rispetto a quelle disponibili in un. Console di gestione AWS Puoi anche usare un AWS SDK per sviluppare programmi che utilizzano X-Ray APIs. È possibile utilizzare l'SDK AWS Distro for OpenTelemetry (ADOT) o l'SDK X-Ray.

Se utilizzate un SDK, potete aggiungere personalizzazioni al flusso di lavoro sia quando strumentate l'applicazione sia quando configurate il raccoglitore o l'agente. Puoi utilizzare un SDK per eseguire le seguenti attività che non puoi eseguire utilizzando un: Console di gestione AWS
+ Pubblica metriche personalizzate: campiona metriche ad alta risoluzione fino a 1 secondo, usa più dimensioni per aggiungere informazioni su una metrica e aggrega i punti dati in un set di statistiche.
+ Personalizza il tuo raccoglitore: personalizza la configurazione per qualsiasi parte di un raccoglitore, inclusi ricevitore, processore, esportatore e connettore.
+ Personalizza la strumentazione: personalizza segmenti e sottosegmenti, aggiungi coppie chiave-valore personalizzate come attributi e crea metriche personalizzate.
+ Crea e aggiorna le regole di campionamento a livello di codice.

Usa l'ADOTSDK se desideri la flessibilità di utilizzare un OpenTelemetry SDK standardizzato con livelli aggiuntivi di sicurezza e ottimizzazione. AWS L'SDK AWS Distro for OpenTelemetry (ADOT) è un pacchetto indipendente dal fornitore che consente l'integrazione con i backend di altri fornitori e non di servizi senza dover ristrumentare il codice.AWS 

Usa X-Ray SDK se stai già utilizzando X-Ray SDK, esegui l'integrazione solo con i AWS backend e non vuoi cambiare il modo in cui interagisci con X-Ray o il codice dell'applicazione.

Per ulteriori informazioni su ciascuna funzionalità, consulta. [Scelta tra AWS Distro for OpenTelemetry e X-Ray SDKs](xray-instrumenting-your-app.md#xray-instrumenting-choosing)

## Usa l'ADOTSDK
<a name="aws-xray-interface-sdk-adot"></a>

L'ADOTSDK è un insieme di librerie e agenti open source APIs che inviano dati ai servizi di backend. ADOTè supportato da AWS, si integra con più backend e agenti e fornisce un gran numero di librerie open source gestite dalla community. OpenTelemetry Usa l'ADOTSDK per strumentare la tua applicazione e raccogliere log, metadati, metriche e tracce. Puoi anche usarlo ADOT per monitorare i servizi e impostare un allarme in base alle tue metriche. CloudWatch

Se utilizzi l'ADOTSDK, hai le seguenti opzioni, in combinazione con un agente:
+ Utilizza l'ADOTSDK con l'[CloudWatch agente (consigliato](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)).
+ Utilizza l'ADOTSDK con [ADOTCollector](https://aws-otel.github.io/docs/getting-started/collector), consigliato se desideri utilizzare un software indipendente dal fornitore con AWS livelli di sicurezza e ottimizzazione.

Per utilizzare l'ADOTSDK, procedi come segue:
+ Strumenta la tua applicazione utilizzando l'ADOTSDK. Per ulteriori informazioni, consultate la documentazione relativa al linguaggio di programmazione in uso nella documentazione [tecnica ADOT](https://aws-otel.github.io/docs/introduction).
+ Configura un ADOT raccoglitore per dirgli dove inviare i dati che raccoglie.

Dopo aver ricevuto i dati, il ADOT raccoglitore li invia al backend specificato nella configurazione. ADOT ADOTpuò inviare dati a più backend, anche a fornitori esterni AWS, come mostrato nel diagramma seguente:

![\[È possibile personalizzare ADOT Collector quando si strumenta l'applicazione e si configura il raccoglitore.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/adot-sdk.png)


AWS aggiornamenti regolari ADOT per aggiungere funzionalità e allinearsi al framework. [OpenTelemetry](https://opentelemetry.io/docs/) Gli aggiornamenti e i piani futuri di sviluppo ADOT fanno parte di una [tabella](https://github.com/orgs/aws-observability/projects/4) di marcia disponibile al pubblico. ADOTsupporta diversi linguaggi di programmazione, tra cui:
+ Go
+ Java
+ JavaScript
+ Python
+ .NET
+ Ruby
+ PHP

Se stai usando Python, ADOT puoi strumentare automaticamente la tua applicazione. Per iniziare a utilizzareADOT, consulta [Introduzione](https://aws-otel.github.io/docs/introduction) e [Guida introduttiva alla AWS distribuzione per OpenTelemetry ](https://aws-otel.github.io/docs/getting-started/collector) Collector.

## Usa l'SDK X-Ray
<a name="aws-xray-interface-sdk-xray"></a>

L'X-Ray SDK è un insieme di AWS APIs librerie che inviano dati ai AWS servizi di backend. Usa l'SDK X-Ray per strumentare la tua applicazione e raccogliere dati di tracciamento. Non è possibile utilizzare X-Ray SDK per raccogliere dati di log o metrici.

Se si utilizza l'SDK X-Ray, sono disponibili le seguenti opzioni, in combinazione con un agente:
+ Usa l'SDK X-Ray con[AWS X-Ray demone](xray-daemon.md): usalo se non desideri aggiornare il codice dell'applicazione.
+ Usa l'SDK X-Ray con l' CloudWatch agente: (consigliato) L' CloudWatch agente è compatibile con l'SDK X-Ray.

Per utilizzare X-Ray SDK, procedi come segue:
+ Strumenta la tua applicazione utilizzando l'SDK X-Ray.
+ Configura un raccoglitore per indicargli dove inviare i dati raccolti. È possibile utilizzare l' CloudWatch agente o il demone X-Ray per raccogliere le informazioni di tracciamento.

Dopo aver ricevuto i dati, il raccoglitore o l'agente li invia a un AWS backend specificato nella configurazione dell'agente. L'X-Ray SDK può inviare dati solo a un AWS backend, come mostrato nel diagramma seguente:

![\[Usa l'SDK X-Ray con l' CloudWatch agente o il demone X-Ray.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/xray-sdk.png)


Se si utilizzaJava, è possibile utilizzare l'X-Ray SDK per strumentare automaticamente l'applicazione. Per iniziare a utilizzare X-Ray SDK, consulta le librerie associate ai seguenti linguaggi di programmazione:
+ [Go](xray-go.md)
+ [Java](xray-java.md)
+ [Node.js](xray-nodejs.md)
+ [Python](xray-python.md)
+ [.NET](xray-dotnet.md)
+ [Ruby](xray-ruby.md)

# Usa una console
<a name="aws-xray-interface-console"></a>

Usa una console se desideri un'interfaccia utente grafica (GUI) che richieda una codifica minima. Gli utenti che non conoscono X-Ray possono iniziare rapidamente a utilizzare visualizzazioni predefinite ed eseguire attività di base. È possibile effettuare le seguenti operazioni direttamente dalla console:
+ Abilita X-Ray.
+ Visualizza riepiloghi di alto livello delle prestazioni della tua applicazione.
+ Controlla lo stato di salute delle tue applicazioni.
+ Identifica gli errori di alto livello.
+ Visualizza i riepiloghi di base delle tracce.

Puoi utilizzare la CloudWatch console Amazon [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)o la console X-Ray a [https://console.aws.amazon.com/xray/casa](https://console.aws.amazon.com/xray/home) per interagire con X-Ray.

## Usa la CloudWatch console Amazon
<a name="aws-xray-interface-console-cw"></a>

La CloudWatch console include nuove funzionalità X-Ray che sono state riprogettate dalla console X-Ray per renderla più facile da usare. Se si utilizza la CloudWatch console, è possibile visualizzare CloudWatch log e metriche insieme ai dati di tracciamento X-Ray. Utilizza la CloudWatch console per visualizzare e analizzare i dati, tra cui: 
+ Tracce a raggi X: visualizza, analizza e filtra le tracce associate all'applicazione mentre soddisfa una richiesta. Utilizzate queste tracce per trovare latenze elevate, eseguire il debug degli errori e ottimizzare il flusso di lavoro delle applicazioni. Visualizza una mappa di tracciamento e una mappa dei servizi per visualizzare le rappresentazioni visive del flusso di lavoro dell'applicazione.
+ Registri: visualizza, analizza e filtra i log prodotti dall'applicazione. Utilizza i log per risolvere gli errori e configurare il monitoraggio in base a valori di log specifici.
+ Metriche: misura e monitora le prestazioni delle applicazioni utilizzando le metriche emesse dalle tue risorse o crea metriche personalizzate. Visualizza queste metriche in grafici e diagrammi.
+ Monitoraggio delle reti e dell'infrastruttura: monitora le principali reti per rilevare eventuali interruzioni e lo stato e le prestazioni dell'infrastruttura, incluse applicazioni containerizzate, altri AWS servizi e client.
+ Tutte le funzionalità della console X-Ray elencate nella seguente sezione **Utilizzare la console X-Ray**.

Per ulteriori informazioni sulla CloudWatch console, consulta la sezione [Guida introduttiva ad Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/GettingStarted.html).

Accedi alla CloudWatch console Amazon all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

## Usa la console X-Ray
<a name="xray-console"></a>

La console X-Ray offre la tracciabilità distribuita per le richieste delle applicazioni. Usa la console X-Ray se desideri un'esperienza di console più semplice o non desideri aggiornare il codice dell'applicazione. AWS non sta più sviluppando la console X-Ray. La console X-Ray contiene le seguenti funzionalità per le applicazioni strumentate:
+ [Approfondimenti](xray-console-insights.md): rileva automaticamente le anomalie nelle prestazioni dell'applicazione e individua le cause sottostanti. **Gli approfondimenti sono inclusi nella CloudWatch console sotto Insights.** Per ulteriori informazioni, vedere **Use X-Ray Insights** in. [Usa la console X-Ray](#xray-console) 
+ Mappa dei servizi: visualizza una struttura grafica dell'applicazione e le sue connessioni con client, risorse, servizi e dipendenze.
+ Tracce: visualizza una panoramica delle tracce generate dall'applicazione mentre soddisfa una richiesta. Utilizza i dati di traccia per comprendere le prestazioni dell'applicazione rispetto a metriche di base, tra cui i tempi di HTTP risposta e risposta.
+ Analisi: interpreta, esplora e analizza i dati di traccia utilizzando grafici per la distribuzione dei tempi di risposta.
+ Configurazione: crea tracce personalizzate per modificare le configurazioni predefinite per quanto segue: 
  + Campionamento: crea una regola che definisca la frequenza con cui campionare l'applicazione per le informazioni di traccia. Per ulteriori informazioni, consulta **Configurare le regole di campionamento** in. [Usa la console X-Ray](#xray-console)
  + [Crittografia](xray-console-encryption.md): crittografa i dati inattivi utilizzando una chiave che puoi controllare o disabilitare. AWS Key Management Service
  + Gruppi: utilizza un'espressione di filtro per definire un gruppo di tracce con una caratteristica comune come il nome di un URL o un tempo di risposta. Per ulteriori informazioni, consulta [Configurare i gruppi](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html#xray-console-groups).

[Accedi alla console X-Ray da casahttps://console.aws.amazon.com/xray/.](https://console.aws.amazon.com/xray/home)

## Esplora la console X-Ray
<a name="xray-console-explore"></a>

Usa la console X-Ray per visualizzare una mappa dei servizi e delle tracce associate per le richieste servite dalle tue applicazioni e per configurare gruppi e regole di campionamento che influiscono sul modo in cui le tracce vengono inviate a X-Ray.

**Nota**  
La mappa e la mappa del servizio X-Ray sono state combinate nella CloudWatch ServiceLens mappa di tracciamento X-Ray all'interno della console Amazon. CloudWatch Apri la [CloudWatchconsole](https://console.aws.amazon.com/cloudwatch/) e scegli **Trace Map** in **X-Ray Traces dal riquadro** di navigazione a sinistra.   
 CloudWatch ora include [Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html), che può scoprire e monitorare i servizi applicativi, i client, i canali Synthetics e le dipendenze dei servizi. Utilizza Application Signals per visualizzare un elenco o una mappa visiva dei tuoi servizi, visualizzare le metriche sanitarie in base agli obiettivi del livello di servizio (SLOs) e approfondire le tracce a raggi X correlate per una risoluzione dei problemi più dettagliata. 

La pagina principale della console X-Ray è la mappa di traccia, che è una rappresentazione visiva del grafico del servizio JSON generato da X-Ray a partire dai dati di traccia generati dalle applicazioni. La mappa è composta da nodi di servizio per ogni applicazione che elabora richieste nel tuo account, nodi client a monte che rappresentano le origini delle richieste e nodi di servizio a valle che rappresentano i servizi e le risorse web utilizzate da un'applicazione durante l'elaborazione della richiesta. Sono disponibili pagine aggiuntive per la visualizzazione delle tracce e dei dettagli delle tracce e per la configurazione di gruppi e regole di campionamento.

Visualizza l'esperienza della console per X-Ray e confrontala con la CloudWatch console nelle sezioni seguenti.

**Topics**
+ [Usa la CloudWatch console Amazon](#aws-xray-interface-console-cw)
+ [Usa la console X-Ray](#xray-console)
+ [Esplora la console X-Ray](#xray-console-explore)
+ [Utilizzo della mappa di tracciamento a raggi X](xray-console-servicemap.md)
+ [Visualizzazione delle tracce e dei dettagli delle tracce](xray-console-traces.md)
+ [Utilizzo delle espressioni di filtro](xray-console-filters.md)
+ [Tracciamento tra account](xray-console-crossaccount.md)
+ [Tracciamento di applicazioni basate sugli eventi](xray-tracelinking.md)
+ [Utilizzo degli istogrammi di latenza](xray-console-histograms.md)
+ [Utilizzo di X-Ray Insights](xray-console-insights.md)
+ [Interazione con la console di analisi](xray-console-analytics.md)
+ [Configurazione dei gruppi](xray-console-groups.md)
+ [Configurazione delle regole di campionamento di](xray-console-sampling.md)
+ [Configurazione del campionamento adattivo](xray-adaptive-sampling.md)
+ [Deep linking tra console](xray-console-deeplinks.md)

# Utilizzo della mappa di tracciamento a raggi X
<a name="xray-console-servicemap"></a>

Visualizza la mappa di tracciamento X-Ray per identificare i servizi in cui si verificano errori, le connessioni con latenza elevata o le tracce delle richieste che non hanno avuto esito positivo.

**Nota**  
 CloudWatch ora include [Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html), in grado di rilevare e monitorare i servizi applicativi, i client, i synthetics canary e le dipendenze dei servizi. Utilizza Application Signals per visualizzare un elenco o una mappa visiva dei tuoi servizi, visualizzare le metriche sanitarie in base agli obiettivi del livello di servizio (SLOs) e approfondire le tracce a raggi X correlate per una risoluzione dei problemi più dettagliata.   
La mappa e la mappa del servizio X-Ray vengono combinate nella CloudWatch ServiceLens mappa di tracciamento X-Ray all'interno della console Amazon. CloudWatch Apri la [CloudWatch console](https://console.aws.amazon.com/cloudwatch/) e scegli **Trace Map** in **X-Ray Traces dal riquadro** di navigazione a sinistra. 

## Visualizzazione della mappa di tracciamento
<a name="xray-console-servicemap-view"></a>

La mappa di traccia è una rappresentazione visiva dei dati di traccia generati dalle tue applicazioni. La mappa mostra i nodi di servizio che soddisfano le richieste, i nodi client upstream che rappresentano le origini delle richieste e i nodi di servizio downstream che rappresentano i servizi e le risorse Web utilizzati da un'applicazione durante l'elaborazione di una richiesta. 

La mappa di traccia mostra una vista connessa delle tracce tra applicazioni basate su eventi che utilizzano Amazon SQS e Lambda. [Per ulteriori informazioni, consulta la sezione di tracciamento delle applicazioni basate sugli eventi.](xray-tracelinking.md) La mappa di tracciamento supporta anche il [tracciamento tra account, visualizzando](xray-console-crossaccount.md) i nodi di più account in un'unica mappa. 

------
#### [ CloudWatch console ]

**Per visualizzare la mappa di tracciamento nella console CloudWatch**

1. Apri la [CloudWatch console](https://console.aws.amazon.com/cloudwatch/). Scegli **Trace Map** nella sezione **X-Ray Traces** nel riquadro di navigazione a sinistra.   
![\[CloudWatch pagina della mappa di tracciamento della console\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-servicemap-cw.png)

1. Scegliere un nodo di servizio per visualizzare le richieste per tale nodo o un collegamento tra due nodi per visualizzare le richieste che sono passate attraverso tale connessione.

1.  Sotto la mappa di traccia vengono visualizzate informazioni aggiuntive, incluse le schede per le metriche, gli avvisi e la distribuzione dei tempi di risposta. **Nella scheda **Metriche**, seleziona un intervallo all'interno di ciascun grafico per visualizzare maggiori dettagli oppure scegli le opzioni **Guasti o Errori** per filtrare le tracce.** Nella scheda **Distribuzione del tempo di risposta**, seleziona un intervallo all'interno del grafico per filtrare le tracce in base al tempo di risposta.   
![\[Dashboard showing latency, requests, and faults metrics for an ElasticBeanstalk environment.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-cw-servicemap-node-detail.png)

1. Visualizza le tracce scegliendo **Visualizza le tracce** oppure, se è stato applicato un filtro, scegli **Visualizza le tracce filtrate**.

1.  Scegli **Visualizza registri** per visualizzare i CloudWatch log associati al nodo selezionato. Non tutti i nodi della mappa di traccia supportano la visualizzazione dei log. Per ulteriori informazioni, consulta [ CloudWatch i log di risoluzione dei problemi](xray-troubleshooting.md#xray-troubleshooting-Nologs). 

La mappa di tracciamento indica i problemi all'interno di ciascun nodo delineandoli con colori:
+ **Rosso** per i malfunzionamenti del server (errori serie 500)
+ **Giallo** per gli errori client (errori serie 400)
+ **Viola** per gli errori di superamento dei limiti (429 Too Many Requests)

Se la mappa di tracciamento è grande, usa i controlli sullo schermo o il mouse per ingrandire e rimpicciolire e spostare la mappa.

------
#### [ X-Ray console ]

**Per visualizzare la mappa dei servizi**

1. Apri la console [X-Ray](https://console.aws.amazon.com/xray/home#). La mappa dei servizi viene visualizzata per impostazione predefinita. Puoi anche scegliere **Service Map** dal riquadro di navigazione a sinistra.   
![\[Pagina della mappa del servizio della console X-Ray\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-servicemap-xray.png)

1. Scegliere un nodo di servizio per visualizzare le richieste per tale nodo o un collegamento tra due nodi per visualizzare le richieste che sono passate attraverso tale connessione.

1. Utilizza l'[istogramma](xray-console-histograms.md) di distribuzione delle risposte per filtrare le tracce in base alla durata e seleziona i codici di stato per i quali desideri visualizzare le tracce. Quindi scegliere **View traces (Visualizza tracciamenti)** per aprire l'elenco dei tracciamenti con l'espressione filtro applicata.  
![\[Response distribution graph showing latency peaks and service details for Scorekeep AWS ECS container.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-servicemap-nodedetail-xray.png)

La mappa del servizio indica lo stato di salute di ogni nodo colorandolo in base al rapporto delle chiamate concluse con successo rispetto a errori e malfunzionamenti:
+ **Verde** per le chiamate concluse con successo
+ **Rosso** per i malfunzionamenti del server (errori serie 500)
+ **Giallo** per gli errori client (errori serie 400)
+ **Viola** per gli errori di superamento dei limiti (429 Too Many Requests)

Se la mappa dei servizi è ampia, usa i controlli sullo schermo o il mouse per ingrandire e rimpicciolire e spostare la mappa.

------

**Nota**  
La mappa di tracciamento a raggi X può visualizzare fino a 10.000 nodi. In rari scenari in cui il numero totale di nodi di servizio supera questo limite, è possibile che venga visualizzato un errore e non sia possibile visualizzare una mappa di traccia completa nella console. 

## Filtraggio della mappa di traccia per gruppo
<a name="xray-console-servicemap-groups"></a>

Utilizzando un'[espressione di filtro](xray-console-filters.md), è possibile definire criteri in base ai quali includere le tracce all'interno di un gruppo. Utilizzate i seguenti passaggi per visualizzare quindi quel gruppo specifico nella mappa di traccia.

------
#### [ CloudWatch console ]

Scegli il nome di un gruppo dal filtro di gruppo in alto a sinistra della mappa di traccia.

![\[Search bar for filtering by X-Ray group, with "TestGroup" displayed as an option.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-servicemap-groups-cw.png)


------
#### [ X-Ray console ]

Scegliere un nome di gruppo dal menu a discesa a sinistra della barra di ricerca.

![\[Drop-down menu showing Default, TestGroup, Create group, and Learn more options.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-select-console.png)


------

La mappa dei servizi verrà ora filtrata per visualizzare le tracce che corrispondono all'espressione del filtro del gruppo selezionato. 

## Traccia la legenda e le opzioni della mappa
<a name="xray-console-servicemap-options"></a>

La mappa di tracciamento include una legenda e diverse opzioni per personalizzare la visualizzazione della mappa.

------
#### [ CloudWatch console ]

Scegli il menu a discesa **Legenda e opzioni** in alto a destra della mappa. Scegli cosa visualizzare all'interno dei nodi, tra cui:
+  Le **metriche** mostrano il tempo di risposta medio e il numero di tracce inviate al minuto nell'intervallo di tempo scelto. 
+  **Nodes** visualizza l'icona del servizio all'interno di ogni nodo. 

 Scegli impostazioni aggiuntive della mappa dal riquadro **Preferenze**, a cui puoi accedere tramite l'icona a forma di ingranaggio in alto a destra della mappa. Queste impostazioni includono la selezione della metrica utilizzata per determinare la dimensione di ciascun nodo e quali canarini devono essere visualizzati sulla mappa. 

------
#### [ X-Ray console ]

Visualizza la legenda della mappa dei servizi scegliendo il link **Legenda della mappa** in alto a destra della mappa. Le opzioni della mappa dei servizi possono essere scelte in basso a destra nella mappa di traccia, tra cui:
+  **Service Icons** alterna la visualizzazione all'interno di ciascun nodo, visualizzando l'icona del servizio o il tempo di risposta medio e il numero di tracce inviate al minuto durante l'intervallo di tempo scelto. 
+  **Dimensionamento dei nodi: Nessuno** imposta tutti i nodi alla stessa dimensione. 
+  **Dimensionamento dei nodi: Health ridimensiona** i nodi in base al numero di richieste interessate, inclusi errori, guasti o richieste limitate. 
+  Dimensionamento dei **nodi: il traffico ridimensiona** i nodi in base al numero totale di richieste. 

------

# Visualizzazione delle tracce e dei dettagli delle tracce
<a name="xray-console-traces"></a>

Usa la pagina **Traces** nella console X-Ray per trovare le tracce tramite URL, codice di risposta o altri dati dal riepilogo della traccia. Dopo aver selezionato una traccia dall'elenco delle tracce, la pagina dei **dettagli della traccia** visualizza una mappa dei nodi di servizio associati alla traccia selezionata e una sequenza temporale dei segmenti di traccia. 

## Visualizzazione dei tracciamenti
<a name="xray-console-traces-view"></a>

------
#### [ CloudWatch console ]

**Per visualizzare le tracce nella console CloudWatch**

1. Accedi a Console di gestione AWS e apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. **Nel riquadro di navigazione a sinistra, scegli Tracce **a raggi X, quindi scegli Tracce**.** Puoi filtrare per gruppo o inserire un'[espressione di filtro](xray-console-filters.md). Questo filtra le tracce visualizzate nella sezione **Tracce** nella parte inferiore della pagina. 

   In alternativa, è possibile utilizzare la mappa dei servizi per accedere a un nodo di servizio specifico e quindi visualizzare le tracce. Verrà aperta la pagina **Traces** con una query già applicata.

1. Perfeziona la tua query nella sezione **Query refiners.** Per filtrare le tracce in base a un attributo comune, scegliete un'opzione dalla freccia rivolta verso il basso accanto a **Refine query** per. Le opzioni sono le seguenti:
   + Nodo: filtra le tracce per nodo di servizio.
   + ARN della risorsa: filtra le tracce in base a una risorsa associata a una traccia. Esempi di queste risorse includono un'istanza Amazon Elastic Compute Cloud (Amazon EC2), una AWS Lambda funzione o una Amazon DynamoDB tabella.
   + Utente: filtra le tracce con un ID utente.
   + Messaggio relativo alla causa principale dell'errore: filtra le tracce in base alla causa principale dell'errore.
   + URL: filtra le tracce in base a un percorso URL utilizzato dall'applicazione.
   + Codice di stato HTTP: filtra le tracce in base al codice di stato HTTP restituito dall'applicazione. È possibile specificare un codice di risposta personalizzato o selezionare una delle seguenti opzioni:
     + `200`— La richiesta è andata a buon fine.
     + `401`— Nella richiesta mancavano credenziali di autenticazione valide.
     + `403`— La richiesta non aveva autorizzazioni valide.
     + `404`— Il server non è riuscito a trovare la risorsa richiesta.
     + `500`— Il server ha rilevato una condizione imprevista e ha generato un errore interno.

   Scegliete una o più voci, quindi **scegliete Aggiungi alla query** per aggiungerle all'espressione di filtro nella parte superiore della pagina. 

1. Per trovare una singola traccia, inserisci un [ID di traccia](xray-api-sendingdata.md#xray-api-traceids) direttamente nel campo della query. È possibile utilizzare il formato X-Ray o il formato World Wide Web Consortium (W3C). Ad esempio, una traccia creata utilizzando [AWS Distro](xray-instrumenting-your-app.md#xray-instrumenting-opentel) for è in formato W3C. OpenTelemetry 
**Nota**  
Quando si interrogano tracce create con un ID di traccia in formato W3C, la console visualizza la traccia corrispondente in formato X-Ray. Per esempio, se si esegue una query per `4efaaf4d1e8720b39541901950019ee5` in formato W3C, la console visualizza l'equivalente X-Ray:. `1-4efaaf4d-1e8720b39541901950019ee5`

1. Scegli **Esegui query** in qualsiasi momento per visualizzare un elenco di tracce corrispondenti nella sezione **Tracce** nella parte inferiore della pagina. 

1. Per visualizzare la pagina dei **dettagli di traccia** per una singola traccia, seleziona un ID di traccia dall'elenco.

   L'immagine seguente mostra una **mappa di Trace** contenente i nodi di servizio associati alla traccia e gli spigoli tra i nodi che rappresentano il percorso seguito dai segmenti che compongono la traccia. Un **riepilogo di Trace** segue la **Trace Map**. Il riepilogo contiene informazioni su un'`GET`operazione di esempio, il relativo **codice di risposta**, la **durata** dell'esecuzione della traccia e l'**età** della richiesta. La **cronologia dei segmenti** segue il **riepilogo della traccia** che mostra la durata dei segmenti e dei sottosegmenti di traccia.  
![\[Una mappa di traccia, un riepilogo e una sequenza temporale dei segmenti forniscono informazioni dettagliate sui nodi di servizio e sui segmenti della traccia.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/xray-trace-details-cw.png)

   **Se disponi di un'applicazione basata sugli eventi che utilizza Amazon SQS e Lambda, puoi visualizzare una vista connessa delle tracce per ogni richiesta nella mappa di Trace.** Nella mappa, le tracce dei produttori di messaggi sono collegate alle tracce dei AWS Lambda consumatori e vengono visualizzate come un bordo tratteggiato. Per ulteriori informazioni sulle applicazioni basate sugli eventi, consulta. [Tracciamento di applicazioni basate sugli eventi](xray-tracelinking.md)

   Le pagine **Traces** e **Trace details** supportano anche il [tracciamento tra account](xray-console-crossaccount.md), che può elencare le tracce di più account nell'elenco delle tracce e all'interno di un'unica mappa di traccia.

------
#### [ X-Ray console ]

**Per visualizzare le tracce nella console X-Ray**

1. Apri la pagina [Traces](https://console.aws.amazon.com/xray/home#/traces) nella console X-Ray. Il pannello di **panoramica di Trace** mostra un elenco di tracce raggruppate in base a funzionalità comuni, tra cui **Error root cause**, **resourceARN** e. **InstanceId**

1. **Per selezionare una funzionalità comune per visualizzare un insieme raggruppato di tracce, espandi la freccia rivolta verso il basso accanto a Raggruppa per.** L'illustrazione seguente mostra una panoramica delle tracce raggruppate per URL per e un elenco delle tracce associate. [AWS X-Ray applicazione di esempio](xray-scorekeep.md)  
![\[alt text not found\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/scorekeep-traces.png)

1. Scegli l'**ID** di una traccia per visualizzarla nell'**elenco Trace**. Puoi anche scegliere **Mappa dei servizi** nel riquadro di navigazione per visualizzare le tracce per un nodo di servizio specifico. Quindi puoi visualizzare le tracce associate a quel nodo.

   La scheda **Cronologia** mostra il flusso di richieste per la traccia e include quanto segue:
   + Una mappa del percorso per ogni segmento della traccia.
   + Quanto tempo ha impiegato il segmento a raggiungere un nodo nella mappa di traccia.
   + Quante richieste sono state fatte al nodo nella mappa di traccia.

   L'illustrazione seguente mostra un esempio di **Trace Map** associata a una `GET` richiesta effettuata a un'applicazione di esempio. Le frecce mostrano il percorso seguito da ogni segmento per completare la richiesta. I nodi di servizio mostrano il numero di richieste effettuate durante la `GET` richiesta.  
![\[Mappa di tracciamento seguita da una sequenza temporale con i segmenti, la loro durata, origine e fine l'uno rispetto all'altro.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/xray-trace-details.png)

   Per ulteriori informazioni sulla scheda **Cronologia**, consultate la seguente sezione **Esplorazione della cronologia di traccia**.

   La scheda **Dati grezzi** mostra le informazioni sulla traccia e sui segmenti e sottosegmenti che la compongono, in formato. `JSON` Queste informazioni possono includere quanto segue:
   + Timestamp
   + Unico IDs
   + Risorse associate al segmento o al sottosegmento
   + La fonte o l'origine del segmento o del sottosegmento
   + Informazioni aggiuntive sulla richiesta all'applicazione, ad esempio la risposta a una richiesta HTTP

------

## Esplorazione della sequenza temporale di tracciamento
<a name="xray-console-traces-timeline"></a>

La sezione **Cronologia** mostra una gerarchia di segmenti e sottosegmenti accanto a una barra orizzontale che corrisponde al tempo impiegato per completare le attività. La prima voce nell'elenco è il segmento, che rappresenta tutti i dati registrati tramite il servizio per una singola richiesta. I sottosegmenti sono rientrati ed elencati dopo il segmento. Le colonne contengono informazioni su ogni segmento.

------
#### [ CloudWatch console ]

Nella CloudWatch console, la **cronologia dei segmenti** fornisce le seguenti informazioni: 
+ La prima colonna: elenca i segmenti e i sottosegmenti nella traccia selezionata.
+ La colonna **Stato del segmento**: elenca il risultato dello stato di ogni segmento e sottosegmento.
+ La colonna **Codice di risposta**: elenca un codice di stato della risposta HTTP a una richiesta del browser effettuata dal segmento o dal sottosegmento, se disponibile.
+ La colonna **Durata**: elenca la durata del segmento o del sottosegmento.
+ La colonna **Hosted in**: elenca lo spazio dei nomi o l'ambiente in cui viene eseguito il segmento o il sottosegmento, se applicabile. Per ulteriori informazioni, consulta [Dimensioni raccolte e](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AppSignals-StandardMetrics.html#AppSignals-StandardMetrics-Dimensions) combinazioni di dimensioni.
+ L'ultima colonna: mostra le barre orizzontali che corrispondono alla durata della corsa del segmento o del sottosegmento, in relazione agli altri segmenti o sottosegmenti della timeline.

**Per raggruppare l'elenco di segmenti e sottosegmenti per nodo di servizio, attiva Raggruppa per nodi.**

------
#### [ X-Ray console ]

Nella pagina dei dettagli di traccia, scegli la scheda **Cronologia per visualizzare la sequenza temporale** di ogni segmento e sottosegmento che compone una traccia.

Nella console X-Ray, la **Timeline** fornisce le seguenti informazioni:
+ La colonna **Nome**: elenca i nomi dei segmenti e dei sottosegmenti nella traccia.
+ La colonna **Res.**: elenca un codice di stato della risposta HTTP a una richiesta del browser effettuata dal segmento o dal sottosegmento, se disponibile.
+ La colonna **Durata**: elenca per quanto tempo è stato eseguito il segmento o il sottosegmento.
+ La colonna **Stato**: elenca il risultato dello stato del segmento o del sottosegmento.
+ L'ultima colonna: mostra le barre orizzontali che corrispondono alla durata di esecuzione del segmento o del sottosegmento, in relazione agli altri segmenti o sottosegmenti della timeline.

**Per visualizzare i dati di traccia non elaborati utilizzati dalla console per generare la timeline, scegli la scheda Dati grezzi.** I dati grezzi mostrano le informazioni sulla traccia e sui segmenti e sottosegmenti che la compongono nel formato. `JSON` Queste informazioni possono includere quanto segue:
+ Timestamp
+ Unico IDs
+ Risorse associate al segmento o al sottosegmento
+ La fonte o l'origine del segmento o del sottosegmento
+ Informazioni aggiuntive sulla richiesta all'applicazione, ad esempio la risposta a una richiesta HTTP.

------

Quando utilizzi un AWS SDK con strumenti, HTTP, oppure SQL client per effettuare chiamate a risorse esterne, l'X-Ray SDK registra automaticamente i sottosegmenti. Puoi anche usare X-Ray SDK per registrare sottosegmenti personalizzati per qualsiasi funzione o blocco di codice. I sottosegmenti aggiuntivi che vengono registrati mentre un sottosegmento personalizzato è aperto diventano figli del sottosegmento personalizzato.

## Visualizzazione dei dettagli del segmento
<a name="xray-console-segments"></a>

Dalla **timeline** di traccia, scegliete il nome di un segmento per visualizzarne i dettagli.

**Il pannello dei **dettagli del segmento** mostra le schede **Panoramica**, **Risorse**, **Annotazioni**, **Metadati**, **Eccezioni** e SQL.** Si applica quanto segue:
+ La scheda **Overview (Panoramica)** mostra le informazioni su richiesta e risposta. Le informazioni includono il nome, l'ora di inizio, l'ora di fine, la durata, l'URL della richiesta, l'operazione della richiesta, il codice di risposta alla richiesta ed eventuali errori e guasti.
+ La scheda **Risorse** per un segmento mostra le informazioni dell'SDK X-Ray e sulle AWS risorse che eseguono l'applicazione. Utilizza i plug-in Amazon EC2 o Amazon ECS per l'SDK X-Ray per registrare informazioni sulle risorse specifiche del servizio. AWS Elastic Beanstalk**Per ulteriori informazioni sui plugin, consulta la sezione Plugin di servizio in.** [Configurazione dell'X-Ray SDK per Java](xray-sdk-java-configuration.md)
+ Le schede rimanenti mostrano **le annotazioni**, i **metadati** e le **eccezioni** registrate per il segmento. Le eccezioni vengono acquisite automaticamente quando vengono generate da una richiesta strumentata. Le annotazioni e i metadati contengono informazioni aggiuntive registrate utilizzando le operazioni fornite da X-Ray SDK. Per aggiungere annotazioni o metadati ai tuoi segmenti, usa l'SDK X-Ray. Per ulteriori informazioni, consulta il link specifico per la lingua riportato in Strumentazione dell'applicazione con in. AWS X-Ray SDKs [Strumentazione della tua applicazione per AWS X-Ray](xray-instrumenting-your-app.md)

## Visualizzazione dei dettagli del sottosegmento
<a name="xray-console-subsegments"></a>

Dalla timeline di tracciamento, scegliete il nome di un sottosegmento per visualizzarne i dettagli:
+ La scheda **Panoramica** contiene informazioni sulla richiesta e sulla risposta. Ciò include il nome, l'ora di inizio, l'ora di fine, la durata, la richiesta URL, operazione di richiesta, codice di risposta alla richiesta ed eventuali errori e guasti. Per i sottosegmenti generati dai client analizzati, la scheda **Overview (Panoramica)** contiene informazioni sulla richiesta e la risposta dal punto di vista dell'applicazione.
+ La scheda **Risorse** per un sottosegmento mostra i dettagli sulle AWS risorse utilizzate per eseguire il sottosegmento. Ad esempio, la scheda delle risorse può includere una AWS Lambda funzione ARN, informazioni su una tabella DynamoDB, qualsiasi operazione chiamata e l'ID della richiesta. 
+ **Le schede rimanenti mostrano **le annotazioni**, i **metadati** e le eccezioni registrate sul sottosegmento.** Le eccezioni vengono acquisite automaticamente quando vengono generate da una richiesta strumentata. Le annotazioni e i metadati contengono informazioni aggiuntive registrate utilizzando le operazioni fornite da X-Ray SDK. Usa l'SDK X-Ray per aggiungere annotazioni o metadati ai tuoi segmenti. **Per ulteriori informazioni, consulta il link specifico per la lingua riportato in Strumentazione dell'applicazione con in. AWS X-Ray SDKs** [Strumentazione della tua applicazione per AWS X-Ray](xray-instrumenting-your-app.md)

Nel caso di sottosegmenti personalizzati, la scheda **Overview (Panoramica)** mostra il nome del sottosegmento, che è possibile impostare per specificare l'area del codice o della funzione che memorizza. **Per ulteriori informazioni, consultate il link specifico per la lingua riportato in Strumentazione dell'applicazione con in. AWS X-Ray SDKs** [Generazione di sottosegmenti personalizzati con X-Ray SDK for Java](xray-sdk-java-subsegments.md)

L'immagine seguente mostra la scheda **Panoramica** per un sottosegmento personalizzato. La panoramica contiene l'ID del sottosegmento, l'ID principale, il nome, l'ora di inizio e di fine, la durata, lo stato e gli errori o gli errori.

![\[Informazioni generali su un sottosegmento tra cui ID, ID principale, nome, orari, errori e guasti.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/scorekeep-PUTrules-customsubsegment-overview.png)


La scheda **Metadati** per un sottosegmento personalizzato contiene informazioni in JSON formato relativo alle risorse utilizzate da quel sottosegmento.

# Utilizzo delle espressioni di filtro
<a name="xray-console-filters"></a>

Utilizza *le espressioni di filtro* per visualizzare una o più tracce per una richiesta, un servizio, una connessione tra due servizi (un edge) o richieste che soddisfano una condizione. X-Ray fornisce un linguaggio di espressione di filtro per filtrare richieste, servizi e bordi in base ai dati nelle intestazioni delle richieste, allo stato della risposta e ai campi indicizzati sui segmenti originali.

Quando scegli un periodo di tempo per le tracce da visualizzare nella console X-Ray, potresti ottenere più risultati di quelli che la console può visualizzare. Nell'angolo in alto a destra, la console mostra il numero di tracciamenti individuati e se sono disponibili ulteriori tracciamenti. È possibile utilizzare un'espressione di filtro per restringere i risultati alle sole tracce che si desidera trovare.

**Topics**
+ [Filtraggio dei dettagli delle espressioni](#xray-console-filters-details)
+ [Utilizzo delle espressioni filtro con i gruppi](#groups)
+ [Sintassi delle espressioni filtro](#console-filters-syntax)
+ [Parole chiave booleane](#console-filters-boolean)
+ [Parole chiave numeriche](#console-filters-number)
+ [Parole chiave stringa](#console-filters-string)
+ [Parole chiave complesse](#console-filters-complex)
+ [funzione id](#console-filters-functions)

## Filtraggio dei dettagli delle espressioni
<a name="xray-console-filters-details"></a>

Quando si [sceglie un nodo nella mappa di traccia](xray-console-servicemap.md), la console crea un'espressione di filtro in base al nome di servizio del nodo e ai tipi di errore presenti in base alla selezione effettuata. Per individuare tracciamenti che mostrano problemi di prestazioni o che riguardano richieste specifiche, puoi modificare l'espressione generata dalla console oppure crearne una tua. Se aggiungi annotazioni con X-Ray SDK, puoi anche filtrare in base alla presenza di una chiave di annotazione o al valore di una chiave.

**Nota**  
Se scegli un intervallo di tempo relativo nella mappa di traccia e scegli un nodo, la console converte l'intervallo di tempo in un'ora di inizio e di fine assolute. Per garantire che i tracciamenti relativi al nodo vengano visualizzati tra risultati di ricerca, e per evitare la scansione dei periodi di tempo in cui il nodo non era attivo, l'intervallo di tempo include solo i periodi durante i quali il nodo ha inviato dei tracciamenti. Se desideri eseguire una ricerca rispetto all'ora corrente, puoi ripristinare l'intervallo di tempo relativo nella pagina dei tracciamenti ed eseguire nuovamente la scansione.

Se vengono ancora restituiti più risultati di quanti la console possa visualizzare, la console mostra quanti tracciamenti soddisfano il filtro e di quanti è stata eseguita la scansione. La percentuale visualizzata è la percentuale dell'intervallo di tempo selezionato di cui è stata eseguita la scansione. Restringi ulteriormente l'espressione filtro, oppure scegli un intervallo di tempo più breve, in modo da visualizzare tra i risultati tutti i tracciamenti corrispondenti al filtro.

Per disporre prima dei risultati più recenti, la console avvia la scansione partendo dal termine dell'intervallo di tempo e procedendo in senso cronologico inverso. In caso di un numero elevato di tracciamenti, la console suddivide l'intervallo di tempo in blocchi ed esegue le scansioni in parallelo. La barra di avanzamento mostra le porzioni dell'intervallo di tempo relativamente alle quali è stata eseguita la scansione.

![\[Progress bar showing 52% of time range scanned, with 49 matching traces found.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-tracescan-parallel.png)


## Utilizzo delle espressioni filtro con i gruppi
<a name="groups"></a>

I gruppi costituiscono una raccolta di tracce definite da un'espressione di filtro. Puoi utilizzare i gruppi per generare grafici di servizio aggiuntivi e fornire CloudWatch metriche Amazon. 

I gruppi sono identificati dal nome o da un Amazon Resource Name (ARN) e contengono un'espressione di filtro. Il servizio confronta i tracciamenti in entrata con l'espressione e le memorizza di conseguenza.

È possibile creare e modificare i gruppi utilizzando il menu a discesa a sinistra della barra di ricerca delle espressioni filtro.

**Nota**  
Se il servizio rileva un errore nel qualificare un gruppo, tale gruppo non viene più incluso nell'elaborazione dei tracciamenti in entrata e viene registrata un parametro di errore.

Per ulteriori informazioni sui gruppi, consulta. [Configurazione dei gruppi](xray-console-groups.md)

## Sintassi delle espressioni filtro
<a name="console-filters-syntax"></a>

Le espressioni filtro possono contenere una *parola chiave*, un *operatore* unario o binario e un *valore* per il confronto.

```
keyword operator value
```

Sono disponibili diversi operatori per diversi tipi di parola chiave. Ad esempio, `responsetime` è una parola chiave numerica e può essere confrontata con operatori correlati a numeri.

**Example — richieste in cui il tempo di risposta è stato superiore a 5 secondi**  

```
responsetime > 5
```

Puoi combinare più espressioni in un'espressione composta mediante gli operatori `AND` o `OR`.

**Example — richieste la cui durata totale era di 5—8 secondi**  

```
duration >= 5 AND duration <= 8
```

Le parole chiave e gli operatori semplici individuano problemi solo a livello di tracciamento. Se si verifica un errore a valle, ma è gestito direttamente dall'applicazione e non viene restituito all'utente, una ricerca per `error` non lo individuerà.

Per individuare tracciamenti che includano problemi con chiamate a valle, puoi utilizzare le [parole chiave complesse](#console-filters-complex) `service()` e `edge()`. Queste parole chiave ti permettono di applicare un'espressione filtro a tutti i nodi a valle, a un singolo nodo a valle o ad un collegamento tra due nodi. Per una maggiore granularità, puoi filtrare servizi ed edge per tipo con [la funzione id()](#console-filters-functions).

## Parole chiave booleane
<a name="console-filters-boolean"></a>

I valori delle parole chiave booleane sono true o false. Utilizza queste parole chiave per individuare i tracciamenti che hanno generato errori.

**Parole chiave booleane**
+ `ok`— Il codice di stato della risposta era 2XX Success.
+ `error`— Il codice di stato della risposta era 4XX Client Error.
+ `throttle`— Il codice di stato della risposta era 429 Too Many Requests.
+ `fault`— Il codice di stato della risposta era 5XX Server Error.
+ `partial`— La richiesta ha segmenti incompleti.
+ `inferred`— La richiesta ha segmenti dedotti.
+ `first`— L'elemento è il primo di un elenco enumerato.
+ `last`— L'elemento è l'ultimo di un elenco enumerato.
+ `remote`— L'entità della causa principale è remota.
+ `root`— Il servizio è il punto di ingresso o il segmento principale di una traccia.

Gli operatori booleani individuano i segmenti in cui la chiave specificata è `true` o `false`.

**Operatori booleani**
+ nessuno: l'espressione è vera se la parola chiave è vera.
+ `!`— L'espressione è vera se la parola chiave è falsa.
+ `=`, `!=` — Confronta il valore della parola chiave con la stringa `true` or`false`. Questi operatori agiscono allo stesso modo degli altri operatori, ma sono più espliciti.

**Example — lo stato della risposta è 2XX OK**  

```
ok
```

**Example — lo stato della risposta non è 2XX OK**  

```
!ok
```

**Example — lo stato della risposta non è 2XX OK**  

```
ok = false
```

**Example — l'ultima traccia di errore enumerata ha il nome di errore «deserializza»**  

```
rootcause.fault.entity { last and name = "deserialize" }
```

**Example — richieste con segmenti remoti in cui la copertura è maggiore di 0,7 e il nome del servizio è «trace»**  

```
rootcause.responsetime.entity { remote and coverage > 0.7 and name = "traces" }
```

**Example — richieste con segmenti dedotti in cui il tipo di servizio è «aws:DynamoDB»**  

```
rootcause.fault.service { inferred and name = traces and type = "AWS::DynamoDB" }
```

**Example — richieste che hanno come radice un segmento con il nome «data-plane»**  

```
service("data-plane") {root = true and fault = true}
```

## Parole chiave numeriche
<a name="console-filters-number"></a>

Utilizzare le parole chiave numeriche per ricercare le richieste con un tempo di risposta, una durata o un codice di stato della risposta specifici.

**Parole chiave numeriche**
+ `responsetime`— Tempo impiegato dal server per inviare una risposta.
+ `duration`— Durata totale della richiesta, incluse tutte le chiamate downstream.
+ `http.status`— Codice di stato della risposta.
+ `index`— Posizione di un elemento in un elenco enumerato.
+ `coverage`— Percentuale decimale del tempo di risposta dell'entità rispetto al tempo di risposta del segmento principale. Applicabile solo per le entità causa principale del tempo di risposta.

**Operatori numerici**

Le parole chiave numeriche utilizzano gli operatori di uguaglianza e di confronto standard.
+ `=`, `!=` — La parola chiave è uguale o diversa da un valore numerico.
+ `<`,`<=`,`>`, `>=` — La parola chiave è minore o maggiore di un valore numerico.

**Example — lo stato della risposta non è 200 OK**  

```
http.status != 200
```

**Example — richiesta in cui la durata totale era di 5—8 secondi**  

```
duration >= 5 AND duration <= 8
```

**Example — richieste completate con successo in meno di 3 secondi, comprese tutte le chiamate a valle**  

```
ok !partial duration <3
```

**Example — entità di elenco enumerato con un indice maggiore di 5**  

```
rootcause.fault.service { index > 5 }
```

**Example — richieste in cui l'ultima entità con copertura è superiore a 0,8**  

```
rootcause.responsetime.entity { last and coverage > 0.8 }
```

## Parole chiave stringa
<a name="console-filters-string"></a>

Utilizza parole chiave di tipo stringa per trovare tracce con testo specifico nelle intestazioni della richiesta o un utente IDs specifico.

**Parole chiave stringa**
+ `http.url`— URL della richiesta.
+ `http.method`— Metodo di richiesta.
+ `http.useragent`— Richiedere la stringa dell'agente utente.
+ `http.clientip`— Indirizzo IP del richiedente.
+ `user`— Valore del campo utente su qualsiasi segmento della traccia.
+ `name`— Il nome di un servizio o di un'eccezione.
+ `type`— Tipo di servizio.
+ `message`— Messaggio di eccezione.
+ `availabilityzone`— Valore del campo availabilityzone su qualsiasi segmento della traccia.
+ `instance.id`— Valore del campo ID dell'istanza su qualsiasi segmento della traccia.
+ `resource.arn`— Valore del campo ARN della risorsa su qualsiasi segmento della traccia.

Gli operatori di stringa selezionano valori che sono uguali a, o contengono, un testo specifico. I valori devono essere sempre specificati tra virgolette. 

**Operatori di stringa**
+ `=`, `!=` — La parola chiave è uguale o diversa da un valore numerico.
+ `CONTAINS`— La parola chiave contiene una stringa specifica.
+ `BEGINSWITH`, `ENDSWITH` — La parola chiave inizia o termina con una stringa specifica.

**Example — filtro http.url**  

```
http.url CONTAINS "/api/game/"
```

Per verificare se un campo esiste all'interno di un tracciamento, indipendentemente dal suo valore, verificare se contiene la stringa vuota.

**Example — filtro utente**  
Trova tutte le tracce con l'utente IDs.  

```
user CONTAINS ""
```

**Example — seleziona le tracce con una causa principale dell'errore che include un servizio chiamato «Auth»**  

```
rootcause.fault.service { name = "Auth" }
```

**Example — seleziona le tracce con una root cause del tempo di risposta il cui ultimo servizio ha un tipo di DynamoDB**  

```
rootcause.responsetime.service { last and type = "AWS::DynamoDB" }
```

**Example — seleziona le tracce con una causa principale di errore la cui ultima eccezione è il messaggio «accesso negato per account\$1id: 1234567890"**  

```
rootcause.fault.exception { last and message = "Access Denied for account_id: 1234567890" 
```

## Parole chiave complesse
<a name="console-filters-complex"></a>

Le parole chiave complesse permettono di selezionare le richieste in base a nome del servizio, nome edge o valore dell'annotazione. Per servizi e collegamenti, puoi specificare un ulteriore espressione filtro che si applica al servizio o al collegamento. Per le annotazioni, puoi filtrare in base al valore di un'annotazione con una specifica chiave utilizzando operatori booleani, numerici o stringa.

**Parole chiave complesse**
+ `annotation[key]`— Valore di un'annotazione con campo. *key* Il valore di un'annotazione può essere un valore booleano, numerico o stringa, perciò puoi usare un operatore di confronto di uno qualsiasi di questi tipi. È possibile utilizzare questa parola chiave in combinazione con la `edge` parola chiave `service` o. **Una chiave di annotazione che contiene punti (punti) deve essere racchiusa tra parentesi quadre ([]).**
+ `edge(source, destination) {filter}`— Connessione tra servizi e. *source* *destination* Le parentesi graffe opzionali possono contenere un'espressione filtro che si applica ai segmenti della connessione.
+ `group.name / group.arn`— Il valore dell'espressione di filtro di un gruppo, a cui fa riferimento il nome del gruppo o l'ARN del gruppo.
+ `json`— Oggetto della causa principale JSON. Vedi [Acquisizione di dati da AWS X-Ray](xray-api-gettingdata.md) per i passaggi per creare entità JSON a livello di codice.
+ `service(name) {filter}`— Servizio con nome. *name* Le parentesi graffe opzionali possono contenere un'espressione filtro che si applica ai segmenti creati dal servizio.

Utilizza la parola chiave service per trovare le tracce delle richieste che raggiungono un determinato nodo sulla mappa di tracciamento.

Gli operatori di parole chiave complesse trovano i segmenti in cui è stata impostata o non è stata impostata la chiave specificata.

**Operatori di parole chiave complessi**
+ nessuno: l'espressione è vera se la parola chiave è impostata. Se la parola chiave è di tipo booleano, restituirà il valore booleano.
+ `!`— L'espressione è vera se la parola chiave non è impostata. Se la parola chiave è di tipo booleano, restituirà il valore booleano.
+ `=`, `!=` — Confronta il valore della parola chiave.
+ `edge(source, destination) {filter}`— Connessione tra servizi *source* e*destination*. Le parentesi graffe opzionali possono contenere un'espressione filtro che si applica ai segmenti della connessione.
+ `annotation[key]`— Valore di un'annotazione con campo*key*. Il valore di un'annotazione può essere un valore booleano, numerico o stringa, perciò puoi usare un operatore di confronto di uno qualsiasi di questi tipi. È possibile utilizzare questa parola chiave in combinazione con la `edge` parola chiave `service` o.
+ `json`— Oggetto della causa principale JSON. Vedi [Acquisizione di dati da AWS X-Ray](xray-api-gettingdata.md) per i passaggi per creare entità JSON a livello di codice.

Utilizza la parola chiave service per trovare le tracce delle richieste che raggiungono un determinato nodo sulla mappa di tracciamento.

**Example — Filtro di servizio**  
Richieste che includevano una chiamata a `api.example.com` e che si sono concluse con un malfunzionamento (errore serie 500).  

```
service("api.example.com") { fault }
```

Puoi escludere il nome del servizio per applicare un'espressione filtro a tutti i nodi della tua mappa del servizio.

**Example — filtro di servizio**  
Richieste che hanno causato un errore in qualsiasi punto della mappa di tracciamento.  

```
service() { fault }
```

La parola chiave edge applica un'espressione filtro a una connessione tra due nodi.

**Example — filtro perimetrale**  
Richiesta in cui il servizio `api.example.com` ha eseguito una chiamata verso `backend.example.com` che si è conclusa con un errore.  

```
edge("api.example.com", "backend.example.com") { error }
```

Puoi inoltre utilizzare l'operatore `!` con le parole chiave service ed edge per escludere un servizio o un collegamento dai risultati di un'altra espressione filtro.

**Example — filtro di servizio e richiesta**  
Richiesta in cui l'URL inizia con `http://api.example.com/` e contiene `/v2/` ma non raggiunge un servizio denominato `api.example.com`.  

```
http.url BEGINSWITH "http://api.example.com/" AND http.url CONTAINS "/v2/" AND !service("api.example.com")
```

**Example — filtro del servizio e del tempo di risposta**  
Trova le tracce dove `http url` è impostato e il tempo di risposta è superiore a 2 secondi.  

```
http.url AND responseTime > 2
```

Per le annotazioni, puoi richiamare tutte le tracce in cui `annotation[key]` è impostato o utilizzare gli operatori di confronto che corrispondono al tipo di valore.

**Example — annotazione con valore di stringa**  
Richieste con un'annotazione denominata `gameid` con valore stringa `"817DL6VO"`.  

```
annotation[gameid] = "817DL6VO"
```

**Example — l'annotazione è impostata**  
Richieste con un'annotazione denominata `age` set.  

```
annotation[age]
```

**Example — l'annotazione non è impostata**  
Richieste senza un'annotazione denominata `age` set.  

```
!annotation[age]
```

**Example — annotazione con valore numerico**  
Richieste con annotazione age con valore numerico maggiore di 29.  

```
annotation[age] > 29
```

**Example — annotazione in combinazione con service o edge**  
  

```
service { annotation[request.id] = "917DL6VO" }
```

```
edge { source.annotation[request.id] = "916DL6VO" }
```

```
edge { destination.annotation[request.id] = "918DL6VO" }
```

**Example — gruppo con utente**  
Richiede in cui le tracce soddisfano il filtro di `high_response_time` gruppo (ad esempio`responseTime > 3`) e l'utente si chiama Alice.  

```
group.name = "high_response_time" AND user = "alice"
```

**Example — JSON con entità root cause**  
Le richieste con entità causa principale corrispondenti.  

```
rootcause.json = #[{ "Services": [ { "Name": "GetWeatherData", "EntityPath": [{ "Name": "GetWeatherData" }, { "Name": "get_temperature" } ] }, { "Name": "GetTemperature", "EntityPath": [ { "Name": "GetTemperature" } ] } ] }]
```

## funzione id
<a name="console-filters-functions"></a>

Quando indichi un nome di servizio per le parole chiave `service` o `edge`, ottieni risultati per tutti i nodi con tale nome. Per una maggiore precisione del filtraggio, puoi utilizzare la funzione `id` per specificare un tipo di servizio in aggiunta ad un nome per distinguere tra nodi con lo stesso nome.

Utilizza la `account.id` funzione per specificare un particolare account per il servizio, quando visualizzi le tracce di più account in un account di monitoraggio.

```
id(name: "service-name", type:"service::type", account.id:"account-ID")
```

Puoi utilizzare la funzione `id` al posto di un nome di servizio nei filtri service ed edge.

```
service(id(name: "service-name", type:"service::type")) { filter }
```

```
edge(id(name: "service-one", type:"service::type"), id(name: "service-two", type:"service::type")) { filter }
```

Ad esempio, AWS Lambda le funzioni generano due nodi nella mappa di traccia: uno per la chiamata della funzione e uno per il servizio Lambda. I due nodi hanno lo stesso nome ma appartengono a tipi diversi. Un filtro sul servizio standard troverà i tracciamenti relativi a entrambi.

**Example — filtro di servizio**  
Richieste che includono un errore su qualsiasi servizio denominato `random-name`.  

```
service("random-name") { error }
```

Utilizza la funzione `id` per restringere la ricerca a errori sulla funzione stessa, escludendo gli errori del servizio.

**Example — filtro di servizio con funzione id**  
Richieste che includono un errore su un servizio denominato `random-name` di tipo `AWS::Lambda::Function`.  

```
service(id(name: "random-name", type: "AWS::Lambda::Function")) { error }
```

Per ricercare i nodi in base al tipo, puoi anche omettere completamente il nome.

**Example — filtro di servizio con funzione id e tipo di servizio**  
Richieste che includono un errore su un servizio di tipo `AWS::Lambda::Function`.  

```
service(id(type: "AWS::Lambda::Function")) { error }
```

Per cercare i nodi per un particolare Account AWS, specifica un ID account.

**Example — filtro di servizio con funzione id e ID account**  
Richieste che includono un servizio all'interno di un ID account specifico`AWS::Lambda::Function`.  

```
service(id(account.id: "account-id"))
```

# Tracciamento tra account
<a name="xray-console-crossaccount"></a>

AWS X-Ray supporta l'*osservabilità tra account*, consentendoti di monitorare e risolvere i problemi delle applicazioni che si estendono su più account all'interno di uno stesso. Regione AWS Puoi cercare, visualizzare e analizzare senza interruzioni le tue metriche, i log e le tracce in tutti gli account collegati come se stessi operando in un unico account. Ciò fornisce una visione completa delle richieste che viaggiano su più account. [È possibile visualizzare le tracce tra account nella mappa di tracciamento X-Ray e le pagine delle tracce all'interno della CloudWatch console.](https://console.aws.amazon.com/cloudwatch/)

I dati di osservabilità condivisi possono includere uno dei seguenti tipi di telemetria: 
+ Metriche in Amazon CloudWatch
+ Gruppi di log in Amazon CloudWatch Logs
+ Tracce in AWS X-Ray
+ Applicazioni in Amazon CloudWatch Application Insights

## Configura l'osservabilità tra account
<a name="xray-console-crossaccount-configure"></a>

*Per attivare l'osservabilità tra più account, configura uno o più account di AWS *monitoraggio* e collegali a più account di origine.* Un account di monitoraggio è una centrale in Account AWS grado di visualizzare e interagire con i dati di osservabilità generati dagli account di origine. Un account di origine è un individuo Account AWS che genera dati di osservabilità per le risorse che contiene. 

Gli account di origine condividono i dati di osservabilità con gli account di monitoraggio. Le tracce vengono copiate da ciascun account di origine su un massimo di cinque account di monitoraggio. Le copie delle tracce dagli account di origine al primo account di monitoraggio sono gratuite. Le copie delle tracce inviate ad account di monitoraggio aggiuntivi vengono addebitate a ciascun account di origine, in base alla tariffa standard. Per ulteriori informazioni, consulta [AWS X-Ray i prezzi e i CloudWatch ](https://aws.amazon.com/xray/pricing/) [prezzi di Amazon](https://aws.amazon.com/cloudwatch/pricing/).

Per creare collegamenti tra gli account di monitoraggio e gli account di origine, utilizza la CloudWatch console o i nuovi comandi di Observability Access Manager nell'API AWS CLI and. Per maggiori informazioni, consulta la sezione [Osservabilità su più account di CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html). 

**Nota**  
Le tracce a raggi X vengono fatturate nel Account AWS luogo in cui vengono ricevute. Se una richiesta [campionata](xray-concepts.md#xray-concepts-sampling) riguarda più di un servizio Account AWS, ogni account registra una traccia separata e tutte le tracce condividono lo stesso ID di traccia. Per ulteriori informazioni sui prezzi osservabili su più account, consulta i prezzi e [AWS X-Ray i prezzi](https://aws.amazon.com/xray/pricing/) di [Amazon CloudWatch ](https://aws.amazon.com/cloudwatch/pricing/). 

## Visualizzazione delle tracce tra account
<a name="xray-console-crossaccount-view"></a>

Le tracce tra account vengono visualizzate nell'account di monitoraggio. Ogni account di origine visualizza solo le tracce locali per quell'account specifico. Le sezioni seguenti presuppongono che tu abbia effettuato l'accesso all'account di monitoraggio e che tu abbia aperto la CloudWatch console Amazon. Sia sulla mappa di tracciamento che sulla pagina delle tracce, nell'angolo in alto a destra viene visualizzato un badge dell'account di monitoraggio.

![\[Badge dell'account di monitoraggio\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/crossaccount-monitoring-account.png)


### Mappa di tracciamento
<a name="xray-console-crossaccount-view-servicemap"></a>

Nella CloudWatch console, scegli **Trace Map** in **X-Ray Traces dal riquadro** di navigazione a sinistra. Per impostazione predefinita, la mappa di tracciamento mostra i nodi per tutti gli account di origine che inviano le tracce all'account di monitoraggio e i nodi per l'account di monitoraggio stesso. Sulla mappa di traccia, scegli **Filtri** in alto a sinistra per filtrare la mappa di traccia utilizzando il menu a discesa **Account**. Dopo aver applicato un filtro di account, i nodi di servizio degli account che non corrispondono al filtro corrente vengono visualizzati in grigio.

![\[Mappa di traccia filtrata\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/crossaccount-servicemap-account-filter.png)


 Quando si sceglie un nodo di servizio, il riquadro dei dettagli del nodo include l'ID e l'etichetta dell'account del servizio. 

![\[Riquadro dei dettagli del nodo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/crossaccount-servicemap-node-detail.png)


Nell'angolo in alto a destra della mappa di traccia, scegli Visualizzazione elenco per **visualizzare un elenco** di nodi di servizio. L'elenco dei nodi di servizio include i servizi dell'account di monitoraggio e tutti gli account di origine configurati. Filtra l'elenco dei nodi in base all'**etichetta dell'account** **o all'ID dell'account** scegliendoli dal filtro **Nodi**.

![\[Elenco dei servizi filtrato\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/crossaccount-servicelist-account-filter.png)


### Tracce
<a name="xray-console-crossaccount-view-traces"></a>

Visualizza i dettagli di tracciamento per le tracce che si estendono su più account aprendo la CloudWatch console dall'account di monitoraggio e selezionando Tracce in **Tracce** a **raggi X** nel riquadro di navigazione a sinistra. È inoltre possibile aprire questa pagina scegliendo un nodo nella **Mappa di tracciamento** a raggi X, quindi scegliendo **Visualizza tracce dal riquadro** dei dettagli del nodo. 

La pagina **Traces** supporta l'interrogazione per ID account. Per iniziare, [inserisci una query](xray-console-filters.md) che includa uno o più account IDs. Di seguito sono riportate le query di esempio per le tracce che sono passate attraverso l'ID dell'account X** o *Y:*

```
service(id(account.id:"X")) OR service(id(account.id:"Y"))
```

![\[Interroga le tracce per account\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/crossaccount-traces-query-by-account.png)


Perfeziona la tua richiesta per **account**. Seleziona uno o più account dall'elenco e scegli **Aggiungi alla query**. 

![\[Perfeziona la ricerca di tracciamento per account\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/crossaccount-traces-refine-by-account.png)


### Dettagli di tracciamento
<a name="xray-console-crossaccount-trace-details"></a>

Visualizza i dettagli di una traccia selezionandola dall'elenco **Tracce** nella parte inferiore della pagina **Tracce**. Vengono visualizzati **i dettagli di Trace**, inclusa una mappa dei dettagli di traccia con i nodi di servizio di tutti gli account attraversati dalla traccia. Scegli un nodo di servizio specifico per visualizzare l'account corrispondente. 

La sezione **Cronologia dei segmenti** mostra i dettagli dell'account per ogni segmento della sequenza temporale.

![\[Cronologia dei segmenti\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/crossaccount-traces-segment-timeline.png)


# Tracciamento di applicazioni basate sugli eventi
<a name="xray-tracelinking"></a>

AWS X-Ray supporta il tracciamento di applicazioni basate su eventi utilizzando Amazon SQS e. AWS Lambda Usa la CloudWatch console per visualizzare una vista connessa di ogni richiesta mentre viene messa in coda con Amazon SQS ed elaborata da una o più funzioni Lambda. Le tracce dei produttori di messaggi upstream vengono automaticamente collegate alle tracce dei nodi consumer Lambda a valle, creando una end-to-end visualizzazione dell'applicazione. 

**Nota**  
Ogni segmento di traccia può essere collegato a un massimo di 20 tracce, mentre una traccia può includere un massimo di 100 link. In alcuni scenari, il collegamento di tracce aggiuntive può comportare il superamento della [dimensione massima del documento di traccia](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray), causando una traccia potenzialmente incompleta. Ciò può accadere, ad esempio, quando una funzione Lambda con tracciamento abilitato invia molti messaggi SQS a una coda in un'unica chiamata. Se si verifica questo problema, è disponibile una soluzione di mitigazione che utilizza gli X-Ray SDKs. [Per ulteriori informazioni, consulta X-Ray SDK per [Java](https://github.com/aws/aws-xray-sdk-java#oversampling-mitigation)[, Node.js,](https://github.com/aws/aws-xray-sdk-node/tree/master/packages/core#oversampling-mitigation)[Python](https://github.com/aws/aws-xray-sdk-python#oversampling-mitigation), [Go](https://github.com/aws/aws-xray-sdk-go#oversampling-mitigation) o.NET.](https://github.com/aws/aws-xray-sdk-dotnet#oversampling-mitigation) 

## Visualizza le tracce collegate nella mappa di tracciamento
<a name="xray-tracelinking-servicemap"></a>

Utilizza la pagina **Trace Map** all'interno della [CloudWatchconsole](https://console.aws.amazon.com/cloudwatch/) per visualizzare una mappa di traccia con le tracce dei produttori di messaggi collegate alle tracce dei consumatori Lambda. Questi collegamenti vengono visualizzati con un bordo tratteggiato che collega il nodo Amazon SQS e i nodi consumer Lambda downstream. 

![\[Edge tra i nodi Amazon SQS e Lambda.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-batch-servicemap-linkededge.png)


Seleziona un bordo tratteggiato per visualizzare un istogramma *dell'età degli eventi ricevuti*, che mappa la diffusione dell'età dell'evento quando viene ricevuto dai consumatori. L'età viene calcolata ogni volta che viene ricevuto un evento. 

![\[Edge con istogramma dell'età dell'evento ricevuto.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-servicemap-linkededgedetails-cw.png)


## Visualizza i dettagli della traccia collegata
<a name="xray-tracelinking-tracedetails"></a>

**Visualizza i dettagli di tracciamento inviati da un produttore di messaggi, da una coda Amazon SQS o da un consumatore Lambda:**

1. Usa la **Trace Map** per selezionare un produttore di messaggi, un nodo consumer Amazon SQS o Lambda. 

1. Scegli **Visualizza tracce** dal riquadro dei dettagli del nodo per visualizzare un elenco di tracce. Puoi anche accedere direttamente alla pagina **Traces** all'interno della CloudWatch console. 

1. Scegli una traccia specifica dall'elenco per aprire la pagina dei dettagli della traccia. La pagina dei dettagli della traccia visualizza un messaggio quando la traccia selezionata fa parte di un set di tracce collegato.   
![\[Dettagli di traccia collegati\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-batch-tracedetails-header.png)

La mappa dei dettagli della traccia mostra la traccia corrente, insieme alle tracce collegate a monte e a valle, ognuna delle quali è contenuta in un riquadro che indica i limiti di ciascuna traccia. **Se la traccia attualmente selezionata è collegata a più tracce a monte o a valle, i nodi all'interno delle tracce collegate a monte o a valle vengono impilati e viene visualizzato il pulsante Seleziona traccia.** 

![\[Tracce upstream multiple collegate\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-batch-tracedetails-tracemap.png)


Sotto la mappa dei dettagli della traccia, viene visualizzata una sequenza temporale dei segmenti di traccia, incluse le tracce collegate a monte e a valle. Se sono presenti più tracce collegate a monte o a valle, i relativi dettagli del segmento non possono essere visualizzati. Per visualizzare i dettagli del segmento per una singola traccia all'interno di un insieme di tracce collegate, [selezionate una singola traccia](#xray-tracelinking-filterbatch) come descritto di seguito. 

![\[Cronologia dei segmenti che mostra le tracce collegate\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-batch-tracedetails-timeline.png)


## Seleziona una singola traccia all'interno di un insieme di tracce collegate
<a name="xray-tracelinking-filterbatch"></a>

**Filtra un set di tracce collegato a una singola traccia per visualizzare i dettagli del segmento nella timeline.**

1. Scegli **Seleziona traccia** sotto le tracce collegate sulla mappa dei dettagli della traccia. Viene visualizzato un elenco di tracce.  
![\[Elenco di tracce collegato\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-batch-tracedetails-tracelist.png)

1. Seleziona il pulsante di opzione accanto a una traccia per visualizzarla all'interno della mappa dei dettagli della traccia. 

1. Scegliete **Annulla la selezione della traccia** per visualizzare l'intero set di tracce collegate.   
![\[Traccia collegata singola\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-batch-tracedetails-filteredbatch.png)

# Utilizzo degli istogrammi di latenza
<a name="xray-console-histograms"></a>

Quando si seleziona un nodo o un bordo su una [mappa di AWS X-Ray traccia](xray-console-servicemap.md), la console X-Ray mostra un istogramma di distribuzione della latenza. 

## Latenza
<a name="xray-console-historgram-latency"></a>

La latenza è la quantità di tempo compresa tra il momento in cui una richiesta inizia e quello in cui viene completata. Un istogramma mostra una distribuzione di latenze. Mostra la durata sull'asse delle X e la percentuale di richieste che corrispondono a ciascuna durata sull'asse delle Y.

Questo istogramma mostra un servizio che completa la maggior parte delle richieste in meno di 300 ms. Una piccola percentuale di richieste richiedere fino a 2 secondi e alcuni valori erratici richiedono più tempo.

![\[Istogramma della latenza con la durata sull'asse delle X e la percentuale di richieste che corrispondono a ciascuna durata sull'asse delle Y\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/scorekeep-servicemap-histogram.png)


## Interpretazione dei dettagli del servizio
<a name="xray-console-historgram-details"></a>

Gli istogrammi del servizio e del collegamento forniscono una rappresentazione visiva della latenza dal punto di vista di un servizio o di un richiedente.
+ Scegliete un *nodo di servizio* facendo clic sul cerchio. X-Ray mostra un istogramma per le richieste servite dal servizio. Le latenze sono quelle registrate dal servizio e non includono la latenza di rete tra il servizio e il richiedente.
+ Scegliete uno *spigolo* facendo clic sulla linea o sulla punta della freccia dello spigolo tra due servizi. X-Ray mostra un istogramma per le richieste del richiedente che sono state servite dal servizio downstream. Le latenze sono quelle registrate dal richiedente e includono la latenza di rete tra i due servizi.

Per interpretare il pannello dell'istogramma dei **Service details (Dettagli del servizio)**, puoi cercare i valori che differiscono maggiormente dalla gran parte dei valori nell'istogramma. Questi *valori erratici* possono essere visualizzati come picchi o punte nell'istogramma, ed è possibile visualizzare i tracciamenti relativi ad una specifica area per analizzare il problema.

Per visualizzare i tracciamenti filtrati per la latenza, seleziona un intervallo sull'istogramma. Fai clic sul punto in cui desideri avviare la selezione e trascina da sinistra verso destra per evidenziare un intervallo di latenze da includere nel filtro dei tracciamenti.

![\[Seleziona un intervallo per visualizzare i tracciamenti facendo clic sul punto in cui desideri avviare la selezione e trascinando verso destra per creare l'intervallo per il filtro dei tracciamenti\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/scorekeep-servicemap-servicedetails-selection.png)


Dopo aver selezionato un intervallo, puoi scegliere **Zoom** per visualizzare solo quella parte di istogramma e restringere la selezione.

![\[Scegli lo zoom per visualizzare l'intervallo selezionato nell'istogramma\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/scorekeep-servicemap-servicedetails-zoom.png)


Una volta impostata l'area di interesse, scegli **View traces (Visualizza tracciamenti)**.

# Utilizzo di X-Ray Insights
<a name="xray-console-insights"></a>

AWS X-Ray analizza continuamente i dati di traccia presenti nel tuo account per identificare problemi emergenti nelle tue applicazioni. Quando le percentuali di errore superano l'intervallo previsto, crea una *panoramica* che registra il problema e ne monitora l'impatto fino alla sua risoluzione. Con Insights, puoi:
+ Identifica l'area dell'applicazione in cui si verificano i problemi, la causa principale del problema e l'impatto associato. L'analisi dell'impatto fornita da Insights consente di determinare la gravità e la priorità di un problema.
+ Ricevi notifiche man mano che il problema cambia nel tempo. Le notifiche Insights possono essere integrate con la tua soluzione di monitoraggio e avviso utilizzando Amazon EventBridge. Questa integrazione ti consente di inviare e-mail o avvisi automatici in base alla gravità del problema.

La console X-Ray identifica i nodi con incidenti in corso nella mappa di tracciamento. Per visualizzare un riepilogo delle informazioni, scegli il nodo interessato. Puoi anche visualizzare e filtrare gli approfondimenti scegliendo **Insights** dal riquadro di navigazione a sinistra.

![\[Tieni traccia del nodo della mappa con un riepilogo delle informazioni.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-insights-servicemap.png)


X-Ray crea informazioni dettagliate quando rileva un'*anomalia* in uno o più nodi della mappa dei servizi. Il servizio utilizza modelli statistici per prevedere i tassi di errore previsti dei servizi dell'applicazione. Nell'esempio precedente, l'anomalia è un aumento dei guasti da. AWS Elastic Beanstalk Il server Elastic Beanstalk ha registrato diversi timeout delle chiamate API, che hanno causato un'anomalia nei nodi downstream.

## Abilita gli approfondimenti nella console X-Ray
<a name="xray-console-enable-insights"></a>

Insights deve essere abilitato per ogni gruppo con cui desideri utilizzare le funzionalità di Insights. Puoi abilitare gli approfondimenti dalla pagina **Gruppi**.

1. Apri la console [X-Ray](https://console.aws.amazon.com/xray/home#).

1. Seleziona un gruppo esistente o creane uno nuovo scegliendo **Crea gruppo**, quindi seleziona **Abilita Insights.** Per ulteriori informazioni sulla configurazione dei gruppi nella console X-Ray, vedere. [Configurazione dei gruppi](xray-console-groups.md)

1. Nel riquadro di navigazione a sinistra, scegli **Insights**, quindi scegli un approfondimento da visualizzare.  
![\[Elenco di approfondimenti nella console X-Ray.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-insights.png)

**Nota**  
X-Ray utilizza GetInsightSummaries, GetInsight GetInsightEvents, e le operazioni GetInsightImpactGraph API per recuperare i dati dagli approfondimenti.  
Per ulteriori informazioni, consulta [Come AWS X-Ray funziona con IAM](security_iam_service-with-iam.md). 

## Abilita le notifiche di approfondimenti
<a name="xray-console-insight-notifications"></a>

Con le notifiche di approfondimenti, viene creata una notifica per ogni evento di approfondimento, ad esempio quando un approfondimento viene creato, cambia in modo significativo o viene chiuso. I clienti possono ricevere queste notifiche tramite Amazon EventBridge Events e utilizzare regole condizionali per intraprendere azioni come la notifica SNS, la chiamata Lambda, la pubblicazione di messaggi su una coda SQS o uno qualsiasi dei target supportati. EventBridge Le notifiche Insights vengono emesse con la massima diligenza possibile, ma non sono garantite. Per ulteriori informazioni sugli obiettivi, consulta [Amazon EventBridge Targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-targets.html).

Puoi abilitare le notifiche di Insights per qualsiasi gruppo abilitato a Insights dalla pagina **Gruppi**.

**Per abilitare le notifiche per un gruppo X-Ray**

1. Apri la console [X-Ray](https://console.aws.amazon.com/xray/home#).

1. Seleziona un gruppo esistente o creane uno nuovo scegliendo **Crea gruppo**, assicurati che sia selezionato **Enable Insights**, quindi seleziona **Abilita notifiche.** Per ulteriori informazioni sulla configurazione dei gruppi nella console X-Ray, vedere. [Configurazione dei gruppi](xray-console-groups.md)

**Per configurare le regole EventBridge condizionali di Amazon**

1. Apri la [ EventBridge console Amazon](https://console.aws.amazon.com/events/home).

1. Vai a **Regole** nella barra di navigazione a sinistra e scegli **Crea regola**.

1. Fornisci un nome e una descrizione per la regola.

1. Scegli **Modello di evento**, quindi scegli **Modello personalizzato**. Fornisci uno schema contenente `"source": [ "aws.xray" ]` e`"detail-type": [ "AWS X-Ray Insight Update" ]`. Di seguito sono riportati alcuni esempi di modelli possibili.
   + Schema di eventi per abbinare tutti gli eventi in arrivo da X-Ray Insights:

     ```
     {
     "source": [ "aws.xray" ],
     "detail-type": [ "AWS X-Ray Insight Update" ]
     }
     ```
   + Schema di eventi che corrisponda a uno specifico **state** e: **category**

     ```
              
     {
     "source": [ "aws.xray" ],
     "detail-type": [ "AWS X-Ray Insight Update" ],
     "detail": {
             "State": [ "ACTIVE" ],
             "Category": [ "FAULT" ]
       }
     }
     ```

1. Seleziona e configura i target che desideri richiamare quando un evento corrisponde a questa regola.

1. (Facoltativo) Fornisci tag per identificare e selezionare più facilmente questa regola.

1. Scegli **Create** (Crea).

**Nota**  
 Le notifiche X-Ray Insights inviano eventi ad Amazon EventBridge, che attualmente non supporta le chiavi gestite dai clienti. Per ulteriori informazioni, consulta [Protezione dei dati in AWS X-Ray](xray-console-encryption.md).

## Panoramica di Insight
<a name="xray-console-insights-overview"></a><a name="anomalous-service"></a>

La pagina di panoramica per un approfondimento tenta di rispondere a tre domande chiave: 
+ Qual è il problema di fondo?
+ Qual è la causa principale?
+ Qual è l'impatto?

La sezione **Servizi anomali** mostra una sequenza temporale per ogni servizio che illustra la variazione delle percentuali di guasto durante l'incidente. La sequenza temporale mostra il numero di tracce con guasti sovrapposti su una banda continua che indica il numero previsto di guasti in base alla quantità di traffico registrata. *La durata dell'analisi viene visualizzata nella finestra Incidente.* La finestra incidente inizia quando X-Ray osserva che la metrica diventa anomala e persiste mentre l'analisi è attiva.

L'esempio seguente mostra un aumento dei guasti che hanno causato un incidente:

![\[Pagina di panoramica di un X-Ray Insight.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-insights-overview.png)
<a name="root-cause"></a>

La sezione **Root Cause** mostra una mappa di traccia incentrata sul servizio della causa principale e sul percorso interessato. È possibile nascondere i nodi non interessati selezionando l'icona a forma di occhio in alto a destra nella mappa della causa principale. Il servizio root cause è il nodo più a valle in cui X-Ray ha identificato un'anomalia. Può rappresentare un servizio strumentato dall'utente o un servizio esterno richiamato dal servizio con un client dotato di strumentazione. Ad esempio, se chiami Amazon DynamoDB con un client SDK AWS strumentato, un aumento degli errori causati da DynamoDB si traduce in un'analisi approfondita con DynamoDB come causa principale. 

Per approfondire la causa principale, seleziona **Visualizza** i dettagli della causa principale nel grafico della causa principale. Puoi utilizzare la pagina **Analytics** per esaminare la causa principale e i messaggi correlati. Per ulteriori informazioni, consulta [Interazione con la console di analisi](xray-console-analytics.md).

![\[Pagina di panoramica di un X-Ray Insight.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-insights-root-cause.png)
<a name="impact"></a>

I guasti che continuano a monte della mappa possono avere un impatto su più nodi e causare anomalie multiple. *Se un errore viene passato all'utente che ha effettuato la richiesta, il risultato è un errore del client.* Si tratta di un errore nel nodo principale della mappa di traccia. Il grafico **Impact** fornisce una cronologia dell'esperienza del cliente per l'intero gruppo. **Questa esperienza viene calcolata in base alle percentuali dei seguenti stati: **Fault**, **Error**, **Throttle** e Okay.**

![\[Grafico d'impatto per un incidente a raggi X.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-insights-impact.png)


Questo esempio mostra un aumento delle tracce con un guasto al nodo principale durante il periodo di un incidente. Gli incidenti nei servizi downstream non sempre corrispondono a un aumento degli errori dei client.

Scegliendo **Analyze insight** si apre la console di X-Ray Analytics in una finestra in cui è possibile approfondire l'insieme di tracce che causano l'analisi. Per ulteriori informazioni, consulta [Interazione con la console di analisi](xray-console-analytics.md). 

**Comprendere l'impatto**

AWS X-Ray misura l'impatto causato da un problema in corso nell'ambito della generazione di approfondimenti e notifiche. L'impatto viene misurato in due modi:
+ [Impatto sul gruppo X-Ray](xray-console-groups.md)
+ Impatto sul servizio root cause

Questo impatto è determinato dalla percentuale di richieste che non riescono o causano un errore entro un determinato periodo di tempo. Questa analisi dell'impatto consente di determinare la gravità e la priorità del problema in base allo scenario specifico. Questo impatto è disponibile come parte dell'esperienza da console, oltre alle notifiche di approfondimenti.

**Deduplicazione**

AWS X-Ray insights deduplica i problemi su più microservizi. Utilizza il rilevamento delle anomalie per determinare il servizio che è la causa principale di un problema, determina se altri servizi correlati presentano un comportamento anomalo dovuto alla stessa causa principale e registra il risultato come un'unica analisi.

## Esamina lo stato di avanzamento di un'analisi
<a name="xray-console-insights-inspect"></a>

X-Ray rivaluta periodicamente gli approfondimenti fino a quando non vengono risolti e registra ogni modifica intermedia importante come [notifica](#xray-console-insight-notifications), che può essere inviata come evento Amazon. EventBridge Ciò consente di creare processi e flussi di lavoro per determinare in che modo il problema è cambiato nel tempo e di intraprendere le azioni appropriate, come l'invio di un'e-mail o l'integrazione con un sistema di avviso utilizzando. EventBridge

**È possibile esaminare gli eventi relativi agli incidenti nella **Cronologia degli impatti** nella pagina Inspect.** Per impostazione predefinita, la cronologia mostra il servizio più interessato fino a quando non si sceglie un servizio diverso.

![\[Ispeziona la pagina con la cronologia degli impatti.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-insights-inspect.png)
<a name="impact-analysis"></a>

Per visualizzare una mappa di tracciamento e i grafici di un evento, sceglili dalla timeline dell'impatto. La mappa di tracciamento mostra i servizi dell'applicazione interessati dall'incidente. Nella sezione **Analisi dell'impatto**, i grafici mostrano le tempistiche dei guasti per il nodo selezionato e per i client del gruppo.

![\[Grafico di analisi dell'impatto per una visione a raggi X.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/console-insights-inspect-analysis.png)


Per dare un'occhiata più approfondita alle tracce coinvolte in un incidente, scegli **Analizza evento** nella pagina **Inspect**. Puoi utilizzare la pagina **Analytics** per rifinire l'elenco delle tracce e identificare gli utenti interessati. Per ulteriori informazioni, consulta [Interazione con la console di analisi](xray-console-analytics.md).

# Interazione con la console di analisi
<a name="xray-console-analytics"></a>

La console AWS X-Ray Analytics è uno strumento interattivo per interpretare i dati di traccia per comprendere rapidamente le prestazioni dell'applicazione e dei servizi sottostanti. La console consente di esplorare, analizzare e visualizzare i tracciamenti tramite tempo di risposta interattivo e grafici di serie temporali. 

Quando si effettuano selezioni nella console di analisi, la console crea dei filtri per riflettere il sottoinsieme selezionato di tutti i tracciamenti. È possibile definire il set di dati attivo con filtri sempre più granulari facendo clic sui grafici e i pannelli di parametri e campi associati con il set di tracciamenti corrente.

**Topics**
+ [Caratteristiche della console](#xray-console-analytics-features)
+ [Distribuzione del tempo di risposta](#xray-console-analytics-response)
+ [Attività delle serie temporali](#xray-console-analytics-time)
+ [Esempi di flussi di lavoro](#xray-console-analytics-workflows)
+ [Osservare gli errori sul grafico di servizio](#xray-console-analytics-observe-faults)
+ [Identificare i picchi del tempo di risposta](#xray-console-analytics-response-peaks)
+ [Visualizzare tutti le tracce contrassegnate con un codice di stato](#xray-console-analytics-response-peaks)
+ [Visualizzare tutti gli elementi in un sottogruppo e associati a un utente](#xray-console-analytics-subgroups)
+ [Confrontare due set di tracce con criteri diversi](#xray-console-analytics-compare)
+ [Identificare un tracciamento rilevante e visualizzare i dettagli](#xray-console-analytics-identify)

## Caratteristiche della console
<a name="xray-console-analytics-features"></a>

La console X-Ray Analytics utilizza le seguenti funzionalità chiave per raggruppare, filtrare, confrontare e quantificare i dati di traccia.

### Funzionalità
<a name="xray-console-analytics-features-table"></a>


| Funzionalità | Descrizione | 
| --- | --- | 
|  **Groups (Gruppi)**  |  Il gruppo selezionato inizialmente è `Default`. Per modificare il gruppo recuperato, selezionare un gruppo diverso dal menu a destra della barra di ricerca dell’espressione di filtro principale. Per ulteriori informazioni sui gruppi, consulta [Utilizzo delle espressioni filtro con i gruppi](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html#groups).  | 
|  **Retrieved traces (Tracciamenti recuperati)**  |  Per impostazione predefinita, la console di analisi genera grafici in base a tutti i tracciamenti nel gruppo selezionato. I tracciamenti recuperati rappresentano tutti i tracciamenti nel set di lavoro. Puoi trovare il conteggio dei tracciamenti in questo riquadro. Le espressioni di filtro applicate alla barra di ricerca principale definiscono e aggiornano i tracciamenti recuperati.  | 
|  **Show in charts/Hide from charts (Mostra in grafici/Nascondi da grafici)**  |  Un elemento di attivazione/disattivazione per confrontare il gruppo attivo rispetto ai tracciamenti recuperati. Per confrontare i dati relativi al gruppo rispetto a tutti i filtri attivi, scegliere **Show in charts (Mostra in grafici)**. Per rimuovere questa visualizzazione dai grafici, scegliere **Hide from charts (Nascondi da grafici)**.  | 
|  **Filtered trace set A (Set di tracciamenti filtrato A)**  |  **Attraverso le interazioni con i grafici e le tabelle, applica i filtri per creare i criteri per il set di tracce filtrato A.** Man mano che i filtri vengono applicati, il numero di tracce applicabili e la percentuale di tracce recuperate rispetto al totale vengono calcolati all'interno di questo riquadro. I filtri sono inseriti come tag all'interno del riquadro **Filtered trace set A (Set di tracce filtrate A** e possono anche essere rimossi dal riquadro.  | 
|  **Refine (Definisci)**  |  Questa funzione aggiorna il set di tracce recuperate in base ai filtri applicati al set di tracce A. Il perfezionamento del set di tracce recuperate aggiorna il working set di tutte le tracce recuperate in base ai filtri per il set di tracce A. Il working set di tracce recuperate è un sottoinsieme campionato di tutte le tracce nel gruppo.  | 
|  **Filtered trace set B (Set di tracciamenti filtrato B)**  |  Una volta creato, il **set di tracce filtrato B** è una copia del set di **tracce filtrato A.** Per confrontare i due set di tracce, effettuate nuove selezioni di filtri da applicare al set di tracce B, mentre il set di tracce A rimane fisso. Quando i filtri vengono applicati, il numero di tracciamenti applicabili e la percentuale di tracciamenti dal totale recuperati sono calcolati all'interno di questo riquadro. I filtri sono inseriti come tag all'interno del riquadro **Filtered trace set B (Set di tracce filtrate B)** e possono anche essere rimossi dal riquadro.  | 
|  **Response Time Root Cause Entity Paths (Percorsi di entità causa principale del tempo di risposta)**  |  Una tabella dei percorsi delle entità registrate. X-Ray determina quale percorso della traccia è la causa più probabile del tempo di risposta. Il formato indica una gerarchia di entità incontrate che termina in una causa principale del tempo di risposta. Utilizza queste righe per filtrare gli errori ricorrenti del tempo di risposta. Per ulteriori informazioni sulla personalizzazione di un filtro di causa principale e su come ottenere i dati tramite l'API, consultare l'argomento relativo al [recupero e definizione dell’analisi delle cause principali](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-gettingdata.html#xray-api-analytics).  | 
|  **Delta (**�**)**  |  Una colonna che viene aggiunta alle tabelle di parametri quando sia il set di tracce A che il set di tracce B sono attivi. La colonna del Delta calcola la differenza nella percentuale di tracce tra il set di tracce A e il set di tracce B.   | 

## Distribuzione del tempo di risposta
<a name="xray-console-analytics-response"></a>

**La console X-Ray Analytics genera due grafici principali per aiutarti a visualizzare le tracce: la **distribuzione del tempo di risposta e l'attività delle serie temporali**.** In questa sezione e nella seguente sono forniti esempi di ognuno e le informazioni di base per leggere i grafici. 

Di seguito sono elencati i colori associati al grafico della linea temporale di risposta (il grafico delle serie temporali impiega la stessa combinazione di colori): 
+ **Tutte le tracce del gruppo: grigie**
+ **Tracce recuperate**: arancione
+ **Set di tracce filtrate A** — verde
+ **Set di tracce filtrate B** — blu

**Example — Distribuzione del tempo di risposta**  
La distribuzione del tempo di risposta è un grafico che mostra il numero di tracciamenti con un determinato tempo di risposta. Fare clic e trascinare per effettuare selezioni all'interno della distribuzione del tempo di risposta. Questa operazione seleziona e crea un filtro sul set di tracciamenti di lavoro denominato `responseTime` per tutti i tracciamenti all'interno di un determinato tempo di risposta.  

![\[Un grafico che mostra la distribuzione dei tempi di risposta delle tracce.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/analytics-responseTime.png)


## Attività delle serie temporali
<a name="xray-console-analytics-time"></a>

Il grafico dell’attività di serie temporali mostra il numero di tracciamenti in un determinato intervallo di tempo. Gli indicatori di colore rispecchiano i colore del grafico a linee della distribuzione del tempo di risposta. Più è scuro e pieno il blocco di colore all’interno della serie dell’attività, più sono i tracciamenti rappresentati in quel determinato momento. 

**Example — Attività delle serie temporali**  
Fare clic e trascinare per effettuare selezioni all'interno del grafico di attività delle serie temporali. Questa operazione seleziona e crea un filtro denominato `timerange` sul set di tracciamenti di lavoro per tutti i tracciamenti all'interno di uno specifico intervallo di tempo.  

![\[Effettuare una selezione e creare un filtro\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/analytics-timeSeries.png)


## Esempi di flussi di lavoro
<a name="xray-console-analytics-workflows"></a>

Gli esempi seguenti mostrano casi d'uso comuni per la console X-Ray Analytics. Ogni esempio illustra una funzione chiave dell'esperienza della console. Come gruppo, gli esempi seguono un flusso di lavoro di risoluzione dei problemi di base. La procedura illustra come individuare i nodi non integri e quindi come interagire con la console di Analytics per generare automaticamente query comparative. Una volta ristretto l'ambito attraverso le query, sarà possibile visualizzare finalmente i dettagli delle tracce di interesse per determinare cosa sta danneggiando lo stato del servizio.

## Osservare gli errori sul grafico di servizio
<a name="xray-console-analytics-observe-faults"></a>

La mappa di traccia indica lo stato di salute di ogni nodo colorandolo in base al rapporto tra chiamate riuscite ed errori e guasti. Quando viene visualizzata una percentuale di rosso sul nodo, è segnalato un errore. Usa la console X-Ray Analytics per analizzarlo. 

Per ulteriori informazioni su come leggere la mappa di traccia, vedere [Visualizzazione della mappa di traccia](https://docs.aws.amazon.com/xray/latest/devguide/xray-console.html#xray-console-servicemap).

![\[Osservare un errore\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/scorekeep-gettingstarted-servicemap-before-2021.png)


## Identificare i picchi del tempo di risposta
<a name="xray-console-analytics-response-peaks"></a>

Utilizzando la distribuzione del tempo di risposta, è possibile osservare i picchi nel tempo di risposta. Selezionando questo picco nel tempo di risposta, le tabelle sotto i grafici si aggiorneranno per esporre tutti i parametri associati, come i codici di stato.

Quando si fa clic e si trascina, X-Ray seleziona e crea un filtro. Viene mostrato in un'ombreggiatura grigia sulla parte superiore delle righe del grafico. È ora possibile trascinare l'ombreggiatura a sinistra e destra lungo la distribuzione per aggiornare la selezione e il filtro.

![\[Effettuare una selezione e creare un filtro\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/analytics-showFilterf.png)


## Visualizzare tutti le tracce contrassegnate con un codice di stato
<a name="xray-console-analytics-response-peaks"></a>

È possibile esaminare i dettagli dei tracciamenti all'interno del picco selezionato utilizzando le tabelle di parametri sotto ai grafici. Facendo clic su una riga nella tabella **HTTP STATUS CODE**, viene creato automaticamente un filtro sul set di dati di lavoro. Ad esempio, è possibile visualizzare tutti i tracciamenti del codice di stato 500. In questo modo viene creato un tag di filtro nel riquadro del set di tracciamenti denominato `http.status`.

## Visualizzare tutti gli elementi in un sottogruppo e associati a un utente
<a name="xray-console-analytics-subgroups"></a>

Analizzare il set di errori in base a utente, URL, causa principale del tempo di risposta o altri attributi predefiniti. Ad esempio, per filtrare ulteriormente il set di tracciamenti con un codice di stato 500, selezionare una riga dalla tabella **USERS**. Questo crea due tag di filtro nel riquadro del set di tracciamenti: `http.status`, come indicato in precedenza, e `user`.

## Confrontare due set di tracce con criteri diversi
<a name="xray-console-analytics-compare"></a>

Confrontare i diversi utenti e le relative richieste POST per trovare altre discrepanze e correlazioni. Applicare il primo set di filtri. Questi sono definiti da una linea blu nella distribuzione del tempo di risposta. Quindi selezionare **Compare (Confronta)**. Inizialmente, questo crea una copia dei filtri nel set di tracciamenti A. 

Per procedere, definire un nuovo set di filtri da applicare al set di tracciamenti B. Questo secondo set è rappresentato da una linea verde. L'esempio seguente mostra le diverse linee in base allo schema di colori blu e verde.

![\[Confronto del grafico a linee\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/analytics-compareLines.png)


## Identificare un tracciamento rilevante e visualizzare i dettagli
<a name="xray-console-analytics-identify"></a>

Quando si delimita l’ambito usando i filtri della console, l’elenco dei tracciamenti sotto le tabelle di parametri diventa più significativo. La tabella dell’elenco delle tracce unisce le informazioni su **URL**, **USER** e **STATUS CODE** in un'unica visualizzazione. Per informazioni più approfondite, selezionare una riga di questa tabella per aprire la pagina dei dettagli del tracciamento e visualizzare la sequenza temporale e i dati non elaborati.

# Configurazione dei gruppi
<a name="xray-console-groups"></a>

I gruppi costituiscono una raccolta di tracciamenti definiti da un'espressione di filtro. Puoi utilizzare i gruppi per generare grafici di servizio aggiuntivi e fornire CloudWatch metriche Amazon. Puoi utilizzare la AWS X-Ray console o l'API X-Ray per creare e gestire gruppi per i tuoi servizi. Questo argomento descrive come creare e gestire gruppi utilizzando la console X-Ray. Per informazioni su come gestire i gruppi utilizzando l'API X-Ray, vedere. [Gruppi](xray-api-configuration.md#xray-api-configuration-groups)

È possibile creare gruppi di tracce per mappe di traccia, tracce o analisi. Quando crei un gruppo, il gruppo diventa disponibile come filtro nel menu a discesa del gruppo su tutte e tre le pagine: **Trace Map**, **Traces** e **Analytics**.

![\[Menu di gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-menu.png)


I gruppi sono identificati dal nome o da un Amazon Resource Name (ARN) e contengono un'espressione di filtro. Il servizio confronta i tracciamenti in entrata con l'espressione e le memorizza di conseguenza. Per ulteriori informazioni su come creare un'espressione di filtro, vedere[Utilizzo delle espressioni di filtro](xray-console-filters.md).

L'aggiornamento dell'espressione di filtro di un gruppo non modifica i dati già registrati. L'aggiornamento si applica solo per le successive tracce. Ciò può comportare un grafo unito delle espressioni nuove e vecchie. Per evitare ciò, eliminate un gruppo corrente e createne uno nuovo.

**Nota**  
I gruppi sono fatturati per il numero di tracce recuperate corrispondenti all'espressione di filtro. Per ulteriori informazioni, consulta [Prezzi di AWS X-Ray](https://aws.amazon.com/xray/pricing/). 

**Topics**
+ [Creazione di un gruppo](#xray-console-group-create-console)
+ [Applica un gruppo](#xray-console-group-apply)
+ [Modifica un gruppo](#xray-console-group-edit)
+ [Clonare un gruppo](#xray-console-group-clone)
+ [Eliminazione di un gruppo](#xray-console-group-delete)
+ [Visualizza le metriche di gruppo in Amazon CloudWatch](#xray-console-group-cloudwatch)



## Creazione di un gruppo
<a name="xray-console-group-create-console"></a>

**Nota**  
Ora puoi configurare i gruppi X-Ray direttamente dalla console Amazon CloudWatch . È inoltre possibile continuare a utilizzare la console X-Ray. 

------
#### [ CloudWatch console ]

1. Accedi a Console di gestione AWS e apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Scegli **Impostazioni** nel riquadro di navigazione a sinistra.

1. Scegli **Visualizza impostazioni** in **Gruppi** all'interno della sezione **Tracce X-Ray**.

1. Scegli **Crea gruppo** sopra l'elenco dei gruppi.

1. Nella pagina **Crea gruppo**, inserisci un nome per il gruppo. Il nome di un gruppo può avere un massimo di 32 caratteri e contenere caratteri alfanumerici e trattini. I nomi dei gruppi distinguono tra maiuscole e minuscole

1. Immettere un'espressione di filtro. Per ulteriori informazioni su come creare un'espressione di filtro, vedere[Utilizzo delle espressioni di filtro](xray-console-filters.md). Nell'esempio seguente, il gruppo filtra le tracce di errore provenienti dal servizio `api.example.com` e le richieste al servizio in cui il tempo di risposta è stato maggiore o uguale a cinque secondi.

   ```
   fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
   ```

1. In **Insights**, abilita o disabilita l'accesso a Insights per il gruppo. Per ulteriori informazioni sulle informazioni dettagliate, consulta [Utilizzo di X-Ray Insights](xray-console-insights.md).  
![\[Caselle di controllo Insights nella pagina del gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-insights-cw.png)

1. In **Tag**, scegli **Aggiungi nuovo tag** per inserire una chiave di tag e, facoltativamente, un valore per il tag. Continua ad aggiungere altri tag, se lo desideri. Le chiavi dei tag devono essere uniche. Per eliminare un tag, scegli **Rimuovi** sotto ogni tag. Per ulteriori informazioni sui tag, consulta [Etichettatura delle regole e dei gruppi di campionamento a raggi X](xray-tagging.md).  
![\[Contrassegna i campi nella pagina del gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-tags-cw.png)

1. Seleziona **Crea gruppo**.

------
#### [ X-Ray console ]

1. [Accedi Console di gestione AWS e apri la console X-Ray a casahttps://console.aws.amazon.com/xray/.](https://console.aws.amazon.com/xray/home)

1. Apri la pagina **Crea gruppo** dalla pagina **Gruppi** nel riquadro di navigazione a sinistra o dal menu di gruppo in una delle seguenti pagine: **Trace Map**, **Traces** e **Analytics**.

1. Nella pagina **Crea gruppo**, inserisci un nome per il gruppo. Il nome di un gruppo può avere un massimo di 32 caratteri e contenere caratteri alfanumerici e trattini. I nomi dei gruppi distinguono tra maiuscole e minuscole

1. Immettere un'espressione di filtro. Per ulteriori informazioni su come creare un'espressione di filtro, vedere[Utilizzo delle espressioni di filtro](xray-console-filters.md). Nell'esempio seguente, il gruppo filtra le tracce di errore provenienti dal servizio `api.example.com` e le richieste al servizio in cui il tempo di risposta è stato maggiore o uguale a cinque secondi.

   ```
   fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
   ```

1. In **Insights**, abilita o disabilita l'accesso a Insights per il gruppo. Per ulteriori informazioni sulle informazioni dettagliate, consulta [Utilizzo di X-Ray Insights](xray-console-insights.md).  
![\[Caselle di controllo Insights nella pagina del gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-insights.png)

1. In **Tag**, inserisci una chiave di tag e, facoltativamente, un valore del tag. Quando aggiungi un tag, viene visualizzata una nuova riga in cui inserire un altro tag. Le chiavi dei tag devono essere uniche. Per eliminare un tag, scegli **X** alla fine della riga del tag. Per ulteriori informazioni sui tag, consulta [Etichettatura delle regole e dei gruppi di campionamento a raggi X](xray-tagging.md).  
![\[Tagga i campi nella pagina del gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-tags.png)

1. Seleziona **Crea gruppo**.

------

## Applica un gruppo
<a name="xray-console-group-apply"></a>

------
#### [ CloudWatch console ]

1. Accedi a Console di gestione AWS e apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Apri una delle seguenti pagine dal riquadro di navigazione sotto Tracce **X-Ray**:
   + **Mappa di tracciamento**
   + **Tracce**

1. Immettete il nome di un gruppo nel **filtro di gruppo Filtra per X-Ray**. I dati mostrati nella pagina vengono modificati in base all'espressione di filtro impostata nel gruppo.

------
#### [ X-Ray console ]

1. [Accedi Console di gestione AWS e apri la console X-Ray a casahttps://console.aws.amazon.com/xray/.](https://console.aws.amazon.com/xray/home)

1. Apri una delle seguenti pagine dal pannello di navigazione:
   + **Mappa di tracciamento**
   + **Tracce**
   + **Analisi**

1. Nel menu del gruppo, scegli il gruppo in cui hai creato[Creazione di un gruppo](#xray-console-group-create-console). I dati mostrati nella pagina vengono modificati in base all'espressione di filtro impostata nel gruppo.

------

## Modifica un gruppo
<a name="xray-console-group-edit"></a>

------
#### [ CloudWatch console ]

1. Accedi a Console di gestione AWS e apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Scegli **Impostazioni** nel riquadro di navigazione a sinistra.

1. Scegli **Visualizza impostazioni** in **Gruppi** all'interno della sezione **Tracce X-Ray**.

1. Scegliete un gruppo dalla sezione **Gruppi**, quindi scegliete **Modifica**.

1. Sebbene non sia possibile rinominare un gruppo, è possibile aggiornare l'espressione del filtro. Per ulteriori informazioni su come creare un'espressione di filtro, consulta[Utilizzo delle espressioni di filtro](xray-console-filters.md). Nell'esempio seguente, il gruppo filtra le tracce di errore provenienti dal servizio`api.example.com`, in cui è contenuto l'indirizzo URL della richiesta`example/game`, e il tempo di risposta per le richieste è stato maggiore o uguale a cinque secondi.

   ```
   fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
   ```

1. In **Insights**, abilita o disabilita l'accesso a Insights per il gruppo. Per ulteriori informazioni sulle informazioni dettagliate, consulta [Utilizzo di X-Ray Insights](xray-console-insights.md).  
![\[Caselle di controllo Insights nella pagina del gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-insights-cw.png)

1. In **Tag**, scegli **Aggiungi nuovo tag** per inserire una chiave di tag e, facoltativamente, un valore per il tag. Continua ad aggiungere altri tag, se lo desideri. Le chiavi dei tag devono essere uniche. Per eliminare un tag, scegli **Rimuovi** sotto ogni tag. Per ulteriori informazioni sui tag, consulta [Etichettatura delle regole e dei gruppi di campionamento a raggi X](xray-tagging.md).  
![\[Contrassegna i campi nella pagina del gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-tags-cw.png)

1. Quando hai finito di aggiornare il gruppo, scegli **Aggiorna gruppo**.

------
#### [ X-Ray console ]

1. [Accedi Console di gestione AWS e apri la console X-Ray a casahttps://console.aws.amazon.com/xray/.](https://console.aws.amazon.com/xray/home)

1. Effettua una delle seguenti operazioni per aprire la pagina **Modifica gruppo**.

   1. Nella pagina **Gruppi**, scegli il nome di un gruppo per modificarlo.

   1. Nel menu del gruppo in una delle pagine seguenti, posiziona il puntatore su un gruppo, quindi scegli **Modifica**.
      + **Traccia la mappa**
      + **Tracce**
      + **Analisi**

1. Sebbene non sia possibile rinominare un gruppo, è possibile aggiornare l'espressione del filtro. Per ulteriori informazioni su come creare un'espressione di filtro, consulta[Utilizzo delle espressioni di filtro](xray-console-filters.md). Nell'esempio seguente, il gruppo filtra le tracce di errore provenienti dal servizio`api.example.com`, in cui è contenuto l'indirizzo URL della richiesta`example/game`, e il tempo di risposta per le richieste è stato maggiore o uguale a cinque secondi.

   ```
   fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
   ```

1. In **Insights**, abilita o disabilita gli approfondimenti e le notifiche di approfondimenti per il gruppo. Per ulteriori informazioni sulle informazioni dettagliate, consulta [Utilizzo di X-Ray Insights](xray-console-insights.md).  
![\[Caselle di controllo Insights nella pagina del gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-insights.png)

1. In **Tag**, modifica le chiavi e i valori dei tag. Le chiavi dei tag devono essere uniche. I valori dei tag sono facoltativi; puoi eliminarli, se lo desideri. Per eliminare un tag, scegli **X** alla fine della riga del tag. Per ulteriori informazioni sui tag, consulta [Etichettatura delle regole e dei gruppi di campionamento a raggi X](xray-tagging.md).  
![\[Tagga i campi nella pagina del gruppo\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/group-tags.png)

1. Quando hai finito di aggiornare il gruppo, scegli **Aggiorna gruppo**.

------

## Clonare un gruppo
<a name="xray-console-group-clone"></a>

La clonazione di un gruppo crea un nuovo gruppo con l'espressione di filtro e i tag di un gruppo esistente. Quando clonate un gruppo, il nuovo gruppo ha lo stesso nome del gruppo da cui è stato clonato, con l'`-clone`aggiunta del nome.

------
#### [ CloudWatch console ]

1. Accedi a Console di gestione AWS e apri la console all'indirizzo. CloudWatch [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)

1. Scegli **Impostazioni** nel riquadro di navigazione a sinistra.

1. Scegli **Visualizza impostazioni** in **Gruppi** all'interno della sezione **Tracce X-Ray**.

1. Scegli un gruppo dalla sezione **Gruppi**, quindi scegli **Clona**.

1. Nella pagina **Crea gruppo**, il nome del gruppo è *group-name*`-clone`. Facoltativamente, inserisci un nuovo nome per il gruppo. Il nome di un gruppo può avere un massimo di 32 caratteri e contenere caratteri alfanumerici e trattini. I nomi dei gruppi distinguono tra maiuscole e minuscole

1. È possibile mantenere l'espressione di filtro dal gruppo esistente o, facoltativamente, immettere una nuova espressione di filtro. Per ulteriori informazioni su come creare un'espressione di filtro, vedere[Utilizzo delle espressioni di filtro](xray-console-filters.md). Nell'esempio seguente, il gruppo filtra le tracce di errore provenienti dal servizio `api.example.com` e le richieste al servizio in cui il tempo di risposta è stato maggiore o uguale a cinque secondi.

   ```
   service("api.example.com") { fault = true OR responsetime >= 5 }
   ```

1. In **Tag**, modificate le chiavi e i valori dei tag, se necessario. Le chiavi dei tag devono essere uniche. I valori dei tag sono facoltativi; puoi eliminarli se lo desideri. Per eliminare un tag, scegli **X** alla fine della riga del tag. Per ulteriori informazioni sui tag, consulta [Etichettatura delle regole e dei gruppi di campionamento a raggi X](xray-tagging.md).

1. Seleziona **Crea gruppo**.

------
#### [ X-Ray console ]

1. [Accedi Console di gestione AWS e apri la console X-Ray a casahttps://console.aws.amazon.com/xray/.](https://console.aws.amazon.com/xray/home)

1. Apri la pagina **Gruppi** dal riquadro di navigazione a sinistra e scegli il nome del gruppo che desideri clonare.

1. Scegli il **gruppo Clone** dal menu **Azioni**.

1. Nella pagina **Crea gruppo**, il nome del gruppo è *group-name*`-clone`. Facoltativamente, inserisci un nuovo nome per il gruppo. Il nome di un gruppo può avere un massimo di 32 caratteri e contenere caratteri alfanumerici e trattini. I nomi dei gruppi distinguono tra maiuscole e minuscole

1. È possibile mantenere l'espressione di filtro dal gruppo esistente o, facoltativamente, immettere una nuova espressione di filtro. Per ulteriori informazioni su come creare un'espressione di filtro, vedere[Utilizzo delle espressioni di filtro](xray-console-filters.md). Nell'esempio seguente, il gruppo filtra le tracce di errore provenienti dal servizio `api.example.com` e le richieste al servizio in cui il tempo di risposta è stato maggiore o uguale a cinque secondi.

   ```
   service("api.example.com") { fault = true OR responsetime >= 5 }
   ```

1. In **Tag**, modificate le chiavi e i valori dei tag, se necessario. Le chiavi dei tag devono essere uniche. I valori dei tag sono facoltativi; puoi eliminarli se lo desideri. Per eliminare un tag, scegli **X** alla fine della riga del tag. Per ulteriori informazioni sui tag, consulta [Etichettatura delle regole e dei gruppi di campionamento a raggi X](xray-tagging.md).

1. Seleziona **Crea gruppo**.

------

## Eliminazione di un gruppo
<a name="xray-console-group-delete"></a>

Segui i passaggi descritti in questa sezione per eliminare un gruppo. Non puoi eliminare il gruppo **predefinito**.

------
#### [ CloudWatch console ]

1. Accedi a Console di gestione AWS e apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Scegli **Impostazioni** nel riquadro di navigazione a sinistra.

1. Scegli **Visualizza impostazioni** in **Gruppi** all'interno della sezione **Tracce X-Ray**.

1. Scegliete un gruppo dalla sezione **Gruppi**, quindi scegliete **Elimina**.

1. Quando ti viene richiesto di confermare, scegli **Elimina**.

------
#### [ X-Ray console ]

1. [Accedi Console di gestione AWS e apri la console X-Ray a casahttps://console.aws.amazon.com/xray/.](https://console.aws.amazon.com/xray/home)

1. Apri la pagina **Gruppi** dal riquadro di navigazione a sinistra e scegli il nome del gruppo che desideri eliminare.

1. Nel menu **Azioni**, scegli **Elimina gruppo**.

1. Quando ti viene richiesto di confermare, scegli **Elimina**.

------

## Visualizza le metriche di gruppo in Amazon CloudWatch
<a name="xray-console-group-cloudwatch"></a>

Dopo la creazione di un gruppo, le tracce in entrata vengono confrontate con l'espressione del filtro del gruppo mentre vengono archiviate nel servizio X-Ray. Le metriche relative al numero di tracce che soddisfano ogni criterio vengono pubblicate su Amazon CloudWatch ogni minuto. Scegliendo **Visualizza metrica** nella pagina **Modifica gruppo** si apre la CloudWatch console alla pagina **Metrica**. Per ulteriori informazioni su come utilizzare i CloudWatch parametri, consulta [Using Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) nella *Amazon CloudWatch User* Guide. 

------
#### [ CloudWatch console ]

1. Accedi Console di gestione AWS e apri la CloudWatch console all'indirizzo. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)

1. Scegli **Impostazioni** nel riquadro di navigazione a sinistra.

1. Scegli **Visualizza impostazioni** in **Gruppi** all'interno della sezione **Tracce X-Ray**.

1. Scegliete un gruppo dalla sezione **Gruppi**, quindi scegliete **Modifica**.

1. Nella pagina **Modifica gruppo**, scegli **Visualizza metrica**.

   La pagina **Metriche della CloudWatch ** console si apre in una nuova scheda.

------
#### [ X-Ray console ]

1. [Accedi Console di gestione AWS e apri la console X-Ray a casahttps://console.aws.amazon.com/xray/.](https://console.aws.amazon.com/xray/home)

1. Apri la pagina **Gruppi** dal riquadro di navigazione a sinistra, quindi scegli il nome del gruppo di cui desideri visualizzare le metriche.

1. Nella pagina **Modifica gruppo**, scegli **Visualizza metrica**.

   La pagina **Metriche della CloudWatch ** console si apre in una nuova scheda.

------

# Configurazione delle regole di campionamento di
<a name="xray-console-sampling"></a>

Puoi utilizzare la AWS X-Ray console per configurare le regole di campionamento per i tuoi servizi. AWS Distro for OpenTelemetry, X-Ray SDK Servizi AWS e che [supportano il tracciamento attivo](xray-services.md) con configurazioni di campionamento utilizzano regole di campionamento per determinare quali richieste registrare. 

**Topics**
+ [Configurazione delle regole di campionamento di](#xray-console-config)
+ [Personalizzazione delle regole di campionamento](#xray-console-custom)
+ [Opzioni delle regole di campionamento](#xray-console-sampling-options)
+ [Esempi di regole di campionamento](#xray-console-sampling-examples)
+ [Configurazione del servizio per l'utilizzo delle regole di campionamento](#xray-console-sampling-service)
+ [Visualizzazione dei risultati del campionamento](#xray-console-sampling-results)
+ [Fasi successive](#xray-console-sampling-nextsteps)

## Configurazione delle regole di campionamento di
<a name="xray-console-config"></a>

Puoi configurare il campionamento per i seguenti casi d'uso:
+ **API Gateway Entrypoint**: API Gateway supporta il campionamento e il tracciamento attivo. Per abilitare il tracciamento attivo su una fase API, consultare [Supporto di tracciamento attivo di Amazon API Gateway per AWS X-Ray](xray-services-apigateway.md).
+ **AWS AppSync**— AWS AppSync supporta il campionamento e il tracciamento attivo. Per abilitare il tracciamento attivo sulle AWS AppSync richieste, vedere [Tracciamento con AWS X-Ray](https://docs.aws.amazon.com/appsync/latest/devguide/x-ray-tracing.html).
+ **AWS Step Functions**— AWS Step Functions supporta il campionamento e il tracciamento attivo. Per abilitare il tracciamento attivo sulle macchine a AWS Step Functions stati, vedere [X-Ray tracing in Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html).
+ **Instrument AWS Distro per OpenTelemetry piattaforme di elaborazione: quando si utilizzano piattaforme** di elaborazione come Amazon, EC2 Amazon ECS o AWS Elastic Beanstalk, il campionamento è supportato se l'applicazione è stata strumentata con la versione più recente di AWS Distro for o X-Ray SDK. OpenTelemetry 

## Personalizzazione delle regole di campionamento
<a name="xray-console-custom"></a>

Personalizzando le regole di campionamento, puoi controllare la quantità di dati che registri. È inoltre possibile modificare il comportamento di campionamento senza modificare o ridistribuire il codice. Le regole di campionamento indicano a AWS Distro for OpenTelemetry (ADOT) o X-Ray SDK quante richieste registrare per una serie di criteri. Per impostazione predefinita, l'SDK registra la prima richiesta ogni secondo e il cinque percento di tutte le richieste aggiuntive. Una richiesta al secondo è la *riserva*. In questo modo viene registrata almeno una traccia al secondo, purché il servizio soddisfi le richieste. Cinque percento è la *percentuale* di richieste aggiuntive oltre la dimensione della riserva che vengono campionate.

Puoi configurare l'SDK X-Ray per leggere le regole di campionamento da un documento JSON incluso nel codice. Tuttavia, quando esegui più istanze del servizio, ogni istanza esegue il campionamento in modo indipendente. Ciò fa sì che la percentuale globale di richieste campionate aumenti perché tutte le riserve delle istanze sono cumulate insieme in modo efficace. Inoltre, per aggiornare le regole di campionamento locali, è necessario ridistribuire il codice.

Definendo le regole di campionamento nella console X-Ray [e configurando l'](#xray-console-sampling-service)SDK per leggere le regole dal servizio X-Ray, puoi evitare entrambi questi problemi. Il servizio gestisce la riserva per ciascuna regola e assegna delle quote ad ogni istanza del servizio per distribuire la riserva in modo uniforme, in base al numero di istanze in esecuzione. Il limite del serbatoio viene calcolato in base alle regole impostate. Poiché le regole sono configurate nel servizio, è possibile gestirle senza effettuare implementazioni aggiuntive.

**Nota**  
Quando si configurano le regole di campionamento, è fondamentale comprendere che il campionamento a raggi X è «basato sui genitori». Ciò significa che la decisione di campionamento viene presa una sola volta, in genere dal primo X-Ray-enabled servizio che gestisce la richiesta (il servizio «Root»).  
Se un servizio a valle riceve una richiesta che contiene già una decisione di campionamento da parte di un fornitore a monte, rispetterà tale decisione indipendentemente dalle regole di campionamento corrispondenti.  
Quando si applicano le regole: le regole di campionamento personalizzate hanno effetto solo sui servizi per i quali non è stata ancora presa una decisione sul campionamento. Questo di solito si applica a:  
Il punto di ingresso dell'applicazione (ad esempio, un API Gateway, un Load Balancer o il primo microservizio strumentato).
Processi o lavoratori asincroni che avviano una nuova traccia.
Errore comune: se si crea una regola di campionamento rigorosa per il «Servizio B», ma il «Servizio B» viene sempre chiamato dal «Servizio A», è probabile che la regola per il Servizio B non venga mai applicata perché segue semplicemente la decisione emessa dal Servizio A. Per modificare il campionamento delle tracce per questo flusso di lavoro, è necessario configurare la regola di campionamento sul servizio Root (Servizio A).

**Nota**  
X-Ray utilizza un approccio ottimale nell'applicazione delle regole di campionamento e, in alcuni casi, la frequenza di campionamento effettiva potrebbe non corrispondere esattamente alle regole di campionamento configurate. Tuttavia, nel tempo il numero di richieste campionate dovrebbe avvicinarsi alla percentuale configurata. 

Ora puoi configurare le regole di campionamento a raggi X direttamente dalla console Amazon. CloudWatch 

**Per configurare le regole di campionamento nella console CloudWatch**

1. Accedi a Console di gestione AWS e apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. **Scegli **Impostazioni** nel riquadro di navigazione a sinistra sotto Configurazione.**

1. Scegliete **Visualizza impostazioni** in **Regole di campionamento** all'interno della sezione **Tracce X-Ray**.

1. Per creare una regola, scegliere **Create sampling rule (Crea regola di campionamento)**.

   Per modificare una regola, scegliete una regola e scegliete **Modifica per modificarla**.

   Per eliminare una regola, scegli una regola e scegli **Elimina** per eliminarla.

## Opzioni delle regole di campionamento
<a name="xray-console-sampling-options"></a>

Per ogni regola sono disponibili le seguenti opzioni. I valori di stringa possono utilizzare caratteri jolly per corrispondere a un solo carattere (`?`) o a zero o a più caratteri (`*`).

**Opzioni delle regole di campionamento**
+ **Nome della regola** (stringa): un nome univoco per la regola.
+ **Priorità** (numero intero compreso tra 1 e 9999): la priorità della regola di campionamento. I servizi valutano le regole in ordine crescente di priorità e prendono una decisione sul campionamento in base alla prima regola corrispondente.
+ **Reservoir** (numero intero non negativo): un numero fisso di richieste corrispondenti allo strumento al secondo, prima dell'applicazione del tasso fisso. Il reservoir non viene utilizzato direttamente dai servizi, ma si applica a tutti i servizi che utilizzano la regola nel loro complesso.
+ **Tasso** (numero intero compreso tra 0 e 100): la percentuale di richieste corrispondenti allo strumento, dopo l'esaurimento del serbatoio. Quando configuri una regola di campionamento nella console, scegli una percentuale compresa tra 0 e 100. Quando configuri una regola di campionamento in un SDK client utilizzando un documento JSON, fornisci un valore percentuale compreso tra 0 e 1.
+ **Nome del servizio** (stringa): il nome del servizio strumentato, così come appare nella mappa di traccia.
  + X-Ray SDK: il nome del servizio configurato sul registratore.
  + Amazon API Gateway —`api-name/stage`.
+ **Tipo di servizio** (stringa): il tipo di servizio, così come appare nella mappa di traccia. Per X-Ray SDK, imposta il tipo di servizio applicando il plug-in appropriato:
  + `AWS::ElasticBeanstalk::Environment`— Un AWS Elastic Beanstalk ambiente (plugin).
  + `AWS::EC2::Instance`— Un' EC2 istanza Amazon (plugin).
  + `AWS::ECS::Container`— Un contenitore Amazon ECS (plug-in).
  + `AWS::EKS::Container`— Un contenitore Amazon EKS (plug-in).
  + `AWS::APIGateway::Stage`— Una fase di Amazon API Gateway.
  + `AWS::AppSync::GraphQLAPI `— Una richiesta AWS AppSync API.
  + `AWS::StepFunctions::StateMachine`— Una macchina a AWS Step Functions stati.
+ **Host** (stringa): il nome host dall'intestazione dell'host HTTP.
+ **Metodo HTTP** (stringa) — Il metodo della richiesta HTTP.
+ **Percorso URL** (stringa) — Il percorso URL della richiesta.
  + X-Ray SDK: la parte del percorso dell'URL della richiesta HTTP.
+ **ARN della risorsa** (stringa) — L'ARN della AWS risorsa che esegue il servizio.
  + X-Ray SDK: non supportato. L'SDK può solo utilizzare le regole con **Resource ARN (ARN risorse)** impostato su `*`.
  + Amazon API Gateway: l'ARN di fase.
+ (Facoltativo) **Attributi** (chiave e valore): attributi del segmento noti al momento della decisione di campionamento.
  + X-Ray SDK: non supportato. L'SDK ignora le regole che specificano degli attributi.
  + Amazon API Gateway: intestazioni della richiesta HTTP originale.
+ (Facoltativo) **SamplingRateBoost**(oggetto): controlla il comportamento di incremento del campionamento basato sulle anomalie.
  + MaxRate (numero intero compreso tra 0 e 100) — La frequenza di campionamento massima (0,0—1,0) I raggi X possono aumentare fino a durante le anomalie
  + CooldownWindowMinutes (numero intero maggiore di 0) — Intervallo temporale (minuti) in cui è possibile attivare un solo boost, impedendo aumenti continui

## Esempi di regole di campionamento
<a name="xray-console-sampling-examples"></a>

**Example — Regola predefinita senza riserva e tariffa bassa**  
Puoi modificare la riserva e la percentuale della regola di default. La regola di default si applica alle richieste che non soddisfano nessun'altra regola.  
+ **Serbatoio:** **0**
+ **Frequenza**: **5** (**0.05**se configurata utilizzando un documento JSON)

**Example — Regola di debug per tracciare tutte le richieste relative a un percorso problematico**  
Un regola ad alta priorità applicata temporaneamente per il debug.  
+ **Nome** della regola: **DEBUG – history updates**
+ **Priorità**: **1**
+ **Serbatoio:** **1**
+ **Frequenza**: **100** (**1**se configurata utilizzando un documento JSON)
+ **Nome del servizio:** **Scorekeep**
+ **Tipo di servizio:** **\$1**
+ **Ospite**: **\$1**
+ **Metodo HTTP**: **PUT**
+ **Percorso URL**: **/history/\$1**
+ **ARN della risorsa**: **\$1**

**Example — Tariffa minima più elevata per POSTs**  
+ **Nome della regola**: **POST minimum**
+ **Priorità**: **100**
+ **Serbatoio:** **10**
+ **Frequenza**: **10** (**.1**se configurata utilizzando un documento JSON)
+ **Nome del servizio:** **\$1**
+ **Tipo di servizio:** **\$1**
+ **Ospite**: **\$1**
+ **Metodo HTTP**: **POST**
+ **Percorso URL**: **\$1**
+ **ARN della risorsa**: **\$1**

**Example Abilita il potenziamento basato sulle anomalie**  
Configura una regola che attivi un aumento del campionamento fino al 50% durante le anomalie, con un tempo di recupero di 10 minuti.  
+ **Nome della regola:** **MyAdaptiveRule**
+ **Priorità**: **100**
+ **Serbatoio:** **1**
+ **FixedRate**: **0.0510**
+ **Nome del servizio:** **\$1**
+ **Tipo di servizio:** **\$1**
+ **Ospite**: **\$1**
+ **Metodo HTTP**: **POST**
+ **Percorso URL**: **\$1**
+ **Velocità massima:** **0.5**
+ **cooldownWindowMinutes**: **10**

## Configurazione del servizio per l'utilizzo delle regole di campionamento
<a name="xray-console-sampling-service"></a>

L'SDK AWS Distro for OpenTelemetry (ADOT) e X-Ray richiedono una configurazione aggiuntiva per utilizzare le regole di campionamento configurate nella console. Consulta la sezione dedicata alla configurazione per il tuo linguaggio per scoprire i dettagli sulla configurazione di una strategia di campionamento:
+ Java: [utilizzo del campionamento remoto a raggi X](https://aws-otel.github.io/docs/getting-started/java-sdk/auto-instr#using-x-ray-remote-sampling) con ADOT Java
+ Go: [configurazione](https://aws-otel.github.io/docs/getting-started/go-sdk/manual-instr#configuring-sampling) del campionamento con ADOT Go
+ Node.js: [utilizzo del campionamento remoto a raggi X](https://aws-otel.github.io/docs/getting-started/js-sdk/trace-metric-auto-instr#using-x-ray-remote-sampling) con ADOT JavaScript
+ Python: utilizzo del campionamento [remoto a raggi X](https://aws-otel.github.io/docs/getting-started/python-sdk/auto-instr#using-x-ray-remote-sampling) con ADOT Python
+ Rubino: [Regole di campionamento](xray-sdk-ruby-configuration.md#xray-sdk-ruby-configuration-sampling)
+ .NET: [utilizzo del campionamento remoto a raggi X](https://aws-otel.github.io/docs/getting-started/dotnet-sdk/auto-instr#using-x-ray-remote-sampling) con ADOT .NET

Per API Gateway, vedere[Supporto di tracciamento attivo di Amazon API Gateway per AWS X-Ray](xray-services-apigateway.md).

## Visualizzazione dei risultati del campionamento
<a name="xray-console-sampling-results"></a>

La pagina di **campionamento** della console X-Ray mostra informazioni dettagliate su come i servizi utilizzano ciascuna regola di campionamento.

La colonna **Trend (Tendenza)** mostra come la regola è stata utilizzata negli ultimi minuti. Ogni colonna mostra le statistiche relative a una finestra di 10 secondi.

**Statistiche di campionamento**
+ Regola di **corrispondenza totale: il numero di richieste corrispondenti a questa regola**. Questo numero non include le richieste che avrebbero potuto soddisfare questa regola, ma che hanno soddisfatto prima una regola ad alta priorità.
+ **Totale campionato**: il numero di richieste registrate.
+ **Campionato con tasso fisso**: il numero di richieste campionate applicando la tariffa fissa della regola.
+ **Campionato con limite di riserva**: il numero di richieste campionate utilizzando una quota assegnata da X-Ray.
+ Prese **in prestito dal serbatoio**: il numero di richieste campionate prendendo in prestito dal serbatoio. La prima volta che un servizio abbina una richiesta a una regola, X-Ray non gli ha ancora assegnato una quota. Tuttavia, se il serbatoio è almeno 1, il servizio prende in prestito una traccia al secondo fino a quando X-Ray non assegna una quota.

Per ulteriori informazioni sulle statistiche di campionamento e su come i servizi utilizzano le regole di campionamento, consulta [Using sampling rules with the X-Ray API (Utilizzo delle regole di campionamento con l'API X-Ray)](xray-api-sampling.md).

## Fasi successive
<a name="xray-console-sampling-nextsteps"></a>

È possibile utilizzare l'API X-Ray per gestire le regole di campionamento. Con l'API puoi creare e aggiornare le regole in modo programmatico in base a una pianificazione o in risposta ad allarmi o notifiche. Consulta [Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API AWS X-Ray](xray-api-configuration.md) per le istruzioni di utilizzo e ulteriori esempi di regole.

 AWS Distro for OpenTelemetry, X-Ray SDK Servizi AWS e X-Ray utilizzano anche l'API X-Ray per leggere le regole di campionamento, riportare i risultati del campionamento e ottenere obiettivi di campionamento. I servizi devono tenere traccia della frequenza con cui applicano ogni regola, valutare le regole in base alla priorità e prendere in prestito dal serbatoio quando una richiesta corrisponde a una regola per la quale X-Ray non ha ancora assegnato una quota al servizio. Per ulteriori informazioni su come un servizio utilizza l'API per la campionatura, consulta [Using sampling rules with the X-Ray API (Utilizzo delle regole di campionamento con l'API X-Ray)](xray-api-sampling.md).

Quando AWS Distro for OpenTelemetry o X-Ray SDK effettuano il APIs campionamento delle chiamate, usano CloudWatch l'agente come proxy. Se utilizzi già la porta TCP 2000, puoi configurare l'agente per eseguire il proxy su una porta diversa. Per i dettagli, consulta la [guida all'installazione dell'CloudWatch agente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html).

# Configurazione del campionamento adattivo
<a name="xray-adaptive-sampling"></a>

La mancanza di tracce critiche durante i picchi di anomalia può rendere difficile l'analisi della causa principale. Tuttavia, mantenere frequenze di campionamento elevate è costoso. Il campionamento adattivo a raggi X offre una visibilità completa sulle anomalie e controlla i costi durante le normali operazioni. Con il campionamento adattivo, si imposta una frequenza di campionamento massima e X-Ray si regola automaticamente entro tale limite. X-Ray calcola l'incremento minimo necessario per acquisire le tracce di errore. Se la frequenza di base acquisisce una quantità sufficiente di dati, non si verifica alcun aumento. Paghi solo per il campionamento aggiuntivo quando necessario.

Vantaggi dell'utilizzo del campionamento adattivo:
+ Visibilità completa degli incidenti: ottieni tracce complete durante gli incidenti senza intervento manuale. X-Ray regola automaticamente le frequenze di campionamento per catturare le tracce di errore, quindi torna alle frequenze normali.
+ Visibilità della causa principale: individua sempre l'origine dei problemi. X-Ray acquisisce dati di errore critici anche quando non viene attivato il campionamento completo delle tracce.
+ Ottimizzazione dei costi: brevi incrementi di campionamento (fino a 1 minuto) e periodi di raffreddamento automatici impediscono il sovracampionamento. Paghi solo per i dati necessari per diagnosticare i problemi.

**Topics**
+ [Supportati SDKs e piattaforme](#adaptive-sampling-supported-sdks)
+ [Scegli il tuo approccio di campionamento adattivo](#adaptive-sampling-features)
+ [Configurazione SDK locale](#local-sdk-configuration)

## Supportati SDKs e piattaforme
<a name="adaptive-sampling-supported-sdks"></a>

**SDK supportato**: il campionamento adattivo richiede l'ultima versione di ADOT SDK.

**Linguaggio supportato**[: Java (versione v2.11.5 o successiva)](https://github.com/aws-observability/aws-otel-java-instrumentation/releases/tag/v2.11.5)

La tua applicazione deve essere dotata dell'SDK ADOT supportato ed eseguita insieme ad Amazon CloudWatch Agent o Collector. OpenTelemetry 

Ad esempio, Amazon EC2, Amazon ECS e Amazon EKS sono piattaforme comuni in cui AWS Application Signals fornisce indicazioni per abilitare l'SDK ADOT e Amazon Agent. CloudWatch 

## Scegli il tuo approccio di campionamento adattivo
<a name="adaptive-sampling-features"></a>

Il campionamento adattivo supporta due approcci, Sampling Boost e Anomaly Span Capture. Questi possono essere applicati indipendentemente o combinati tra loro.

### Incremento del campionamento
<a name="adaptive-sampling-boost"></a>

Adaptive Sampling Boost si basa su regole di campionamento e funziona con il modello di campionamento basato su testine X-Ray esistente. Il campionamento basato sulle teste significa che le decisioni relative al campionamento vengono prese a livello di root service e il flag di campionamento viene trasmesso a valle a tutti i servizi della catena di chiamate.
+ Potenziamento **basato su regole: il potenziamento** è sempre legato a una regola di campionamento a raggi X specifica. Ogni regola può definire la propria frequenza di incremento massima e il proprio comportamento di raffreddamento.
+ **Campionamento basato sulla testa**: le decisioni relative al campionamento vengono prese presso il servizio root e il flag di campionamento viene passato a valle a tutti i servizi della catena di chiamate.
+ Basato sulle **anomalie:** X-Ray si affida all'SDK per riportare le statistiche sulle anomalie. Quando X-Ray rileva anomalie come errori o latenza elevata, utilizza queste statistiche per calcolare una frequenza di incremento appropriata (fino al massimo configurato).

**Segnalazione delle anomalie**

Ogni servizio applicativo nella catena di chiamate può emettere statistiche sulle anomalie tramite l'SDK richiesto:
+ **Servizio root**: deve essere eseguito su un SDK e una piattaforma supportati per abilitare il sampling boost. Se il servizio root non è supportato, non si verificherà alcun boost.
+ Servizi **downstream: i servizi** downstream segnalano solo le anomalie e non possono prendere decisioni di campionamento. Quando un servizio downstream esegue un SDK supportato, le anomalie rilevate possono innescare un aumento del campionamento. Quando un servizio downstream non è supportato (ad esempio, se si esegue un SDK precedente), le anomalie su quel servizio non generano alcun incremento. Questi servizi possono comunque propagare il contesto a valle se seguono la propagazione del contesto standard (come W3C trace context e baggage). Ciò garantisce che i servizi supportati SDKs in ulteriori servizi a valle possano segnalare anomalie che generano un aumento.

**Aumenta la tempistica e la portata**
+ **Ritardo di attivazione**: è possibile aspettarsi che un aumento del campionamento inizi già 10 secondi dopo che X-Ray rileva un'anomalia.
+ **Periodo di potenziamento**: dopo che X-Ray ha attivato un boost, dura fino a 1 minuto prima di tornare alla frequenza di campionamento di base.
+ **Migliora il raffreddamento**: dopo che si è verificato un potenziamento, X-Ray non attiverà un altro potenziamento per la stessa regola fino al termine della finestra di raffreddamento.

  Ad esempio, se si imposta su `cooldown` 10 minuti, una volta terminato un boost, non è possibile attivare un nuovo boost fino alla finestra di 10 minuti successiva.

  Caso speciale: se si imposta su `cooldown` 1 minuto e poiché un boost stesso può durare fino a 1 minuto, i potenziamenti possono essere attivati in modo efficace e continuo se l'anomalia persiste.

**Nota**  
Usa piattaforme supportate SDKs e per il tuo root service. Sampling boost funziona solo con piattaforme SDKs supportate. Sebbene sampling boost abbia un'alta probabilità di catturare tracce di anomalia, potrebbe non catturare tutte le tracce di anomalia.

**Aumenta la visibilità**

Quando una regola di campionamento è configurata con Adaptive Sampling Boost, X-Ray emette automaticamente metriche vended che consentono di monitorare l'attività di boost.
+ **Nome della metrica:** `SamplingRate`
+ **Dimensione** — `RuleName` (impostata sul nome effettivo della regola)

Ogni regola `SamplingRateBoost` abilitata pubblicherà la frequenza di campionamento effettiva, inclusa la frequenza di base e gli eventuali aumenti temporanei. Ciò consente di:
+ Tieni traccia di quando vengono attivati i potenziamenti
+ Monitora la frequenza di campionamento effettiva per ogni regola
+ Correla gli incrementi con le anomalie delle applicazioni (ad esempio picchi di errore o eventi di latenza)

Puoi visualizzare questi parametri in **Amazon CloudWatch Metrics, nello spazio dei nomi AWS/X-Ray. Il valore della metrica è un numero a virgola mobile compreso tra 0 e 1, che rappresenta la frequenza** di campionamento effettiva.

**Configurare l'incremento del campionamento utilizzando le regole di campionamento a raggi X**

È possibile abilitare il campionamento adattivo direttamente nelle regole di campionamento a raggi X esistenti aggiungendo un nuovo campo. `SamplingRateBoost` [Per ulteriori informazioni, vedere Personalizzazione delle regole di campionamento.](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html#xray-console-custom) Ciò fornisce un modo centralizzato per abilitare il campionamento adattivo senza modificare il codice dell'applicazione o applicare la distribuzione dell'applicazione. Quando abiliti il campionamento adattivo, X-Ray aumenta automaticamente il campionamento in caso di anomalie come picchi di errore o valori anomali di latenza, mantenendo al contempo le frequenze di campionamento entro il massimo configurato. `SamplingRateBoost`può essere applicato a qualsiasi regola di campionamento personalizzata tranne la regola di campionamento. `Default`

Il `SamplingRateBoost` campo definisce il limite superiore e il comportamento per il campionamento basato sulle anomalie.

```
"SamplingRateBoost": {
  "MaxRate": 0.25,
  "CooldownWindowMinutes": 10
}
```

`MaxRate`Definisce la frequenza di campionamento massima che X-Ray applicherà quando rileva anomalie. L'intervallo di valori è pari a. `0.0` `1.0` Ad esempio, `"MaxRate": 0.25` consente di aumentare il campionamento fino al 25% delle richieste durante una finestra di anomalia. X-Ray determina la frequenza appropriata tra il valore di base e il valore massimo, a seconda dell'attività dell'anomalia.

La finestra temporale `CooldownWindowMinutes` definisce (in minuti) in cui è possibile attivare un solo aumento della frequenza di campionamento. Dopo che si è verificato un aumento, non sono consentiti ulteriori incrementi fino alla finestra successiva. Il tipo di valore è *intero (minuti).* 

**Regola di esempio con campionamento adattivo**

```
{
  "RuleName": "MyAdaptiveRule",
  "Priority": 1,
  "ReservoirSize": 1,
  "FixedRate": 0.05,
  "ServiceName": "*",
  "ServiceType": "*",
  "Host": "*",
  "HTTPMethod": "*",
  "URLPath": "*",
  "SamplingRateBoost": {
    "MaxRate": 0.25,
    "CooldownWindowMinutes": 10
  }
}
```

In questo esempio, il campionamento di base è del 5% (). `FixedRate: 0.05` Durante le anomalie, X-Ray può aumentare il campionamento fino al 25% (). `MaxRate: 0.25` Potenzia solo una volta ogni 10 minuti.

**Configurazione delle condizioni di anomalia**

Quando non viene fornita alcuna configurazione della condizione di anomalia, l'ADOT SDK utilizza i **codici di errore HTTP 5xx** come condizione di anomalia predefinita per attivare l'incremento del campionamento.

È inoltre possibile ottimizzare le condizioni di anomalia localmente nell'SDK ADOT supportato utilizzando variabili di ambiente. Per ulteriori informazioni, consulta [Configurazione SDK locale](#local-sdk-configuration).

### L'anomalia si estende all'acquisizione
<a name="anomaly-spans-capture"></a>

L'acquisizione dell'intervallo di anomalie assicura che gli intervalli critici che rappresentano le anomalie vengano sempre registrati, anche se non viene campionata la traccia completa. Questa funzionalità completa il campionamento potenziato concentrandosi sull'acquisizione dell'anomalia stessa, piuttosto che sull'aumento del campionamento per le tracce future.

Quando l'SDK ADOT rileva un'anomalia, emette immediatamente tale intervallo, indipendentemente dalla decisione di campionamento. Poiché l'SDK emette solo intervalli relativi all'anomalia, queste tracce sono tracce parziali, non transazioni complete. end-to-end

Una volta che l'SDK ADOT rileva un intervallo di anomalia, tenta di emettere il maggior numero possibile di intervalli dalla stessa traccia. Tutti gli intervalli emessi con questa funzione sono contrassegnati con l'attributo,. `aws.trace.flag.sampled = 0` Ciò consente di distinguere facilmente le tracce parziali (acquisizione delle anomalie) dalle tracce complete (campionamento normale) nella ricerca e nell'analisi delle transazioni.

Consigliamo di attivare [Transaction Search per visualizzare e interrogare](https://docs.aws.amazon.com/xray/latest/devguide/xray-transactionsearch.html) le tracce parziali. L'esempio seguente mostra una pagina di servizio nella console [Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html). ServiceC è configurato con anomaly span capture e fa parte di una catena di chiamate in cui si applica il sampling boost. Queste configurazioni generano tracce complete e parziali. È possibile utilizzare l'`aws.trace.flag.sampled`attributo per distinguere i tipi di tracce.

![\[L'anomalia si estende all'acquisizione\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/adaptive-sampling.png)


L'acquisizione degli intervalli di anomalia può essere abilitata o personalizzata solo tramite. [Configurazione SDK locale](#local-sdk-configuration)

## Configurazione SDK locale
<a name="local-sdk-configuration"></a>

È possibile configurare le funzionalità di campionamento adattivo in ADOT SDK fornendo una configurazione YAML tramite una variabile di ambiente. La configurazione locale fornisce un controllo dettagliato sulle condizioni di anomalia e sulle soglie.

*Ciò è necessario per l'*acquisizione dell'intervallo di anomalie e facoltativo per personalizzare le condizioni di aumento del campionamento*.* Di seguito è riportato un esempio di configurazione:

```
version: 1.0
anomalyConditions:
  - errorCodeRegex: "^5\\d\\d$"
    usage: both
  - operations:
      - "/api"
    errorCodeRegex: "^429|5\\d\\d$"
    highLatencyMs: 300
    usage: sampling-boost
  - highLatencyMs: 1000
    usage: anomaly-span-capture

anomalyCaptureLimit:
  anomalyTracesPerSecond: 1
```

Le definizioni dei campi sono riportate di seguito:
+ `version`— Versione dello schema per il file di configurazione
+ `anomalyConditions`— Definisce le condizioni in cui vengono rilevate le anomalie e il modo in cui vengono utilizzate
  + `errorCodeRegex`— Espressione regolare che definisce quali codici di stato HTTP sono considerati anomalie
  + `operations`— Elenco delle operazioni o degli endpoint a cui si applica la condizione
  + `highLatencyMs`— Soglia di latenza (in millisecondi) al di sopra della quale gli intervalli vengono considerati anomalie
  + `usage`— Definisce a quale funzionalità si applica la condizione:
    + `both`— Si applica al **sampling boost** e all'**anomaly span capture** (impostazione predefinita se l'utilizzo non è specificato)
    + `sampling-boost`— Utilizzato solo per attivare gli incrementi di campionamento
    + `anomaly-span-capture`— Utilizzato solo per l'acquisizione dell'intervallo di anomalie
+ `anomalyCaptureLimit`— Definisce i limiti al numero di tracce con intervalli di anomalia emesse.

  `anomalyTracesPerSecond`— Numero massimo di tracce con intervalli di anomalia acquisiti al secondo, per evitare un volume di intervallo eccessivo (il valore predefinito è 1 se non è presente). anomalyCaptureLimit 

**Nota**  
`AnomalyConditions`**sostituisce** la condizione di anomalia predefinita per sampling boost (HTTP 5xx). Se si desidera mantenere la condizione predefinita durante l'utilizzo della configurazione locale, è necessario includerla esplicitamente in qualsiasi elemento di. `AnomalyConditions`
Per ogni `anomalyConditions` articolo:  
Quando il `operations` campo viene **omesso**, la condizione si applica a **tutte le operazioni** (livello di servizio)
Quando il `operations` campo è presente ma impostato su un **elenco vuoto**, la condizione non si applica a **nessuna operazione**, il che rende tale elemento non operabile
Quando entrambe `errorCodeRegex` le risposte `highLatencyMs` vengono omesse, la condizione non ha criteri di anomalia da valutare, il che rende tale elemento una condizione non operativa
Relazioni logiche:  
Tra gli elementi in`anomalyConditions`, la relazione è **OR**.
All'interno di un singolo elemento, più campi (ad esempio `errorCodeRegex` e`highLatencyMs`) vengono combinati con **AND**.  
Per esempio:  

    ```
    errorCodeRegex: "^429|5\\d\\d$"
    highLatencyMs: 300
    ```
Questa condizione indica che il **codice di stato corrisponde a 429 o 5xx AND ha una latenza ≥ 300 ms**.

### Applica la configurazione locale a ADOT SDK
<a name="apply-local-configuration"></a>

È possibile applicare la configurazione locale all'ADOT SDK impostando la variabile di ambiente. `AWS_XRAY_ADAPTIVE_SAMPLING_CONFIG` Il valore deve essere un documento YAML valido (in linea o annidato).

Ad esempio, Amazon EC2 e Amazon ECS, impostano direttamente la variabile di ambiente:

```
AWS_XRAY_ADAPTIVE_SAMPLING_CONFIG="{version: 1.0, anomalyConditions: [{errorCodeRegex: \"^500$\", usage: \"sampling-boost\"}, {errorCodeRegex: \"^501$\", usage: \"anomaly-trace-capture\"}], anomalyCaptureLimit: {anomalyTracesPerSecond: 10}}"
```

Per Amazon EKS, definisci la variabile di ambiente all'interno delle specifiche del pod come YAML annidato:

```
apiVersion: v1
kind: Pod
metadata:
  name: adot-sample
spec:
  containers:
    - name: adot-app
      image: my-app:latest
      env:
        - name: AWS_XRAY_ADAPTIVE_SAMPLING_CONFIG
          value: |
            version: 1.0
            anomalyConditions:
              - errorCodeRegex: "^500$"
                usage: sampling-boost
              - errorCodeRegex: "^501$"
                usage: anomaly-trace-capture
            anomalyCaptureLimit:
              anomalyTracesPerSecond: 10
```

# Deep linking tra console
<a name="xray-console-deeplinks"></a>

Puoi utilizzare percorsi e query per creare collegamenti diretti a tracce specifiche o visualizzazioni filtrate delle tracce e della mappa di traccia.

**Pagine della console**
+ Pagina di benvenuto — [xray/home\$1/welcome](https://console.aws.amazon.com/xray/home#/welcome)
+ Guida introduttiva — [xray/home\$1/getting-Iniziata](https://console.aws.amazon.com/xray/home#/getting-started)
+ [Mappa di tracciamento — xray/home\$1/service -map](https://console.aws.amazon.com/xray/home#/service-map)
+ Tracce — [xray/home\$1/traces](https://console.aws.amazon.com/xray/home#/traces)

## Tracce
<a name="xray-console-deeplinks-traces"></a>

Puoi generare link per la sequenza temporale, i dati non elaborati e le visualizzazioni sulla mappa di specifici tracciamenti.

**Traccia la cronologia** — `xray/home#/traces/trace-id`

**Dati di tracciamento grezzi** — `xray/home#/traces/trace-id/raw`

**Example — dati di traccia non elaborati**  

```
https://console.aws.amazon.com/xray/home#/traces/1-57f5498f-d91047849216d0f2ea3b6442/raw
```

## Espressioni filtro
<a name="xray-console-deeplinks-filters"></a>

Collegamento a un elenco filtrato di tracciamenti.

**Visualizzazione filtrata delle tracce** — `xray/home#/traces?filter=filter-expression`

**Example — espressione di filtro**  

```
https://console.aws.amazon.com/xray/home#/traces?filter=service("api.amazon.com") { fault = true OR responsetime > 2.5 } AND annotation.foo = "bar"
```

**Example — espressione di filtro (URL codificato)**  

```
https://console.aws.amazon.com/xray/home#/traces?filter=service(%22api.amazon.com%22)%20%7B%20fault%20%3D%20true%20OR%20responsetime%20%3E%202.5%20%7D%20AND%20annotation.foo%20%3D%20%22bar%22
```

Per ulteriori informazioni sulle espressioni filtro, consulta [Utilizzo delle espressioni di filtro](xray-console-filters.md).

## Intervallo temporale
<a name="xray-console-deeplinks-time"></a>

Specificare un periodo di tempo o l'ora di inizio e di fine nel formato ISO86 01. Gli intervalli di tempo sono espressi in UTC e possono durare fino a 6 ore.

**Periodo di tempo** — `xray/home#/page?timeRange=range-in-minutes` 

**Example — mappa di tracciamento dell'ultima ora**  

```
https://console.aws.amazon.com/xray/home#/service-map?timeRange=PT1H
```

**Ora di inizio e fine** — `xray/home#/page?timeRange=start~end` 

**Example — intervallo di tempo preciso in secondi**  

```
https://console.aws.amazon.com/xray/home#/traces?timeRange=2023-7-01T16:00:00~2023-7-01T22:00:00
```

**Example — intervallo di tempo preciso in minuti**  

```
https://console.aws.amazon.com/xray/home#/traces?timeRange=2023-7-01T16:00~2023-7-01T22:00
```

## Regione
<a name="xray-console-deeplinks-region"></a>

Specificate un link Regione AWS alle pagine di quella regione. Se non si specifica una regione, la console reindirizza l'utente all'ultima regione visitata.

**Regione**: `xray/home?region=region#/page` 

**Example — mappa di tracciamento negli Stati Uniti occidentali (Oregon) (us-west-2)**  

```
https://console.aws.amazon.com/xray/home?region=us-west-2#/service-map
```

Quando includi una regione con altri parametri di query, la query Region precede l'hash e le X-Ray-specific query seguono il nome della pagina.

**Example — tracciamento della mappa dell'ultima ora negli Stati Uniti occidentali (Oregon) (us-west-2)**  

```
https://console.aws.amazon.com/xray/home?region=us-west-2#/service-map?timeRange=PT1H
```

## Combinazioni
<a name="xray-console-deeplinks-combined"></a>

**Example — tracce recenti con un filtro di durata**  

```
https://console.aws.amazon.com/xray/home#/traces?timeRange=PT15M&filter=duration%20%3E%3D%205%20AND%20duration%20%3C%3D%208
```

**Output**
+ Pagina — Tracce
+ Intervallo di tempo: ultimi 15 minuti
+ Filtro: durata >= 5 E durata <= 8

# Usa l'API X-Ray
<a name="xray-api"></a>

Se l'SDK X-Ray non supporta il tuo linguaggio di programmazione, puoi utilizzare APIs direttamente X-Ray o AWS Command Line Interface ()AWS CLI per richiamare i comandi dell'API X-Ray. Utilizza le seguenti indicazioni per scegliere come interagire con l'API:
+ Utilizza la sintassi AWS CLI per una sintassi più semplice utilizzando comandi preformattati o con opzioni all'interno della richiesta.
+ Utilizza direttamente l'API X-Ray per la massima flessibilità e personalizzazione per le richieste che invii a X-Ray.

Se si utilizza direttamente l'[API X-Ray](https://docs.aws.amazon.com/xray/latest/api/Welcome.html) anziché AWS CLI, è necessario parametrizzare la richiesta nel formato di dati corretto e potrebbe anche essere necessario configurare l'autenticazione e la gestione degli errori.

Il diagramma seguente mostra le linee guida per scegliere come interagire con l'API X-Ray:

![\[X-Ray visualizza informazioni dettagliate sulle richieste delle applicazioni.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/api-vs-cli.png)


Utilizza l'API X-Ray per inviare i dati di traccia direttamente a X-Ray. L'API X-Ray supporta tutte le funzioni disponibili in X-Ray SDK, incluse le seguenti azioni comuni:
+ [PutTraceSegments](https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html)— Carica i documenti dei segmenti su X-Ray. 
+ [BatchGetTraces](https://docs.aws.amazon.com/xray/latest/api/API_BatchGetTraces.html)— Recupera un elenco di tracce in un elenco di tracce. IDs Ogni traccia recuperata è una raccolta di documenti di segmento provenienti da una singola richiesta.
+ [GetTraceSummaries](https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html)— Recupera IDs e annota le tracce. È possibile specificare `FilterExpression` a per recuperare un sottoinsieme di riepiloghi delle tracce.
+ [GetTraceGraph](https://docs.aws.amazon.com/xray/latest/api/API_GetTraceGraph.html)— Recupera un grafico di servizio per un ID di traccia specifico.
+ [GetServiceGraph](https://docs.aws.amazon.com/xray/latest/api/API_GetServiceGraph.html)— Recupera un JSON documento formattato che descrive i servizi che elaborano le richieste in entrata e le chiamano le richieste a valle.

Puoi anche usare il AWS Command Line Interface (AWS CLI) all'interno del codice dell'applicazione per interagire a livello di codice con X-Ray. AWS CLI Supporta tutte le funzioni disponibili nell'X-Ray SDK, comprese quelle per altri. Servizi AWS Le seguenti funzioni sono versioni delle operazioni API elencate in precedenza con un formato più semplice:
+ [put-trace-segments](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/xray/put-trace-segments.html)— Carica i documenti dei segmenti su X-Ray.
+ [batch-get-traces](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/xray/batch-get-traces.html)— Recupera un elenco di tracce in un elenco di tracce. IDs Ogni traccia recuperata è una raccolta di documenti di segmento provenienti da una singola richiesta.
+ [get-trace-summaries](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/xray/get-trace-summaries.html)— Recupera IDs e annota le tracce. È possibile specificare `FilterExpression` a per recuperare un sottoinsieme di riepiloghi delle tracce.
+ [get-trace-graph](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/xray/get-trace-graph.html)— Recupera un grafico di servizio per un ID di traccia specifico.
+ [get-service-graph](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/xray/get-service-graph.html)— Recupera un documento `JSON` formattato che descrive i servizi che elaborano le richieste in entrata e chiamano le richieste a valle.

Per iniziare, è necessario installare il file [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)per il proprio sistema operativo. AWS supporti Linux, macOS e Windows sistemi operativi. Per ulteriori informazioni sull'elenco dei comandi X-Ray, vedere la [guida di riferimento ai AWS CLI comandi per X-Ray](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/xray/index.html).

**Topics**
+ [Utilizzo dell' AWS X-Ray API con la AWS CLI](xray-api-tutorial.md)
+ [Invio di dati di tracciamento a AWS X-Ray](xray-api-sendingdata.md)
+ [Ottenere dati da AWS X-Ray](xray-api-gettingdata.md)
+ [Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API AWS X-Ray](xray-api-configuration.md)
+ [Using sampling rules with the X-Ray API (Utilizzo delle regole di campionamento con l'API X-Ray)](xray-api-sampling.md)
+ [AWS X-Ray segmentare i documenti](xray-api-segmentdocuments.md)

# Utilizzo dell' AWS X-Ray API con la AWS CLI
<a name="xray-api-tutorial"></a>

La AWS CLI consente di accedere direttamente al servizio X-Ray e di utilizzare lo stesso che la console X-Ray utilizza per recuperare APIs il grafico del servizio e i dati grezzi delle tracce. L'applicazione di esempio include script che mostrano come utilizzarli APIs con la AWS CLI.

## Prerequisiti
<a name="xray-api-tutorial-prerequisites"></a>

Questo tutorial utilizza l'applicazione di esempio Scorekeep e gli script in essa inclusi per generare dei dati di tracciamento e una mappa del servizio. Segui le istruzioni nel [tutorial sulle nozioni di base](xray-gettingstarted.md) per avviare l'applicazione.

Questo tutorial utilizza AWS CLI per mostrare l'uso di base dell'API X-Ray. La AWS CLI, [disponibile per Windows, Linux e OS-X,](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) fornisce l'accesso da riga di comando al pubblico per tutti. APIs Servizi AWS

**Nota**  
È necessario verificare che sia configurato nella stessa regione in cui AWS CLI è stata creata l'applicazione di esempio Scorekeep.

Gli script incluso per testare l'applicazione di esempio utilizzano `cURL` per inviare il traffico verso l'API e `jq` per analizzare l'output. Puoi scaricare l'eseguibile di `jq` da [stedolan.github.io](https://stedolan.github.io/jq/) e l'eseguibile di `curl` da [https://curl.haxx.se/download.html](https://curl.haxx.se/download.html). La maggior parte delle installazioni Linux e OS X include cURL.

## Generare i dati di tracciamento
<a name="xray-api-tutorial-generatedata"></a>

Mentre il gioco è in corso, l'applicazione web genera continuamente traffico verso l'API ogni pochi secondi, ma genera solo un tipo di richiesta. Utilizza lo script `test-api.sh` per eseguire scenari completi e generare dati di tracciamento più eterogeni mentre testi l'API.

**Per usare lo script `test-api.sh`**

1. Apri la [console Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk).

1. Accedi alla [console di gestione del](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-console.html) tuo ambiente.

1. Copiare l'**URL** di ambiente dall'intestazione della pagina.

1. Aprire `bin/test-api.sh` e sostituire il valore per l’API con l'URL del proprio ambiente.

   ```
   #!/bin/bash
   API=scorekeep.9hbtbm23t2.us-west-2.elasticbeanstalk.com/api
   ```

1. Eseguire lo script per generare il traffico verso l'API.

   ```
   ~/debugger-tutorial$ ./bin/test-api.sh
   Creating users,
   session,
   game,
   configuring game,
   playing game,
   ending game,
   game complete.
   {"id":"MTBP8BAS","session":"HUF6IT64","name":"tic-tac-toe-test","users":["QFF3HBGM","KL6JR98D"],"rules":"102","startTime":1476314241,"endTime":1476314245,"states":["JQVLEOM2","D67QLPIC","VF9BM9NC","OEAA6GK9","2A705O73","1U2LFTLJ","HUKIDD70","BAN1C8FI","G3UDJTUF","AB70HVEV"],"moves":["BS8F8LQ","4MTTSPKP","463OETES","SVEBCL3N","N7CQ1GHP","O84ONEPD","EG4BPROQ","V4BLIDJ3","9RL3NPMV"]}
   ```

## Usa l'API X-Ray
<a name="xray-api-tutorial-useapi"></a>

La AWS CLI fornisce comandi per tutte le azioni API fornite da X-Ray, tra cui e. [https://docs.aws.amazon.com/xray/latest/api/API_GetServiceGraph.html](https://docs.aws.amazon.com/xray/latest/api/API_GetServiceGraph.html) Per ulteriori informazioni su tutte le operazioni supportate e i tipi di dati che utilizzano, consulta la [Guida di riferimento delle API di AWS X-Ray](https://docs.aws.amazon.com/xray/latest/api/Welcome.html).

**Example bin/service-graph.sh**  

```
EPOCH=$(date +%s)
aws xray get-service-graph --start-time $(($EPOCH-600)) --end-time $EPOCH
```
Lo script recupera un grafo del servizio relativo agli ultimi 10 minuti.  

```
~/eb-java-scorekeep$ ./bin/service-graph.sh | less
{
    "StartTime": 1479068648.0,
    "Services": [
        {
            "StartTime": 1479068648.0,
            "ReferenceId": 0,
            "State": "unknown",
            "EndTime": 1479068651.0,
            "Type": "client",
            "Edges": [
                {
                    "StartTime": 1479068648.0,
                    "ReferenceId": 1,
                    "SummaryStatistics": {
                        "ErrorStatistics": {
                            "ThrottleCount": 0,
                            "TotalCount": 0,
                            "OtherCount": 0
                        },
                        "FaultStatistics": {
                            "TotalCount": 0,
                            "OtherCount": 0
                        },
                        "TotalCount": 2,
                        "OkCount": 2,
                        "TotalResponseTime": 0.054000139236450195
                    },
                    "EndTime": 1479068651.0,
                    "Aliases": []
                }
            ]
        },
        {
            "StartTime": 1479068648.0,
            "Names": [
                "scorekeep.elasticbeanstalk.com"
            ],
            "ReferenceId": 1,
            "State": "active",
            "EndTime": 1479068651.0,
            "Root": true,
            "Name": "scorekeep.elasticbeanstalk.com",
...
```

**Example bin/trace-urls.sh**  

```
EPOCH=$(date +%s)
aws xray get-trace-summaries --start-time $(($EPOCH-120)) --end-time $(($EPOCH-60)) --query 'TraceSummaries[*].Http.HttpURL'
```
Lo script recupera le URLs tracce generate tra uno e due minuti fa.  

```
~/eb-java-scorekeep$ ./bin/trace-urls.sh
[
    "http://scorekeep.elasticbeanstalk.com/api/game/6Q0UE1DG/5FGLM9U3/endtime/1479069438",
    "http://scorekeep.elasticbeanstalk.com/api/session/KH4341QH",
    "http://scorekeep.elasticbeanstalk.com/api/game/GLQBJ3K5/153AHDIA",
    "http://scorekeep.elasticbeanstalk.com/api/game/VPDL672J/G2V41HM6/endtime/1479069466"
]
```

**Example bin/full-traces.sh**  

```
EPOCH=$(date +%s)
TRACEIDS=$(aws xray get-trace-summaries --start-time $(($EPOCH-120)) --end-time $(($EPOCH-60)) --query 'TraceSummaries[*].Id' --output text)
aws xray batch-get-traces --trace-ids $TRACEIDS --query 'Traces[*]'
```
Lo script recupera i tracciamenti completi generati tra uno e due minuti fa.  

```
~/eb-java-scorekeep$ ./bin/full-traces.sh | less
[
    {
        "Segments": [
            {
                "Id": "3f212bc237bafd5d",
                "Document": "{\"id\":\"3f212bc237bafd5d\",\"name\":\"DynamoDB\",\"trace_id\":\"1-5828d9f2-a90669393f4343211bc1cf75\",\"start_time\":1.479072242459E9,\"end_time\":1.479072242477E9,\"parent_id\":\"72a08dcf87991ca9\",\"http\":{\"response\":{\"content_length\":60,\"status\":200}},\"inferred\":true,\"aws\":{\"consistent_read\":false,\"table_name\":\"scorekeep-session-xray\",\"operation\":\"GetItem\",\"request_id\":\"QAKE0S8DD0LJM245KAOPMA746BVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-session-xray\"]},\"origin\":\"AWS::DynamoDB::Table\"}"
            },
            {
                "Id": "309e355f1148347f",
                "Document": "{\"id\":\"309e355f1148347f\",\"name\":\"DynamoDB\",\"trace_id\":\"1-5828d9f2-a90669393f4343211bc1cf75\",\"start_time\":1.479072242477E9,\"end_time\":1.479072242494E9,\"parent_id\":\"37f14ef837f00022\",\"http\":{\"response\":{\"content_length\":606,\"status\":200}},\"inferred\":true,\"aws\":{\"table_name\":\"scorekeep-game-xray\",\"operation\":\"UpdateItem\",\"request_id\":\"388GEROC4PCA6D59ED3CTI5EEJVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-game-xray\"]},\"origin\":\"AWS::DynamoDB::Table\"}"
            }
        ],
        "Id": "1-5828d9f2-a90669393f4343211bc1cf75",
        "Duration": 0.05099987983703613
    }
...
```

## Rimozione
<a name="xray-api-tutorial-cleanup"></a>

Termina il tuo ambiente Elastic Beanstalk per chiudere le istanze EC2 Amazon, le tabelle DynamoDB e altre risorse.

**Per terminare l'ambiente Elastic Beanstalk**

1. Apri la [console Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk).

1. [Accedi alla console di gestione del tuo ambiente.](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-console.html)

1. Scegliere **Actions (Operazioni)**.

1. Scegliere **Terminate Environment (Termina ambiente)**.

1. Scegliere **Terminate (Termina)**.

I dati di traccia vengono eliminati automaticamente da X-Ray dopo 30 giorni.

# Invio di dati di tracciamento a AWS X-Ray
<a name="xray-api-sendingdata"></a>

È possibile inviare dati di traccia a X-Ray sotto forma di documenti di segmento. Un documento di segmento è una stringa in formato JSON che contiene le informazioni sull'attività eseguita dalla tua applicazione per il soddisfacimento di una richiesta. La tua applicazione può memorizzare i dati sull'attività che svolge in segmenti, oppure le attività che utilizzano i servizi e le risorse a valle possono creare dei sottosegmenti.

I segmenti registrano le informazioni sull'attività svolta dalla tua applicazione. Un segmento registra almeno il tempo impiegato per un'attività, un nome e due IDs. L'ID di tracciamento monitora la richiesta durante il suo passaggio tra i servizi. L'ID segmento monitora l'attività svolta per la richiesta proveniente da uno specifico servizio.

**Example Segmento completo minimale**  

```
{
  "name" : "Scorekeep",
  "id" : "70de5b6f19ff9a0a",
  "start_time" : 1.478293361271E9,
  "trace_id" : "1-581cf771-a006649127e371903a2de979",
  "end_time" : 1.478293361449E9
}
```

Quando ricevi una richiesta, puoi inviare un segmento in esecuzione come segnaposto fino al completamento della richiesta.

**Example Segmento in esecuzione**  

```
{
  "name" : "Scorekeep",
  "id" : "70de5b6f19ff9a0b",
  "start_time" : 1.478293361271E9,
  "trace_id" : "1-581cf771-a006649127e371903a2de979",
  “in_progress”: true
}
```

È possibile inviare segmenti a X-Ray direttamente, [`PutTraceSegments`](#xray-api-segments)con [o tramite il demone X-Ray](#xray-api-daemon).

La maggior parte delle applicazioni richiama altri servizi o accede a risorse con l'SDK. AWS *Registra le informazioni sulle chiamate downstream in sottosegmenti.* X-Ray utilizza i sottosegmenti per identificare i servizi a valle che non inviano segmenti e creare le relative voci nel grafico dei servizi.

Un sottosegmento può essere incorporato in un documento di segmento completo oppure può essere inviato in modo separato. Invia i sottosegmenti separatamente per tracciare in modo asincrono le chiamate downstream per richieste di lunga durata o per evitare di superare la dimensione massima del documento del segmento (64 kB).

**Example Segmento secondario**  
Un sottosegmento presenta un `type` valorizzato a `subsegment` e un `parent_id` che identifica il segmento padre.  

```
{
  "name" : "www2.example.com",
  "id" : "70de5b6f19ff9a0c",
  "start_time" : 1.478293361271E9,
  "trace_id" : "1-581cf771-a006649127e371903a2de979"
  “end_time” : 1.478293361449E9,
  “type” : “subsegment”,
  “parent_id” : “70de5b6f19ff9a0b”
}
```

Per ulteriori informazioni sui campi e i valori che puoi includere in segmenti e sottosegmenti, consulta [AWS X-Ray segmentare i documenti](xray-api-segmentdocuments.md).

**Topics**
+ [Generazione di tracce IDs](#xray-api-traceids)
+ [Usando PutTraceSegments](#xray-api-segments)
+ [Invio di documenti di segmento al demone X-Ray](#xray-api-daemon)

## Generazione di tracce IDs
<a name="xray-api-traceids"></a>

Per inviare dati a X-Ray, è necessario generare un ID di traccia univoco per ogni richiesta.

**Formato ID di traccia X-Ray**

Una radiografia `trace_id` è composta da tre numeri separati da trattini. Ad esempio, `1-58406520-a006649127e371903a2de979`. Questo include:
+ Il numero di versione, che è. `1`
+ L'ora della richiesta originale in Unix epoch time utilizzando **8 cifre esadecimali**.

  Ad esempio, il fuso orario PST delle 10:00 del 1° dicembre 2016 è espresso in secondi o in cifre esadecimali. `1480615200` `58406520`
+ **Un identificatore a 96 bit univoco a livello globale per la traccia in 24 cifre esadecimali.**

**Nota**  
X-Ray ora supporta IDs le tracce create utilizzando OpenTelemetry e qualsiasi altro framework conforme alla specifica [W3C](https://www.w3.org/TR/trace-context/) Trace Context. Un ID di traccia W3C deve essere formattato nel formato X-Ray Trace ID quando viene inviato a X-Ray. Ad esempio, l'ID di traccia W3C `4efaaf4d1e8720b39541901950019ee5` deve essere formattato come `1-4efaaf4d-1e8720b39541901950019ee5` quando si invia a X-Ray. La traccia X-Ray IDs include il timestamp originale della richiesta in Unix epoch Time, ma questo non è necessario quando si invia la traccia W3C in formato X-Ray. IDs 

È possibile scrivere uno script per generare una traccia a raggi X IDs per il test. Qui di seguito sono riportati due esempi.

**Python**

```
import time
import os
import binascii

START_TIME = time.time()
HEX=hex(int(START_TIME))[2:]
TRACE_ID="1-{}-{}".format(HEX, binascii.hexlify(os.urandom(12)).decode('utf-8'))
```

**Bash**

```
START_TIME=$(date +%s)
HEX_TIME=$(printf '%x\n' $START_TIME)
GUID=$(dd if=/dev/random bs=12 count=1 2>/dev/null | od -An -tx1 | tr -d ' \t\n')
TRACE_ID="1-$HEX_TIME-$GUID"
```

Vedi l'applicazione di esempio Scorekeep per gli script che creano, tracciano IDs e inviano segmenti al demone X-Ray.
+ Python: [https://github.com/awslabs/eb-java-scorekeep/blob/xray/bin/xray_start.py](https://github.com/awslabs/eb-java-scorekeep/blob/xray/bin/xray_start.py)
+ Bash — [https://github.com/awslabs/eb-java-scorekeep/blob/xray/bin/xray_start.sh](https://github.com/awslabs/eb-java-scorekeep/blob/xray/bin/xray_start.sh)

## Usando PutTraceSegments
<a name="xray-api-segments"></a>

Puoi caricare i documenti di segmento tramite l'API [https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html](https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html). L'API dispone di un singolo parametro, `TraceSegmentDocuments`, che richiede un elenco di documenti di segmento in formato JSON.

Con l'AWS CLI, usa il `aws xray put-trace-segments` comando per inviare documenti di segmento direttamente a X-Ray.

```
$ DOC='{"trace_id": "1-5960082b-ab52431b496add878434aa25", "id": "6226467e3f845502", "start_time": 1498082657.37518, "end_time": 1498082695.4042, "name": "test.elasticbeanstalk.com"}'
$ aws xray put-trace-segments --trace-segment-documents "$DOC"
{
    "UnprocessedTraceSegments": []
}
```

**Nota**  
Windows Command Processor e Windows PowerShell hanno requisiti diversi per la citazione e l'escape delle virgolette nelle stringhe JSON. Per i dettagli, consulta [Utilizzo delle virgolette nelle stringhe](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#quoting-strings) nella Guida per l'utente della AWS CLI .

L'output elenca tutti i segmenti per i quali l'elaborazione non è riuscita. Ad esempio, se la data nell'ID di tracciamento è troppo remota nel passato, verrà visualizzato un errore come il seguente.

```
{
    "UnprocessedTraceSegments": [
        {
            "ErrorCode": "InvalidTraceId",
            "Message": "Invalid segment. ErrorCode: InvalidTraceId",
            "Id": "6226467e3f845502"
        }
    ]
}
```

Puoi passare più documenti di segmento insieme, separati da spazi.

```
$ aws xray put-trace-segments --trace-segment-documents "$DOC1" "$DOC2"
```

## Invio di documenti di segmento al demone X-Ray
<a name="xray-api-daemon"></a>

Invece di inviare documenti di segmento all'API X-Ray, puoi inviare segmenti e sottosegmenti al daemon X-Ray, che li memorizzerà nel buffer e li caricherà sull'API X-Ray in batch. L'X-Ray SDK invia i documenti dei segmenti al demone per evitare di effettuare chiamate dirette. AWS 

**Nota**  
Per istruzioni sull'esecuzione del daemon, consulta [Esecuzione locale del demone X-Ray](xray-daemon-local.md).

Invia il segmento in formato JSON tramite la porta UDP 2000, anteponendo l'intestazione per il daemon, `{"format": "json", "version": 1}\n`

```
{"format": "json", "version": 1}\n{"trace_id": "1-5759e988-bd862e3fe1be46a994272793", "id": "defdfd9912dc5a56", "start_time": 1461096053.37518, "end_time": 1461096053.4042, "name": "test.elasticbeanstalk.com"}
```

Su Linux, puoi inviare documenti di segmento al daemon tramite un terminale Bash. Salva l'intestazione e il documento di segmento in un file di testo e reindirizzalo verso `/dev/udp` con `cat`.

```
$ cat segment.txt > /dev/udp/127.0.0.1/2000
```

**Example segment.txt**  

```
{"format": "json", "version": 1}
{"trace_id": "1-594aed87-ad72e26896b3f9d3a27054bb", "id": "6226467e3f845502", "start_time": 1498082657.37518, "end_time": 1498082695.4042, "name": "test.elasticbeanstalk.com"}
```

Controllate il [registro del demone](xray-daemon.md#xray-daemon-logging) per verificare che abbia inviato il segmento a X-Ray.

```
2017-07-07T01:57:24Z [Debug] processor: sending partial batch
2017-07-07T01:57:24Z [Debug] processor: segment batch size: 1. capacity: 50
2017-07-07T01:57:24Z [Info] Successfully sent batch of 1 segments (0.020 seconds)
```

# Ottenere dati da AWS X-Ray
<a name="xray-api-gettingdata"></a>

AWS X-Ray elabora i dati di traccia che gli invii per generare tracce complete, riepiloghi di traccia e grafici di servizio in JSON. Puoi recuperare i dati generati direttamente dall'API con la AWS CLI.

**Topics**
+ [Recupero del grafico del servizio](#xray-api-servicegraph)
+ [Recupero del grafico del servizio dal gruppo](#xray-api-servicegraphgroup)
+ [Recupero dei tracciamenti](#xray-api-traces)
+ [Recupero e definizione dell’analisi delle cause principali](#xray-api-analytics)

## Recupero del grafico del servizio
<a name="xray-api-servicegraph"></a>

Puoi utilizzare l'API [https://docs.aws.amazon.com/xray/latest/api/API_GetServiceGraph.html](https://docs.aws.amazon.com/xray/latest/api/API_GetServiceGraph.html) per recuperare il grafico del servizio in formato JSON. L'API richiede un'ora di inizio e di fine, che puoi calcolare in un terminale Linux con il comando `date`.

```
$ date +%s
1499394617
```

`date +%s` converte una data in secondi. Utilizza questo numero come ora finale e sottrai da esso il tempo necessario per ottenere un'ora di inizio.

**Example Script per recuperare un grafico del servizio relativo agli ultimi 10 minuti**  

```
EPOCH=$(date +%s)
aws xray get-service-graph --start-time $(($EPOCH-600)) --end-time $EPOCH
```

L'esempio seguente mostra un grafico di servizio con 4 nodi, tra cui un nodo client, un' EC2 istanza, una tabella DynamoDB e un argomento Amazon SNS.

**Example GetServiceGraph output**  

```
{
    "Services": [
        {
            "ReferenceId": 0,
            "Name": "xray-sample.elasticbeanstalk.com",
            "Names": [
                "xray-sample.elasticbeanstalk.com"
            ],
            "Type": "client",
            "State": "unknown",
            "StartTime": 1528317567.0,
            "EndTime": 1528317589.0,
            "Edges": [
                {
                    "ReferenceId": 2,
                    "StartTime": 1528317567.0,
                    "EndTime": 1528317589.0,
                    "SummaryStatistics": {
                        "OkCount": 3,
                        "ErrorStatistics": {
                            "ThrottleCount": 0,
                            "OtherCount": 1,
                            "TotalCount": 1
                        },
                        "FaultStatistics": {
                            "OtherCount": 0,
                            "TotalCount": 0
                        },
                        "TotalCount": 4,
                        "TotalResponseTime": 0.273
                    },
                    "ResponseTimeHistogram": [
                        {
                            "Value": 0.005,
                            "Count": 1
                        },
                        {
                            "Value": 0.015,
                            "Count": 1
                        },
                        {
                            "Value": 0.157,
                            "Count": 1
                        },
                        {
                            "Value": 0.096,
                            "Count": 1
                        }
                    ],
                    "Aliases": []
                }
            ]
        },
        {
            "ReferenceId": 1,
            "Name": "awseb-e-dixzws4s9p-stack-StartupSignupsTable-4IMSMHAYX2BA",
            "Names": [
                "awseb-e-dixzws4s9p-stack-StartupSignupsTable-4IMSMHAYX2BA"
            ],
            "Type": "AWS::DynamoDB::Table",
            "State": "unknown",
            "StartTime": 1528317583.0,
            "EndTime": 1528317589.0,
            "Edges": [],
            "SummaryStatistics": {
                "OkCount": 2,
                "ErrorStatistics": {
                    "ThrottleCount": 0,
                    "OtherCount": 0,
                    "TotalCount": 0
                },
                "FaultStatistics": {
                    "OtherCount": 0,
                    "TotalCount": 0
                },
                "TotalCount": 2,
                "TotalResponseTime": 0.12
            },
            "DurationHistogram": [
                {
                    "Value": 0.076,
                    "Count": 1
                },
                {
                    "Value": 0.044,
                    "Count": 1
                }
            ],
            "ResponseTimeHistogram": [
                {
                    "Value": 0.076,
                    "Count": 1
                },
                {
                    "Value": 0.044,
                    "Count": 1
                }
            ]
        },
        {
            "ReferenceId": 2,
            "Name": "xray-sample.elasticbeanstalk.com",
            "Names": [
                "xray-sample.elasticbeanstalk.com"
            ],
            "Root": true,
            "Type": "AWS::EC2::Instance",
            "State": "active",
            "StartTime": 1528317567.0,
            "EndTime": 1528317589.0,
            "Edges": [
                {
                    "ReferenceId": 1,
                    "StartTime": 1528317567.0,
                    "EndTime": 1528317589.0,
                    "SummaryStatistics": {
                        "OkCount": 2,
                        "ErrorStatistics": {
                            "ThrottleCount": 0,
                            "OtherCount": 0,
                            "TotalCount": 0
                        },
                        "FaultStatistics": {
                            "OtherCount": 0,
                            "TotalCount": 0
                        },
                        "TotalCount": 2,
                        "TotalResponseTime": 0.12
                    },
                    "ResponseTimeHistogram": [
                        {
                            "Value": 0.076,
                            "Count": 1
                        },
                        {
                            "Value": 0.044,
                            "Count": 1
                        }
                    ],
                    "Aliases": []
                },
                {
                    "ReferenceId": 3,
                    "StartTime": 1528317567.0,
                    "EndTime": 1528317589.0,
                    "SummaryStatistics": {
                        "OkCount": 2,
                        "ErrorStatistics": {
                            "ThrottleCount": 0,
                            "OtherCount": 0,
                            "TotalCount": 0
                        },
                        "FaultStatistics": {
                            "OtherCount": 0,
                            "TotalCount": 0
                        },
                        "TotalCount": 2,
                        "TotalResponseTime": 0.125
                    },
                    "ResponseTimeHistogram": [
                        {
                            "Value": 0.049,
                            "Count": 1
                        },
                        {
                            "Value": 0.076,
                            "Count": 1
                        }
                    ],
                    "Aliases": []
                }
            ],
            "SummaryStatistics": {
                "OkCount": 3,
                "ErrorStatistics": {
                    "ThrottleCount": 0,
                    "OtherCount": 1,
                    "TotalCount": 1
                },
                "FaultStatistics": {
                    "OtherCount": 0,
                    "TotalCount": 0
                },
                "TotalCount": 4,
                "TotalResponseTime": 0.273
            },
            "DurationHistogram": [
                {
                    "Value": 0.005,
                    "Count": 1
                },
                {
                    "Value": 0.015,
                    "Count": 1
                },
                {
                    "Value": 0.157,
                    "Count": 1
                },
                {
                    "Value": 0.096,
                    "Count": 1
                }
            ],
            "ResponseTimeHistogram": [
                {
                    "Value": 0.005,
                    "Count": 1
                },
                {
                    "Value": 0.015,
                    "Count": 1
                },
                {
                    "Value": 0.157,
                    "Count": 1
                },
                {
                    "Value": 0.096,
                    "Count": 1
                }
            ]
        },
        {
            "ReferenceId": 3,
            "Name": "SNS",
            "Names": [
                "SNS"
            ],
            "Type": "AWS::SNS",
            "State": "unknown",
            "StartTime": 1528317583.0,
            "EndTime": 1528317589.0,
            "Edges": [],
            "SummaryStatistics": {
                "OkCount": 2,
                "ErrorStatistics": {
                    "ThrottleCount": 0,
                    "OtherCount": 0,
                    "TotalCount": 0
                },
                "FaultStatistics": {
                    "OtherCount": 0,
                    "TotalCount": 0
                },
                "TotalCount": 2,
                "TotalResponseTime": 0.125
            },
            "DurationHistogram": [
                {
                    "Value": 0.049,
                    "Count": 1
                },
                {
                    "Value": 0.076,
                    "Count": 1
                }
            ],
            "ResponseTimeHistogram": [
                {
                    "Value": 0.049,
                    "Count": 1
                },
                {
                    "Value": 0.076,
                    "Count": 1
                }
            ]
        }
    ]
}
```

## Recupero del grafico del servizio dal gruppo
<a name="xray-api-servicegraphgroup"></a>

Per effettuare la chiamata a un grafico del servizio in base al contenuto di un gruppo, includi `groupName` o `groupARN`. L'esempio seguente mostra una chiamata del grafico del servizio a un gruppo denominato Example1.

**Example Script per recuperare un grafico del servizio in base al nome del gruppo Example1**  

```
aws xray get-service-graph --group-name "Example1"
```

## Recupero dei tracciamenti
<a name="xray-api-traces"></a>

Puoi utilizzare l'API [https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html) per ottenere un elenco di riepiloghi dei tracciamenti. I riepiloghi delle tracce includono informazioni che è possibile utilizzare per identificare le tracce che si desidera scaricare per intero, tra cui annotazioni, informazioni su richieste e risposte e. IDs

Ci sono due flag `TimeRangeType` disponibili quando si chiama `aws xray get-trace-summaries`:
+ **TraceId**— La `GetTraceSummaries` ricerca predefinita utilizza l'ora TraceID e restituisce le tracce iniziate all'interno dell'intervallo calcolato. `[start_time, end_time)` Questo intervallo di timestamp viene calcolato in base alla codifica del timestamp all'interno di o può essere definito manualmente. TraceId
+ **Ora dell'evento**: per cercare gli eventi man mano che si verificano nel tempo, AWS X-Ray consente di cercare le tracce utilizzando i timestamp degli eventi. L'ora dell'evento restituisce i tracciamenti attivi durante l'intervallo `[start_time, end_time)`, indipendentemente dall'inizio del tracciamento.

Utilizza il comando `aws xray get-trace-summaries` per ottenere un elenco di riepiloghi di tracciamento. I seguenti comandi ottengono un elenco di riepiloghi delle tracce relative a un periodo compreso tra 1 e 2 minuti nel passato utilizzando l'ora predefinita. TraceId

**Example Script per ottenere i riepiloghi dei tracciamenti**  

```
EPOCH=$(date +%s)
aws xray get-trace-summaries --start-time $(($EPOCH-120)) --end-time $(($EPOCH-60))
```

**Example GetTraceSummaries uscita**  

```
{
    "TraceSummaries": [
        {
            "HasError": false,
            "Http": {
                "HttpStatus": 200,
                "ClientIp": "205.255.255.183",
                "HttpURL": "http://scorekeep.elasticbeanstalk.com/api/session",
                "UserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36",
                "HttpMethod": "POST"
            },
            "Users": [],
            "HasFault": false,
            "Annotations": {},
            "ResponseTime": 0.084,
            "Duration": 0.084,
            "Id": "1-59602606-a43a1ac52fc7ee0eea12a82c",
            "HasThrottle": false
        },
        {
            "HasError": false,
            "Http": {
                "HttpStatus": 200,
                "ClientIp": "205.255.255.183",
                "HttpURL": "http://scorekeep.elasticbeanstalk.com/api/user",
                "UserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36",
                "HttpMethod": "POST"
            },
            "Users": [
                {
                    "UserName": "5M388M1E"
                }
            ],
            "HasFault": false,
            "Annotations": {
                "UserID": [
                    {
                        "AnnotationValue": {
                            "StringValue": "5M388M1E"
                        }
                    }
                ],
                "Name": [
                    {
                        "AnnotationValue": {
                            "StringValue": "Ola"
                        }
                    }
                ]
            },
            "ResponseTime": 3.232,
            "Duration": 3.232,
            "Id": "1-59602603-23fc5b688855d396af79b496",
            "HasThrottle": false
        }
    ],
    "ApproximateTime": 1499473304.0,
    "TracesProcessedCount": 2
}
```

Utilizza l'ID di tracciamento nell'output per recuperare un tracciamento completo con l'API [https://docs.aws.amazon.com/xray/latest/api/API_BatchGetTraces.html](https://docs.aws.amazon.com/xray/latest/api/API_BatchGetTraces.html).

**Example BatchGetTraces comando**  

```
$ aws xray batch-get-traces --trace-ids 1-596025b4-7170afe49f7aa708b1dd4a6b
```

**Example BatchGetTraces uscita**  

```
{
    "Traces": [
        {
            "Duration": 3.232,
            "Segments": [
                {
                    "Document": "{\"id\":\"1fb07842d944e714\",\"name\":\"random-name\",\"start_time\":1.499473411677E9,\"end_time\":1.499473414572E9,\"parent_id\":\"0c544c1b1bbff948\",\"http\":{\"response\":{\"status\":200}},\"aws\":{\"request_id\":\"ac086670-6373-11e7-a174-f31b3397f190\"},\"trace_id\":\"1-59602603-23fc5b688855d396af79b496\",\"origin\":\"AWS::Lambda\",\"resource_arn\":\"arn:aws:lambda:us-west-2:123456789012:function:random-name\"}",
                    "Id": "1fb07842d944e714"
                },
                {
                    "Document": "{\"id\":\"194fcc8747581230\",\"name\":\"Scorekeep\",\"start_time\":1.499473411562E9,\"end_time\":1.499473414794E9,\"http\":{\"request\":{\"url\":\"http://scorekeep.elasticbeanstalk.com/api/user\",\"method\":\"POST\",\"user_agent\":\"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\",\"client_ip\":\"205.251.233.183\"},\"response\":{\"status\":200}},\"aws\":{\"elastic_beanstalk\":{\"version_label\":\"app-abb9-170708_002045\",\"deployment_id\":406,\"environment_name\":\"scorekeep-dev\"},\"ec2\":{\"availability_zone\":\"us-west-2c\",\"instance_id\":\"i-0cd9e448944061b4a\"},\"xray\":{\"sdk_version\":\"1.1.2\",\"sdk\":\"X-Ray for Java\"}},\"service\":{},\"trace_id\":\"1-59602603-23fc5b688855d396af79b496\",\"user\":\"5M388M1E\",\"origin\":\"AWS::ElasticBeanstalk::Environment\",\"subsegments\":[{\"id\":\"0c544c1b1bbff948\",\"name\":\"Lambda\",\"start_time\":1.499473411629E9,\"end_time\":1.499473414572E9,\"http\":{\"response\":{\"status\":200,\"content_length\":14}},\"aws\":{\"log_type\":\"None\",\"status_code\":200,\"function_name\":\"random-name\",\"invocation_type\":\"RequestResponse\",\"operation\":\"Invoke\",\"request_id\":\"ac086670-6373-11e7-a174-f31b3397f190\",\"resource_names\":[\"random-name\"]},\"namespace\":\"aws\"},{\"id\":\"071684f2e555e571\",\"name\":\"## UserModel.saveUser\",\"start_time\":1.499473414581E9,\"end_time\":1.499473414769E9,\"metadata\":{\"debug\":{\"test\":\"Metadata string from UserModel.saveUser\"}},\"subsegments\":[{\"id\":\"4cd3f10b76c624b4\",\"name\":\"DynamoDB\",\"start_time\":1.49947341469E9,\"end_time\":1.499473414769E9,\"http\":{\"response\":{\"status\":200,\"content_length\":57}},\"aws\":{\"table_name\":\"scorekeep-user\",\"operation\":\"UpdateItem\",\"request_id\":\"MFQ8CGJ3JTDDVVVASUAAJGQ6NJ82F738BOB4KQNSO5AEMVJF66Q9\",\"resource_names\":[\"scorekeep-user\"]},\"namespace\":\"aws\"}]}]}",
                    "Id": "194fcc8747581230"
                },
                {
                    "Document": "{\"id\":\"00f91aa01f4984fd\",\"name\":\"random-name\",\"start_time\":1.49947341283E9,\"end_time\":1.49947341457E9,\"parent_id\":\"1fb07842d944e714\",\"aws\":{\"function_arn\":\"arn:aws:lambda:us-west-2:123456789012:function:random-name\",\"resource_names\":[\"random-name\"],\"account_id\":\"123456789012\"},\"trace_id\":\"1-59602603-23fc5b688855d396af79b496\",\"origin\":\"AWS::Lambda::Function\",\"subsegments\":[{\"id\":\"e6d2fe619f827804\",\"name\":\"annotations\",\"start_time\":1.499473413012E9,\"end_time\":1.499473413069E9,\"annotations\":{\"UserID\":\"5M388M1E\",\"Name\":\"Ola\"}},{\"id\":\"b29b548af4d54a0f\",\"name\":\"SNS\",\"start_time\":1.499473413112E9,\"end_time\":1.499473414071E9,\"http\":{\"response\":{\"status\":200}},\"aws\":{\"operation\":\"Publish\",\"region\":\"us-west-2\",\"request_id\":\"a2137970-f6fc-5029-83e8-28aadeb99198\",\"retries\":0,\"topic_arn\":\"arn:aws:sns:us-west-2:123456789012:awseb-e-ruag3jyweb-stack-NotificationTopic-6B829NT9V5O9\"},\"namespace\":\"aws\"},{\"id\":\"2279c0030c955e52\",\"name\":\"Initialization\",\"start_time\":1.499473412064E9,\"end_time\":1.499473412819E9,\"aws\":{\"function_arn\":\"arn:aws:lambda:us-west-2:123456789012:function:random-name\"}}]}",
                    "Id": "00f91aa01f4984fd"
                },
                {
                    "Document": "{\"id\":\"17ba309b32c7fbaf\",\"name\":\"DynamoDB\",\"start_time\":1.49947341469E9,\"end_time\":1.499473414769E9,\"parent_id\":\"4cd3f10b76c624b4\",\"inferred\":true,\"http\":{\"response\":{\"status\":200,\"content_length\":57}},\"aws\":{\"table_name\":\"scorekeep-user\",\"operation\":\"UpdateItem\",\"request_id\":\"MFQ8CGJ3JTDDVVVASUAAJGQ6NJ82F738BOB4KQNSO5AEMVJF66Q9\",\"resource_names\":[\"scorekeep-user\"]},\"trace_id\":\"1-59602603-23fc5b688855d396af79b496\",\"origin\":\"AWS::DynamoDB::Table\"}",
                    "Id": "17ba309b32c7fbaf"
                },
                {
                    "Document": "{\"id\":\"1ee3c4a523f89ca5\",\"name\":\"SNS\",\"start_time\":1.499473413112E9,\"end_time\":1.499473414071E9,\"parent_id\":\"b29b548af4d54a0f\",\"inferred\":true,\"http\":{\"response\":{\"status\":200}},\"aws\":{\"operation\":\"Publish\",\"region\":\"us-west-2\",\"request_id\":\"a2137970-f6fc-5029-83e8-28aadeb99198\",\"retries\":0,\"topic_arn\":\"arn:aws:sns:us-west-2:123456789012:awseb-e-ruag3jyweb-stack-NotificationTopic-6B829NT9V5O9\"},\"trace_id\":\"1-59602603-23fc5b688855d396af79b496\",\"origin\":\"AWS::SNS\"}",
                    "Id": "1ee3c4a523f89ca5"
                }
            ],
            "Id": "1-59602603-23fc5b688855d396af79b496"
        }
    ],
    "UnprocessedTraceIds": []
}
```

Il tracciamento completo include un documento per ogni segmento, creato a partire da tutti i documenti di segmento con lo stesso ID di tracciamento ricevuti. Questi documenti non rappresentano i dati inviati a X-Ray dall'applicazione. Rappresentano invece i documenti elaborati generati dal servizio X-Ray. X-Ray crea il documento di traccia completo compilando i documenti dei segmenti inviati dall'applicazione e rimuovendo i dati che non sono conformi allo schema del documento del [segmento](xray-api-segmentdocuments.md).

X-Ray crea anche *segmenti dedotti per le* chiamate downstream verso servizi che non inviano segmenti di per sé. Ad esempio, quando si chiama DynamoDB con un client strumentato, l'SDK X-Ray registra un sottosegmento con dettagli sulla chiamata dal suo punto di vista. Tuttavia, DynamoDB non invia un segmento corrispondente. X-Ray utilizza le informazioni nel sottosegmento per creare un segmento dedotto per rappresentare la risorsa DynamoDB nella mappa di traccia e lo aggiunge al documento di traccia.

[Per ottenere più tracce dall'API, è necessario un elenco di tracce IDs, che è possibile estrarre dall'output di con una query. `get-trace-summaries`AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/controlling-output.html#controlling-output-filter) Reindirizza l'elenco all'input di `batch-get-traces` per ottenere tracce complete per un periodo di tempo specifico.

**Example Script per ottenere i tracciamenti completi per un periodo di un minuto**  

```
EPOCH=$(date +%s)
TRACEIDS=$(aws xray get-trace-summaries --start-time $(($EPOCH-120)) --end-time $(($EPOCH-60)) --query 'TraceSummaries[*].Id' --output text)
aws xray batch-get-traces --trace-ids $TRACEIDS --query 'Traces[*]'
```

## Recupero e definizione dell’analisi delle cause principali
<a name="xray-api-analytics"></a>

Dopo aver generato un riepilogo delle tracce con l'[GetTraceSummaries API](https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html), è possibile riutilizzare i riepiloghi delle tracce parziali nel formato JSON per creare un'espressione di filtro raffinata basata sulle cause principali. Consulta gli esempi riportati di seguito per una procedura guidata per le fasi di definizione. 

**Example Esempio GetTraceSummaries di output: sezione relativa al tempo di risposta e alla causa principale**  

```
{
  "Services": [
    {
      "Name": "GetWeatherData",
      "Names": ["GetWeatherData"],
      "AccountId": 123456789012,
      "Type": null,
      "Inferred": false,
      "EntityPath": [
        {
          "Name": "GetWeatherData",
          "Coverage": 1.0,
          'Remote": false
        },
        {
          "Name": "get_temperature",
          "Coverage": 0.8,
          "Remote": false
        }
      ]
    },
    {
      "Name": "GetTemperature",
      "Names": ["GetTemperature"],
      "AccountId": 123456789012,
      "Type": null,
      "Inferred": false,
      "EntityPath": [
        {
          "Name": "GetTemperature",
          "Coverage": 0.7,
          "Remote": false
        }
      ]
    }
  ] 
}
```

Modificando e apportando omissioni all'output precedente, questo JSON può diventare un filtro per le entità di cause principali corrispondenti. Per tutti i campi presenti nel JSON, ogni corrispondenza dei candidati deve essere esatta o il tracciamento non verrà restituito. I campi rimossi diventano valori jolly, un formato compatibile con la struttura di query dell’espressione di filtro. 

**Example Causa principale del tempo di risposta riformattata**  

```
{
  "Services": [
    {
      "Name": "GetWeatherData",
      "EntityPath": [
        {
          "Name": "GetWeatherData"
        },
        {
          "Name": "get_temperature"
        }
      ]
    },
    {
      "Name": "GetTemperature",
      "EntityPath": [
        {
          "Name": "GetTemperature"
        }
      ]
    }
  ]
}
```

Questo JSON viene quindi utilizzato come parte di un'espressione di filtro tramite una chiamata a `rootcause.json = #[{}]`. Consulta il capitolo [Espressioni di filtro](xray-console-filters.md) per ulteriori dettagli sulle query con espressioni di filtro.

**Example Esempio di filtro JSON**  

```
rootcause.json = #[{ "Services": [ { "Name": "GetWeatherData", "EntityPath": [{ "Name": "GetWeatherData" }, { "Name": "get_temperature" } ] }, { "Name": "GetTemperature", "EntityPath": [ { "Name": "GetTemperature" } ] } ] }]
```

# Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API AWS X-Ray
<a name="xray-api-configuration"></a>

AWS X-Ray [consente di configurare APIs le regole di [campionamento, le regole](xray-console-sampling.md) di gruppo e le impostazioni di crittografia.](xray-console-encryption.md)

**Topics**
+ [Impostazioni di crittografia](#xray-api-configuration-encryption)
+ [Regole di campionamento](#xray-api-configuration-sampling)
+ [Gruppi](#xray-api-configuration-groups)

## Impostazioni di crittografia
<a name="xray-api-configuration-encryption"></a>

Si usa [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html)per specificare una chiave AWS Key Management Service (AWS KMS) da usare per la crittografia. 

**Nota**  
X-Ray non supporta le chiavi KMS asimmetriche.

```
$ aws xray put-encryption-config --type KMS --key-id alias/aws/xray
{
    "EncryptionConfig": {
        "KeyId": "arn:aws:kms:us-east-2:123456789012:key/c234g4e8-39e9-4gb0-84e2-b0ea215cbba5",
        "Status": "UPDATING",
        "Type": "KMS"
    }
}
```

Come ID della chiave, puoi utilizzare un alias (come illustrato nell'esempio), una ID della chiave o di un ARN (Amazon Resource Name).

Utilizza [https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html) per recuperare la configurazione corrente. Quando X-Ray termina di applicare le impostazioni, lo stato cambia da a`UPDATING`. `ACTIVE`

```
$ aws xray get-encryption-config
{
    "EncryptionConfig": {
        "KeyId": "arn:aws:kms:us-east-2:123456789012:key/c234g4e8-39e9-4gb0-84e2-b0ea215cbba5",
        "Status": "ACTIVE",
        "Type": "KMS"
    }
}
```

Per smettere di usare una chiave KMS e utilizzare la crittografia predefinita, imposta il tipo di crittografia su. `NONE`

```
$ aws xray put-encryption-config --type NONE
{
    "EncryptionConfig": {
        "Status": "UPDATING",
        "Type": "NONE"
    }
}
```

## Regole di campionamento
<a name="xray-api-configuration-sampling"></a>

Puoi gestire le [regole di campionamento](xray-console-sampling.md) nel tuo account con l'API X-Ray. Per ulteriori informazioni sull'aggiunta e la gestione dei tag, consulta. [Etichettatura delle regole e dei gruppi di campionamento a raggi X](xray-tagging.md)

Recupera tutte le regole di campionamento utilizzando l'API [https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html](https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html).

```
$ aws xray get-sampling-rules
{
    "SamplingRuleRecords": [
        {
            "SamplingRule": {
                "RuleName": "Default",
                "RuleARN": "arn:aws:xray:us-east-2:123456789012:sampling-rule/Default",
                "ResourceARN": "*",
                "Priority": 10000,
                "FixedRate": 0.05,
                "ReservoirSize": 1,
                "ServiceName": "*",
                "ServiceType": "*",
                "Host": "*",
                "HTTPMethod": "*",
                "URLPath": "*",
                "Version": 1,
                "Attributes": {}
            },
            "CreatedAt": 0.0,
            "ModifiedAt": 1529959993.0
        }
    ]
}
```

La regola di default si applica a tutte le richieste che non soddisfano nessun'altra regola. Si tratta della regola a priorità più bassa e non può essere eliminata. Puoi, tuttavia, modificare la percentuale e la dimensione della riserva utilizzando [https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html).

**Example Input API per: [https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html)10000-default.json**  

```
{
    "SamplingRuleUpdate": {
        "RuleName": "Default",
        "FixedRate": 0.01,
        "ReservoirSize": 0
    }
}
```

L'esempio seguente utilizza il file precedente come input per modificare la regola di default impostando una percentuale dell'1% senza riserva. I tag sono opzionali. Se scegli di aggiungere tag, è necessaria una chiave di tag e i valori dei tag sono facoltativi. Per rimuovere i tag esistenti da una regola di campionamento, usa [UntagResource](https://docs.aws.amazon.com/xray/latest/api/API_UntagResource.html)

```
$ aws xray update-sampling-rule --cli-input-json file://1000-default.json --tags [{"Key": "key_name","Value": "value"},{"Key": "key_name","Value": "value"}]
{
    "SamplingRuleRecords": [
        {
            "SamplingRule": {
                "RuleName": "Default",
                "RuleARN": "arn:aws:xray:us-east-2:123456789012:sampling-rule/Default",
                "ResourceARN": "*",
                "Priority": 10000,
                "FixedRate": 0.01,
                "ReservoirSize": 0,
                "ServiceName": "*",
                "ServiceType": "*",
                "Host": "*",
                "HTTPMethod": "*",
                "URLPath": "*",
                "Version": 1,
                "Attributes": {}
            },
            "CreatedAt": 0.0,
            "ModifiedAt": 1529959993.0
        },
```

Crea regole di campionamento aggiuntive con [https://docs.aws.amazon.com/xray/latest/api/API_CreateSamplingRule.html](https://docs.aws.amazon.com/xray/latest/api/API_CreateSamplingRule.html). Quando crei una regola, la maggior parte dei campi della regola sono obbligatori. L'esempio seguente crea due regole. Questa prima regola imposta una percentuale fissa per l'applicazione di esempio Scorekeep. Si applica a tutte le richieste elaborate dall'API alle quali non si applicano regole di priorità maggiore.

**Example Input API per: [https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html)9000-base-scorekeep.json**  

```
{
    "SamplingRule": {
        "RuleName": "base-scorekeep",
        "ResourceARN": "*",
        "Priority": 9000,
        "FixedRate": 0.1,
        "ReservoirSize": 5,
        "ServiceName": "Scorekeep",
        "ServiceType": "*",
        "Host": "*",
        "HTTPMethod": "*",
        "URLPath": "*",
        "Version": 1
    }
}
```

Anche la seconda regola si applica a Scorekeep, ma le è assegnata una priorità maggiore ed è più specifica. Questa regola consente di impostare una percentuale di campionamento molto bassa per le richieste di polling. Queste sono le richieste GET effettuate dal client ogni pochi secondi per verificare la presenza di modifiche allo stato del gioco.

**Example Input API per [https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateSamplingRule.html)— 5000-polling-scorekeep.json**  

```
{
    "SamplingRule": {
        "RuleName": "polling-scorekeep",
        "ResourceARN": "*",
        "Priority": 5000,
        "FixedRate": 0.003,
        "ReservoirSize": 0,
        "ServiceName": "Scorekeep",
        "ServiceType": "*",
        "Host": "*",
        "HTTPMethod": "GET",
        "URLPath": "/api/state/*",
        "Version": 1
    }
}
```

I tag sono opzionali. Se scegli di aggiungere tag, è necessaria una chiave di tag e i valori dei tag sono facoltativi.

```
$ aws xray create-sampling-rule --cli-input-json file://5000-polling-scorekeep.json --tags [{"Key": "key_name","Value": "value"},{"Key": "key_name","Value": "value"}]
{
    "SamplingRuleRecord": {
        "SamplingRule": {
            "RuleName": "polling-scorekeep",
            "RuleARN": "arn:aws:xray:us-east-1:123456789012:sampling-rule/polling-scorekeep",
            "ResourceARN": "*",
            "Priority": 5000,
            "FixedRate": 0.003,
            "ReservoirSize": 0,
            "ServiceName": "Scorekeep",
            "ServiceType": "*",
            "Host": "*",
            "HTTPMethod": "GET",
            "URLPath": "/api/state/*",
            "Version": 1,
            "Attributes": {}
        },
        "CreatedAt": 1530574399.0,
        "ModifiedAt": 1530574399.0
    }
}
$ aws xray create-sampling-rule --cli-input-json file://9000-base-scorekeep.json
{
    "SamplingRuleRecord": {
        "SamplingRule": {
            "RuleName": "base-scorekeep",
            "RuleARN": "arn:aws:xray:us-east-1:123456789012:sampling-rule/base-scorekeep",
            "ResourceARN": "*",
            "Priority": 9000,
            "FixedRate": 0.1,
            "ReservoirSize": 5,
            "ServiceName": "Scorekeep",
            "ServiceType": "*",
            "Host": "*",
            "HTTPMethod": "*",
            "URLPath": "*",
            "Version": 1,
            "Attributes": {}
        },
        "CreatedAt": 1530574410.0,
        "ModifiedAt": 1530574410.0
    }
}
```

Per eliminare una regola di campionamento, utilizza [https://docs.aws.amazon.com/xray/latest/api/API_DeleteSamplingRule.html](https://docs.aws.amazon.com/xray/latest/api/API_DeleteSamplingRule.html).

```
$ aws xray delete-sampling-rule --rule-name polling-scorekeep
{
    "SamplingRuleRecord": {
        "SamplingRule": {
            "RuleName": "polling-scorekeep",
            "RuleARN": "arn:aws:xray:us-east-1:123456789012:sampling-rule/polling-scorekeep",
            "ResourceARN": "*",
            "Priority": 5000,
            "FixedRate": 0.003,
            "ReservoirSize": 0,
            "ServiceName": "Scorekeep",
            "ServiceType": "*",
            "Host": "*",
            "HTTPMethod": "GET",
            "URLPath": "/api/state/*",
            "Version": 1,
            "Attributes": {}
        },
        "CreatedAt": 1530574399.0,
        "ModifiedAt": 1530574399.0
    }
}
```

## Gruppi
<a name="xray-api-configuration-groups"></a>

Puoi utilizzare l'API X-Ray per gestire i gruppi nel tuo account. I gruppi costituiscono una raccolta di tracce definite da un'espressione di filtro. Puoi utilizzare i gruppi per generare grafici di servizio aggiuntivi e fornire CloudWatch metriche Amazon. Vedi [Ottenere dati da AWS X-Ray](xray-api-gettingdata.md) per maggiori dettagli sull'utilizzo dei grafici e delle metriche dei servizi tramite l'API X-Ray. Per ulteriori informazioni sui gruppi, vedere. [Configurazione dei gruppi](xray-console-groups.md) Per ulteriori informazioni sull'aggiunta e la gestione dei tag, vedere[Etichettatura delle regole e dei gruppi di campionamento a raggi X](xray-tagging.md).

Crea un gruppo con `CreateGroup`. I tag sono opzionali. Se scegli di aggiungere tag, è necessaria una chiave di tag e i valori dei tag sono facoltativi.

```
$ aws xray create-group --group-name "TestGroup" --filter-expression "service(\"example.com\") {fault}" --tags [{"Key": "key_name","Value": "value"},{"Key": "key_name","Value": "value"}]
{
    "GroupName": "TestGroup",
    "GroupARN": "arn:aws:xray:us-east-2:123456789012:group/TestGroup/UniqueID",
    "FilterExpression": "service(\"example.com\") {fault OR error}"
}
```

Ottieni tutti i gruppi esistenti con `GetGroups`.

```
$ aws xray get-groups
{
    "Groups": [
        {
            "GroupName": "TestGroup",
            "GroupARN": "arn:aws:xray:us-east-2:123456789012:group/TestGroup/UniqueID",
            "FilterExpression": "service(\"example.com\") {fault OR error}"
        },
		{
            "GroupName": "TestGroup2",
            "GroupARN": "arn:aws:xray:us-east-2:123456789012:group/TestGroup2/UniqueID",
            "FilterExpression": "responsetime > 2"
        }
    ],
	"NextToken": "tokenstring"
}
```

Aggiorna un gruppo con `UpdateGroup`. I tag sono opzionali. Se scegli di aggiungere tag, è necessaria una chiave di tag e i valori dei tag sono facoltativi. Per rimuovere i tag esistenti da un gruppo, usa [UntagResource](https://docs.aws.amazon.com/xray/latest/api/API_UntagResource.html).

```
$ aws xray update-group --group-name "TestGroup" --group-arn "arn:aws:xray:us-east-2:123456789012:group/TestGroup/UniqueID" --filter-expression "service(\"example.com\") {fault OR error}" --tags [{"Key": "Stage","Value": "Prod"},{"Key": "Department","Value": "QA"}]
{
    "GroupName": "TestGroup",
    "GroupARN": "arn:aws:xray:us-east-2:123456789012:group/TestGroup/UniqueID",
    "FilterExpression": "service(\"example.com\") {fault OR error}"
}
```

Elimina un gruppo con `DeleteGroup`.

```
$ aws xray delete-group --group-name "TestGroup" --group-arn "arn:aws:xray:us-east-2:123456789012:group/TestGroup/UniqueID" 
    {
    }
```

# Using sampling rules with the X-Ray API (Utilizzo delle regole di campionamento con l'API X-Ray)
<a name="xray-api-sampling"></a>



L' AWS X-Ray SDK utilizza l'API X-Ray per ottenere regole di campionamento, riportare i risultati del campionamento e ottenere quote. Puoi utilizzarli APIs per comprendere meglio come funzionano le regole di campionamento o per implementare il campionamento in un linguaggio non supportato da X-Ray SDK.

Inizia a recuperare tutte le regole di campionamento con [https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html](https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html).

```
$ aws xray get-sampling-rules
{
    "SamplingRuleRecords": [
        {
            "SamplingRule": {
                "RuleName": "Default",
                "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/Default",
                "ResourceARN": "*",
                "Priority": 10000,
                "FixedRate": 0.01,
                "ReservoirSize": 0,
                "ServiceName": "*",
                "ServiceType": "*",
                "Host": "*",
                "HTTPMethod": "*",
                "URLPath": "*",
                "Version": 1,
                "Attributes": {}
            },
            "CreatedAt": 0.0,
            "ModifiedAt": 1530558121.0
        },
        {
            "SamplingRule": {
                "RuleName": "base-scorekeep",
                "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/base-scorekeep",
                "ResourceARN": "*",
                "Priority": 9000,
                "FixedRate": 0.1,
                "ReservoirSize": 2,
                "ServiceName": "Scorekeep",
                "ServiceType": "*",
                "Host": "*",
                "HTTPMethod": "*",
                "URLPath": "*",
                "Version": 1,
                "Attributes": {}
            },
            "CreatedAt": 1530573954.0,
            "ModifiedAt": 1530920505.0
        },
        {
            "SamplingRule": {
                "RuleName": "polling-scorekeep",
                "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/polling-scorekeep",
                "ResourceARN": "*",
                "Priority": 5000,
                "FixedRate": 0.003,
                "ReservoirSize": 0,
                "ServiceName": "Scorekeep",
                "ServiceType": "*",
                "Host": "*",
                "HTTPMethod": "GET",
                "URLPath": "/api/state/*",
                "Version": 1,
                "Attributes": {}
            },
            "CreatedAt": 1530918163.0,
            "ModifiedAt": 1530918163.0
        }
    ]
}
```

L'output include la regola di default e regole personalizzate. Se non hai ancora creato nessuna regola di campionamento, consulta [Regole di campionamento](xray-api-configuration.md#xray-api-configuration-sampling).

Valuta le regole rispetto alle richieste in entrata in ordine crescente di priorità. Quando una regola viene soddisfatta, utilizza la percentuale fissa e la dimensione della riserva per prendere una decisione sul campionamento. Registra le richieste campionate e ignora (ai fini del tracciamento) le richieste non campionate. Interrompe la valutazione delle regole nel momento un cui viene assunta una decisione sul campionamento.

La dimensione della riserva di una regola è il numero di tracciamenti al secondo da registrare prima di applicare la percentuale fissa. La riserva è conteggiata su tutti i servizi in modo cumulativo, quindi non puoi utilizzarla direttamente. Tuttavia, se è diverso da zero, è possibile prendere in prestito una traccia al secondo dal serbatoio fino a quando X-Ray non assegna una quota. Prima di ricevere una quota, registra la prima richiesta ogni secondo e applica la percentuale fissa per ulteriori richieste. La percentuale fissa è un numero decimale tra 0 e 1,00 (100%).

L'esempio seguente mostra una chiamata a [https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingTargets.html](https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingTargets.html) con dettagli sulle decisioni di campionamento effettuate negli ultimi 10 secondi.

```
$ aws xray get-sampling-targets --sampling-statistics-documents '[
    {
        "RuleName": "base-scorekeep",
        "ClientID": "ABCDEF1234567890ABCDEF10",
        "Timestamp": "2018-07-07T00:20:06",
        "RequestCount": 110,
        "SampledCount": 20,
        "BorrowCount": 10
    },
    {
        "RuleName": "polling-scorekeep",
        "ClientID": "ABCDEF1234567890ABCDEF10",
        "Timestamp": "2018-07-07T00:20:06",
        "RequestCount": 10500,
        "SampledCount": 31,
        "BorrowCount": 0
    }
]'
{
    "SamplingTargetDocuments": [
        {
            "RuleName": "base-scorekeep",
            "FixedRate": 0.1,
            "ReservoirQuota": 2,
            "ReservoirQuotaTTL": 1530923107.0,
            "Interval": 10
        },
        {
            "RuleName": "polling-scorekeep",
            "FixedRate": 0.003,
            "ReservoirQuota": 0,
            "ReservoirQuotaTTL": 1530923107.0,
            "Interval": 10
        }
    ],
    "LastRuleModification": 1530920505.0,
    "UnprocessedStatistics": []
}
```

La risposta di X-Ray include una quota da utilizzare invece di prendere in prestito dal serbatoio. In questo esempio, il servizio ha prelevato 10 tracciamenti dalla riserva durante i 10 secondi, e viene applicata la percentuale fissa del 10% per le altre 100 richieste, generando un totale di 20 richieste campionate. La quota è valida per cinque minuti (indicata dal periodo di vita) o fino all'assegnazione di una nuova quota. X-Ray può anche assegnare un intervallo di segnalazione più lungo di quello predefinito, anche se qui non è così.

**Nota**  
La risposta di X-Ray potrebbe non includere una quota la prima volta che viene chiamata. Continua a prelevare dalla riserva finché non viene assegnata una quota.

Gli altri due campi della risposta possono indicare dei problemi con l'input. Controlla `LastRuleModification` rispetto all'ultima chiamata di [https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html](https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html). Se è più recente, scarica una nuova copia delle regole. `UnprocessedStatistics` può includere errori che indicano che una regola è stata eliminata, che il documento delle statistiche di input era troppo vecchio o che sono presenti dei problemi con le autorizzazioni.

# AWS X-Ray segmentare i documenti
<a name="xray-api-segmentdocuments"></a>

Un **segmento di tracciamento** è una rappresentazione JSON di una richiesta elaborata dalla tua applicazione. Un segmento di traccia registra informazioni sulla richiesta originale, informazioni sul lavoro svolto localmente dall'applicazione e **sottosegmenti** con informazioni sulle chiamate downstream effettuate dall'applicazione alle AWS risorse, ai database HTTP e SQL. APIs

Un **documento di segmento** trasmette informazioni su un segmento a X-Ray. Un documento di segmento può pesare fino a 64 kB e contenere un intero segmento con sottosegmenti, un frammento di segmento che indica che una richiesta è in corso o un singolo sottosegmento inviato separatamente. È possibile inviare documenti segmentati direttamente a X-Ray utilizzando l'[https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html](https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html)API.

X-Ray compila ed elabora i documenti dei segmenti per generare **riepiloghi delle tracce** interrogabili e **tracce complete** a cui è possibile accedere utilizzando rispettivamente il comando e. [https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html) APIs Oltre ai segmenti e ai sottosegmenti inviati a X-Ray, il servizio utilizza le informazioni nei sottosegmenti per generare segmenti **dedotti** e li aggiunge alla traccia completa. I segmenti dedotti rappresentano i servizi e le risorse a valle nella mappa di traccia.

X-Ray fornisce uno **schema JSON** per i documenti dei segmenti. [È possibile scaricare lo schema qui: xray-segmentdocument-schema-v 1.0.0.](samples/xray-segmentdocument-schema-v1.0.0.zip) I campi e gli oggetti elencati nello schema sono descritti in modo dettagliato nelle sezioni seguenti.

Un sottoinsieme di campi di segmento viene indicizzato da X-Ray per essere utilizzato con le espressioni di filtro. Ad esempio, se imposti il `user` campo su un segmento su un identificatore univoco, puoi cercare segmenti associati a utenti specifici nella console X-Ray o utilizzando l'API. `GetTraceSummaries` Per ulteriori informazioni, consulta [Utilizzo delle espressioni di filtro](xray-console-filters.md).

Quando strumentate la vostra applicazione con l'SDK X-Ray, l'SDK genera documenti di segmento per voi. [Invece di inviare i documenti segmentati direttamente a X-Ray, l'SDK li trasmette tramite una porta UDP locale al demone X-Ray.](xray-daemon.md) Per ulteriori informazioni, consulta [Invio di documenti di segmento al demone X-Ray](xray-api-sendingdata.md#xray-api-daemon).

**Topics**
+ [Campi del segmento](#api-segmentdocuments-fields)
+ [Sottosegmenti](#api-segmentdocuments-subsegments)
+ [Dati sulle richieste HTTP](#api-segmentdocuments-http)
+ [Annotazioni](#api-segmentdocuments-annotations)
+ [Metadati](#api-segmentdocuments-metadata)
+ [AWS dati relativi alle risorse](#api-segmentdocuments-aws)
+ [Errori ed eccezioni](#api-segmentdocuments-errors)
+ [Query SQL](#api-segmentdocuments-sql)

## Campi del segmento
<a name="api-segmentdocuments-fields"></a>

Un segmento memorizza le informazioni di tracciamento relative a una richiesta elaborata dalla tua applicazione. Come minimo, un segmento memorizza nome, ID, ora di inizio, ID di tracciamento e ora di fine della richiesta.

**Example Segmento completo minimale**  

```
{
  "name" : "example.com",
  "id" : "70de5b6f19ff9a0a",
  "start_time" : 1.478293361271E9,
  "trace_id" : "1-581cf771-a006649127e371903a2de979",
  "end_time" : 1.478293361449E9
}
```

Di seguito sono elencati i campi obbligatori, o condizionalmente obbligatori, per i segmenti.

**Nota**  
I valori devono essere stringhe (lunghe fino a un massimo di 250 caratteri) a meno che non sia indicato altrimenti.

**Campi del segmento obbligatori**
+ `name`**— Il nome logico del servizio che ha gestito la richiesta, fino a 200 caratteri.** Ad esempio, il nome dell'applicazione o il nome di dominio. I nomi possono contenere lettere in formato Unicode, numeri e spazi e i seguenti simboli: `_`, `.`, `:`, `/`, `%`, `&`, `#`, `=`, `+`, `\`, `-`, `@`
+ `id`— Un identificatore a 64 bit per il segmento, unico tra i segmenti della stessa traccia, in **16** cifre esadecimali.
+ `trace_id`— Un identificatore univoco che collega tutti i segmenti e i sottosegmenti provenienti da una singola richiesta del client.

**Formato ID di traccia X-Ray**

  Una radiografia `trace_id` è composta da tre numeri separati da trattini. Ad esempio `1-58406520-a006649127e371903a2de979`. Questo include:
  + Il numero di versione, che è. `1`
  + L'ora della richiesta originale in Unix epoch time utilizzando **8 cifre esadecimali**.

    Ad esempio, il fuso orario PST delle 10:00 del 1° dicembre 2016 è espresso in secondi o in cifre esadecimali. `1480615200` `58406520`
  + **Un identificatore a 96 bit univoco a livello globale per la traccia in 24 cifre esadecimali.**
**Nota**  
X-Ray ora supporta IDs le tracce create utilizzando OpenTelemetry e qualsiasi altro framework conforme alla specifica [W3C](https://www.w3.org/TR/trace-context/) Trace Context. Un ID di traccia W3C deve essere formattato nel formato X-Ray Trace ID quando viene inviato a X-Ray. Ad esempio, l'ID di traccia W3C `4efaaf4d1e8720b39541901950019ee5` deve essere formattato come `1-4efaaf4d-1e8720b39541901950019ee5` quando si invia a X-Ray. La traccia X-Ray IDs include il timestamp originale della richiesta in Unix epoch Time, ma questo non è necessario quando si invia la traccia W3C in formato X-Ray. IDs 
**Sicurezza dell'ID di tracciamento**  
[Le tracce sono visibili nelle intestazioni di risposta. IDs ](xray-concepts.md#xray-concepts-tracingheader) Genera tracce IDs con un algoritmo casuale sicuro per garantire che gli aggressori non possano calcolare le tracce future IDs e inviare richieste con quelle IDs alla tua applicazione.
+ `start_time`— **numero** che indica l'ora in cui il segmento è stato creato, in secondi a virgola mobile nell'ora dell'epoca. Ad esempio `1480615200.010` o `1.480615200010E9`. Utilizza il numero di cifre decimali di cui hai bisogno. Quando disponibile, è consigliata la risoluzione al microsecondo.
+ `end_time`— **numero** che indica l'ora in cui il segmento è stato chiuso. Ad esempio `1480615200.090` o `1.480615200090E9`. Specifica un `end_time` oppure il valore `in_progress`.
+ `in_progress`— **booleano**, impostato su `true` invece di specificare an `end_time` per registrare che un segmento è iniziato, ma non è completo. Invia la segnalazione di un segmento in elaborazione per memorizzare la richiesta ricevuta quando l'applicazione riceve una richiesta la cui esecuzione richiede molto tempo. Quando viene inviata la risposta, invia il completamento del segmento per sovrascrivere il segmento in elaborazione. Per ogni richiesta, invia un solo segmento completo e uno o nessun segmento in esecuzione.

**Nomi dei servizi**  
I segmenti `name` devono corrispondere al nome di dominio o al nome logico del servizio che genera il segmento. Tuttavia, questo non viene applicato. Qualsiasi applicazione autorizzata [https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html](https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html)può inviare segmenti con qualsiasi nome.

I seguenti campi dei segmenti sono facoltativi.

**Campi del segmento facoltativi**
+ `service`— Un oggetto con informazioni sull'applicazione.
  + `version`— Una stringa che identifica la versione dell'applicazione che ha fornito la richiesta.
+ `user`— Una stringa che identifica l'utente che ha inviato la richiesta.
+ `origin`— Il tipo di AWS risorsa che esegue l'applicazione.

**Valori supportati**
  + `AWS::EC2::Instance`— Un' EC2 istanza Amazon.
  + `AWS::ECS::Container`— Un contenitore Amazon ECS.
  + `AWS::ElasticBeanstalk::Environment`— Un ambiente Elastic Beanstalk.

  Quando, per la tua applicazione, sono validi più valori, utilizza quello più specifico. Ad esempio, un ambiente Docker Elastic Beanstalk Multicontainer esegue l'applicazione su un contenitore Amazon ECS, che a sua volta viene eseguito su un'istanza Amazon. EC2 In questo caso, è possibile impostare l'origine a `AWS::ElasticBeanstalk::Environment` poiché l'ambiente è il padre delle altre due risorse.
+ `parent_id`— Un ID di sottosegmento che specifichi se la richiesta proviene da un'applicazione strumentata. L'X-Ray SDK aggiunge l'ID del sottosegmento principale all'[intestazione di tracciamento per le chiamate HTTP downstream](xray-concepts.md#xray-concepts-tracingheader). Nel caso di sottosegmenti nidificati, un sottosegmento può avere come padre un segmento o un sottosegmento. 
+ `http`— [`http`](#api-segmentdocuments-http)oggetti con informazioni sulla richiesta HTTP originale.
+ `aws`— [`aws`](#api-segmentdocuments-aws)oggetto con informazioni sulla AWS risorsa su cui l'applicazione ha fornito la richiesta.
+ `error`, `throttle``fault`, e `cause` — campi [di errore](#api-segmentdocuments-errors) che indicano che si è verificato un errore e che includono informazioni sull'eccezione che ha causato l'errore.
+ `annotations`— [`annotations`](#api-segmentdocuments-annotations)oggetto con coppie chiave-valore che si desidera che X-Ray indicizzi per la ricerca.
+ `metadata`— [`metadata`](#api-segmentdocuments-metadata)oggetto con eventuali dati aggiuntivi che si desidera memorizzare nel segmento.
+ `subsegments`— **matrice** di [`subsegment`](#api-segmentdocuments-subsegments)oggetti.

## Sottosegmenti
<a name="api-segmentdocuments-subsegments"></a>

È possibile creare sottosegmenti per registrare le chiamate Servizi AWS e le risorse effettuate con l' AWS SDK, le chiamate al Web APIs HTTP interno o esterno o le query del database SQL. Puoi anche creare dei sottosegmenti per eseguire il debug o annotare blocchi di codice dell'applicazione. I sottosegmenti possono contenere a loro volta altri sottosegmenti, perciò un sottosegmento personalizzato che memorizza i metadati su una chiamata ad una funzione interna può contenere altri sottosegmenti personalizzati o sottosegmenti relativi alle chiamate a valle.

Un sottosegmento registra una chiamata a valle dal punto di vista del servizio che la chiama. X-Ray utilizza i sottosegmenti per identificare i servizi a valle che non inviano segmenti e creare le relative voci nel grafico dei servizi.

Un sottosegmento può essere incorporato in un intero documento di segmento oppure può essere inviato in modo indipendente. Invia sottosegmenti separatamente per tracciare in modo asincrono le chiamate a valle in caso di richieste di lunga durata, oppure per evitare di superare la dimensione massima del documento di segmento.

**Example Segmento con sottosegmento incorporato**  
Un sottosegmento indipendente presenta un `type` valorizzato a `subsegment` e un `parent_id` che identifica il segmento padre.  

```
{
  "trace_id"   : "1-5759e988-bd862e3fe1be46a994272793",
  "id"         : "defdfd9912dc5a56",
  "start_time" : 1461096053.37518,
  "end_time"   : 1461096053.4042,
  "name"       : "www.example.com",
  "http"       : {
    "request"  : {
      "url"        : "https://www.example.com/health",
      "method"     : "GET",
      "user_agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7",
      "client_ip"  : "11.0.3.111"
    },
    "response" : {
      "status"         : 200,
      "content_length" : 86
    }
  },
  "subsegments" : [
    {
      "id"         : "53995c3f42cd8ad8",
      "name"       : "api.example.com",
      "start_time" : 1461096053.37769,
      "end_time"   : 1461096053.40379,
      "namespace"  : "remote",
      "http"       : {
        "request"  : {
          "url"    : "https://api.example.com/health",
          "method" : "POST",
          "traced" : true
        },
        "response" : {
          "status"         : 200,
          "content_length" : 861
        }
      }
    }
  ]
}
```

Per le richieste di lunga durata, è possibile inviare un segmento in corso per notificare a X-Ray che la richiesta è stata ricevuta e quindi inviare i sottosegmenti separatamente per tracciarli prima di completare la richiesta originale.

**Example Segmento in esecuzione**  

```
{
  "name" : "example.com",
  "id" : "70de5b6f19ff9a0b",
  "start_time" : 1.478293361271E9,
  "trace_id" : "1-581cf771-a006649127e371903a2de979",
  "in_progress": true
}
```

**Example Sottosegmento indipendente**  
Un sottosegmento presenta un `type` valorizzato a `subsegment`, un `trace_id` e un `parent_id` che identifica il segmento padre.  

```
{
  "name" : "api.example.com",
  "id" : "53995c3f42cd8ad8",
  "start_time" : 1.478293361271E9,
  "end_time" : 1.478293361449E9,
  "type" : "subsegment",
  "trace_id" : "1-581cf771-a006649127e371903a2de979"
  "parent_id" : "defdfd9912dc5a56",
  "namespace"  : "remote",
  "http"       : {
      "request"  : {
          "url"    : "https://api.example.com/health",
          "method" : "POST",
          "traced" : true
      },
      "response" : {
          "status"         : 200,
          "content_length" : 861
      }
  }
}
```

Quando la richiesta viene completata, chiudi il segmento inviandolo nuovamente con il campo `end_time` valorizzato. Il segmento completato sovrascrive il segmento in elaborazione.

Puoi anche inviare i sottosegmenti separatamente per richieste completate che hanno attivato flussi di lavoro asincroni. Ad esempio, un'API web potrebbe restituire immediatamente una risposta `OK 200` prima di avviare l'attività richiesta dall'utente. È possibile inviare un segmento completo a X-Ray non appena viene inviata la risposta, seguito da sottosegmenti per il lavoro completato in un secondo momento. Come nel caso dei segmenti, puoi anche inviare un sottosegmento per memorizzare l'inizio del sottosegmento stesso e quindi sovrascriverlo con un sottosegmento completo una volta completata la chiamata a valle.

Di seguito sono elencati i campi obbligatori, o condizionalmente obbligatori, per i sottosegmenti.

**Nota**  
I valori devono essere stringhe lunghe fino a un massimo di 250 caratteri, a meno che non sia indicato altrimenti.

**Campi del sottosegmento obbligatori**
+ `id`**— Un identificatore a 64 bit per il sottosegmento, unico tra i segmenti della stessa traccia, in 16 cifre esadecimali.**
+ `name`— Il nome logico del sottosegmento. Nel caso di chiamate a valle, denominare il sottosegmento in base alla risorsa o al servizio chiamati. Nel caso di sottosegmenti personalizzati, denominare il sottosegmento in base al codice che viene analizzato (ad esempio utilizzando un nome di funzione).
+ `start_time`— **numero** che indica l'ora in cui è stato creato il sottosegmento, in secondi a virgola mobile in base all'ora dell'epoca, preciso in millisecondi. Ad esempio `1480615200.010` o `1.480615200010E9`.
+ `end_time`— **numero** che indica l'ora in cui il sottosegmento è stato chiuso. Ad esempio `1480615200.090` o `1.480615200090E9`. Specificare un `end_time` o il valore `in_progress`.
+ `in_progress`— valore **booleano** impostato su `true` anziché specificare an per `end_time` registrare che un sottosegmento è iniziato, ma non è completo. Per ogni richiesta a valle, invia un solo sottosegmento completo e uno o nessun sottosegmento in lavorazione.
+ `trace_id`— ID di traccia del segmento principale del sottosegmento. Obbligatorio solo nel caso in cui si invii un sottosegmento in modo separato.

**Formato ID di traccia X-Ray**

  Una radiografia `trace_id` è composta da tre numeri separati da trattini. Ad esempio `1-58406520-a006649127e371903a2de979`. Questo include:
  + Il numero di versione, che è. `1`
  + L'ora della richiesta originale in Unix epoch time utilizzando **8 cifre esadecimali**.

    Ad esempio, il fuso orario PST delle 10:00 del 1° dicembre 2016 è espresso in secondi o in cifre esadecimali. `1480615200` `58406520`
  + **Un identificatore a 96 bit univoco a livello globale per la traccia in 24 cifre esadecimali.**
**Nota**  
X-Ray ora supporta IDs le tracce create utilizzando OpenTelemetry e qualsiasi altro framework conforme alla specifica [W3C](https://www.w3.org/TR/trace-context/) Trace Context. Un ID di traccia W3C deve essere formattato nel formato X-Ray Trace ID quando viene inviato a X-Ray. Ad esempio, l'ID di traccia W3C `4efaaf4d1e8720b39541901950019ee5` deve essere formattato come `1-4efaaf4d-1e8720b39541901950019ee5` quando si invia a X-Ray. La traccia X-Ray IDs include il timestamp originale della richiesta in Unix epoch Time, ma questo non è necessario quando si invia la traccia W3C in formato X-Ray. IDs 
+ `parent_id`— ID del segmento principale del sottosegmento. Obbligatorio solo nel caso in cui si invii un sottosegmento in modo separato. Nel caso di sottosegmenti nidificati, un sottosegmento può avere come padre un segmento o un sottosegmento.
+ `type`—`subsegment`. Richiesto solo se si invia un sottosegmento separatamente.

I seguenti campi dei sottosegmenti sono facoltativi.

**Campi del sottosegmento facoltativi**
+ `namespace`— `aws` per le chiamate SDK AWS; `remote` per altre chiamate downstream.
+ `http`— [`http`](#api-segmentdocuments-http)oggetto con informazioni su una chiamata HTTP in uscita.
+ `aws`— [`aws`](#api-segmentdocuments-aws)oggetto con informazioni sulla AWS risorsa downstream chiamata dall'applicazione.
+ `error`, `throttle``fault`, e `cause` — campi di [errore](#api-segmentdocuments-errors) che indicano che si è verificato un errore e che includono informazioni sull'eccezione che ha causato l'errore.
+ `annotations`— [`annotations`](#api-segmentdocuments-annotations)oggetto con coppie chiave-valore che si desidera che X-Ray indicizzi per la ricerca.
+ `metadata`— [`metadata`](#api-segmentdocuments-metadata)oggetto con eventuali dati aggiuntivi che si desidera memorizzare nel segmento.
+ `subsegments`— **matrice** di [`subsegment`](#api-segmentdocuments-subsegments)oggetti.
+ `precursor_ids`— **matrice** di sottosegmenti IDs che identifica i sottosegmenti con lo stesso elemento principale completati prima di questo sottosegmento.

## Dati sulle richieste HTTP
<a name="api-segmentdocuments-http"></a>

Utilizza un blocco HTTP per memorizzare i dettagli relativi a una richiesta HTTP che la tua applicazione ha elaborato (in un segmento) oppure che la tua applicazione ha eseguito a valle verso un'API HTTP (in un sottosegmento). La maggior parte dei campi di questo oggetto corrispondono alle informazioni di una richiesta HTTP e della relativa risposta.

**`http`**

Tutti i campi sono facoltativi.
+ `request`— Informazioni su una richiesta.
  + `method`— Il metodo di richiesta. Ad esempio `GET`.
  + `url`— L'URL completo della richiesta, compilato a partire dal protocollo, dal nome host e dal percorso della richiesta.
  + `user_agent`— La stringa dell'agente utente proveniente dal client del richiedente.
  + `client_ip`— L'indirizzo IP del richiedente. Può essere recuperato dal campo `Source Address` del pacchetto IP o, in caso di richieste inoltrate, da un'intestazione `X-Forwarded-For`.
  + `x_forwarded_for`— (solo segmenti) **booleano** che indica che `client_ip` è stato letto da un'`X-Forwarded-For`intestazione e non è affidabile in quanto avrebbe potuto essere falsificato.
  + `traced`— (solo sottosegmenti) **booleano** che indica che la chiamata a valle è verso un altro servizio tracciato. Se questo campo è impostato su`true`, X-Ray considera la traccia interrotta finché il servizio downstream non carica un segmento con a `parent_id` che corrisponde al sottosegmento che `id` contiene questo blocco.
+ `response`— Informazioni su una risposta.
  + `status`— **numero intero** che indica lo stato HTTP della risposta.
  + `content_length`— **numero intero** che indica la lunghezza del corpo della risposta in byte.

Quando effettui una chiamata a un'API Web a valle, registra un sottosegmento con informazioni sulla richiesta e sulla risposta HTTP. X-Ray utilizza il sottosegmento per generare un segmento dedotto per l'API remota.

**Example Segmento per la chiamata HTTP servito da un'applicazione in esecuzione su Amazon EC2**  

```
{
  "id": "6b55dcc497934f1a",
  "start_time": 1484789387.126,
  "end_time": 1484789387.535,
  "trace_id": "1-5880168b-fd5158284b67678a3bb5a78c",
  "name": "www.example.com",
  "origin": "AWS::EC2::Instance",
  "aws": {
    "ec2": {
      "availability_zone": "us-west-2c",
      "instance_id": "i-0b5a4678fc325bg98"
    },
    "xray": {
        "sdk_version": "2.11.0 for Java"
    },
  },
  "http": {
    "request": {
      "method": "POST",
      "client_ip": "78.255.233.48",
      "url": "http://www.example.com/api/user",
      "user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0",
      "x_forwarded_for": true
    },
    "response": {
      "status": 200
    }
  }
```

**Example Sottosegmento per una chiamata HTTP a valle**  

```
{
  "id": "004f72be19cddc2a",
  "start_time": 1484786387.131,
  "end_time": 1484786387.501,
  "name": "names.example.com",
  "namespace": "remote",
  "http": {
    "request": {
      "method": "GET",
      "url": "https://names.example.com/"
    },
    "response": {
      "content_length": -1,
      "status": 200
    }
  }
}
```

**Example Segmento dedotto per una chiamata HTTP a valle**  

```
{
  "id": "168416dc2ea97781",
  "name": "names.example.com",
  "trace_id": "1-62be1272-1b71c4274f39f122afa64eab",
  "start_time": 1484786387.131,
  "end_time": 1484786387.501,
  "parent_id": "004f72be19cddc2a",
  "http": {
    "request": {
      "method": "GET",
      "url": "https://names.example.com/"
    },
    "response": {
      "content_length": -1,
      "status": 200
    }
  },
  "inferred": true
}
```

## Annotazioni
<a name="api-segmentdocuments-annotations"></a>

I segmenti e i sottosegmenti possono includere un `annotations` oggetto contenente uno o più campi indicizzati da X-Ray per l'uso con le espressioni di filtro. I campi possono avere valori di tipo stringa, numerico o booleano (senza oggetti o matrici). X-Ray indica fino a 50 annotazioni per traccia.

**Example Segmento per chiamata HTTP con annotazioni**  

```
{
  "id": "6b55dcc497932f1a",
  "start_time": 1484789187.126,
  "end_time": 1484789187.535,
  "trace_id": "1-5880168b-fd515828bs07678a3bb5a78c",
  "name": "www.example.com",
  "origin": "AWS::EC2::Instance",
  "aws": {
    "ec2": {
      "availability_zone": "us-west-2c",
      "instance_id": "i-0b5a4678fc325bg98"
    },
    "xray": {
        "sdk_version": "2.11.0 for Java"
    },
  },
  "annotations": {
    "customer_category" : 124,
    "zip_code" : 98101,
    "country" : "United States",
    "internal" : false
  },
  "http": {
    "request": {
      "method": "POST",
      "client_ip": "78.255.233.48",
      "url": "http://www.example.com/api/user",
      "user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0",
      "x_forwarded_for": true
    },
    "response": {
      "status": 200
    }
  }
```

Per funzionare con i filtri, le chiavi devono essere di tipo alfanumerico. Il trattino basso è ammesso. Altri simboli e gli spazi non sono ammessi.

## Metadati
<a name="api-segmentdocuments-metadata"></a>

I segmenti e i sottosegmenti possono includere un `metadata` oggetto contenente uno o più campi con valori di qualsiasi tipo, inclusi oggetti e matrici. X-Ray non indicizza i metadati e i valori possono avere qualsiasi dimensione, purché il documento del segmento non superi la dimensione massima (64 kB). Puoi visualizzare i metadati nel documento di segmento completo restituito dall'API [https://docs.aws.amazon.com/xray/latest/api/API_BatchGetTraces.html](https://docs.aws.amazon.com/xray/latest/api/API_BatchGetTraces.html). Le chiavi di campo (`debug`nell'esempio seguente) che iniziano con `AWS.` sono riservate all'uso da AWS-provided e dai client SDKs .

**Example Sottosegmento personalizzato con metadati**  

```
{
  "id": "0e58d2918e9038e8",
  "start_time": 1484789387.502,
  "end_time": 1484789387.534,
  "name": "## UserModel.saveUser",
  "metadata": {
    "debug": {
      "test": "Metadata string from UserModel.saveUser"
    }
  },
  "subsegments": [
    {
      "id": "0f910026178b71eb",
      "start_time": 1484789387.502,
      "end_time": 1484789387.534,
      "name": "DynamoDB",
      "namespace": "aws",
      "http": {
        "response": {
          "content_length": 58,
          "status": 200
        }
      },
      "aws": {
        "table_name": "scorekeep-user",
        "operation": "UpdateItem",
        "request_id": "3AIENM5J4ELQ3SPODHKBIRVIC3VV4KQNSO5AEMVJF66Q9ASUAAJG",
        "resource_names": [
          "scorekeep-user"
        ]
      }
    }
  ]
}
```

## AWS dati relativi alle risorse
<a name="api-segmentdocuments-aws"></a>

Nel caso dei segmenti, l'oggetto `aws` contiene informazioni sulla risorsa su cui è in esecuzione l'applicazione. A una singola risorsa possono essere associati molteplici campi. Ad esempio, un'applicazione in esecuzione in un ambiente Docker multicontainer su Elastic Beanstalk potrebbe contenere informazioni sull'istanza Amazon, sul contenitore Amazon ECS in esecuzione sull' EC2 istanza e sull'ambiente Elastic Beanstalk stesso.

**`aws` (Segmenti)**

Tutti i campi sono facoltativi.
+ `account_id`— Se l'applicazione invia segmenti a un altro, registra l'ID dell'account su cui è in esecuzione l'applicazione. Account AWS
+ `cloudwatch_logs`— Matrice di oggetti che descrivono un singolo gruppo di CloudWatch log.
  + `log_group`— Il nome del gruppo di CloudWatch log.
  + `arn`— L' CloudWatch ARN del gruppo Log.
+ `ec2`— Informazioni su un' EC2 istanza Amazon.
  + `instance_id`— L'ID dell' EC2 istanza.
  + `instance_size`— Il tipo di EC2 istanza.
  + `ami_id`— L'Amazon Machine Image ID.
  + `availability_zone`— La zona di disponibilità in cui è in esecuzione l'istanza.
+ `ecs`— Informazioni su un container Amazon ECS.
  + `container`— Il nome host del contenitore.
  + `container_id`— L'ID completo del contenitore.
  + `container_arn`— L'ARN dell'istanza del contenitore.
+ `eks`— Informazioni su un cluster Amazon EKS.
  + `pod`— Il nome host del tuo pod EKS.
  + `cluster_name`— Il nome del cluster EKS.
  + `container_id`— L'ID completo del contenitore.
+ `elastic_beanstalk`— Informazioni su un ambiente Elastic Beanstalk. Puoi trovare queste informazioni in un file denominato `/var/elasticbeanstalk/xray/environment.conf` sulle più recenti piattaforme Elastic Beanstalk.
  + `environment_name`: il nome dell'ambiente.
  + `version_label`— Il nome della versione dell'applicazione attualmente distribuita sull'istanza che ha fornito la richiesta.
  + `deployment_id`— **numero** che indica l'ID dell'ultima distribuzione riuscita nell'istanza che ha fornito la richiesta.
+ `xray`— Metadati relativi al tipo e alla versione della strumentazione utilizzata.
  + `auto_instrumentation`— Booleano che indica se è stata utilizzata la strumentazione automatica (ad esempio, l'agente Java).
  + `sdk_version`— La versione dell'SDK o dell'agente in uso.
  + `sdk`— Il tipo di SDK.

**Example AWS blocco con plugin**  

```
"aws":{
   "elastic_beanstalk":{
      "version_label":"app-5a56-170119_190650-stage-170119_190650",
      "deployment_id":32,
      "environment_name":"scorekeep"
   },
   "ec2":{
      "availability_zone":"us-west-2c",
      "instance_id":"i-075ad396f12bc325a",
      "ami_id":
   },
   "cloudwatch_logs":[
      {
         "log_group":"my-cw-log-group",
         "arn":"arn:aws:logs:us-west-2:012345678912:log-group:my-cw-log-group"
      }
   ],
   "xray":{
      "auto_instrumentation":false,
      "sdk":"X-Ray for Java",
      "sdk_version":"2.8.0"
   }
}
```

Per i sottosegmenti, registra le informazioni sulle risorse Servizi AWS e sulle risorse a cui l'applicazione accede. X-Ray utilizza queste informazioni per creare segmenti dedotti che rappresentano i servizi a valle nella mappa dei servizi.

**`aws` (Sottosegmenti)**

Tutti i campi sono facoltativi.
+ `operation`— Il nome dell'azione API richiamata contro una risorsa or. Servizio AWS 
+ `account_id`— Se l'applicazione accede alle risorse di un account diverso o invia segmenti a un account diverso, registra l'ID dell'account proprietario della AWS risorsa a cui l'applicazione ha avuto accesso.
+ `region`— Se la risorsa si trova in una regione diversa dall'applicazione, registra la regione. Ad esempio `us-west-2`.
+ `request_id`— Identificatore univoco per la richiesta.
+ `queue_url`— Per le operazioni su una coda Amazon SQS, l'URL della coda.
+ `table_name`— Per le operazioni su una tabella DynamoDB, il nome della tabella.

**Example Sottosegmento per una chiamata a DynamoDB per salvare un elemento**  

```
{
  "id": "24756640c0d0978a",
  "start_time": 1.480305974194E9,
  "end_time": 1.4803059742E9,
  "name": "DynamoDB",
  "namespace": "aws",
  "http": {
    "response": {
      "content_length": 60,
      "status": 200
    }
  },
  "aws": {
    "table_name": "scorekeep-user",
    "operation": "UpdateItem",
    "request_id": "UBQNSO5AEM8T4FDA4RQDEB94OVTDRVV4K4HIRGVJF66Q9ASUAAJG",
  }
}
```

## Errori ed eccezioni
<a name="api-segmentdocuments-errors"></a>

Quando si verifica un errore, puoi memorizzare le informazioni relative all'errore e le eccezioni generate. Memorizza gli errori nei segmenti quando l'applicazione restituisce un errore all'utente, e nei sottosegmenti quando l'errore è restituito da una chiamata a valle.

**tipi di errore**

Imposta uno o più dei seguenti campi a `true` per indicare che si è verificato un errore. In caso di errori composti è possibile associare molteplici tipi. Ad esempio, un errore `429 Too Many Requests` da una chiamata a valle può far sì che la tua applicazione ritorni un errore `500 Internal Server Error`, nel qual caso possono essere associati tutti e tre i tipi di errore.
+ `error`— **booleano** che indica che si è verificato un errore del client (il codice di stato della risposta era 4XX Client Error).
+ `throttle`*— **booleano** che indica che una richiesta è stata limitata (il codice di stato della risposta era 429 Too Many Requests).*
+ `fault`— **booleano** che indica che si è verificato un errore del server (il codice di stato della risposta era 5XX Server Error).

Indica la causa dell'errore includendo un oggetto **cause** nel segmento o nel sottosegmento.

**`cause`**

A causa può essere un ID di eccezione lungo **16 caratteri** o un oggetto con i campi riportati qui di seguito:
+ `working_directory`— Il percorso completo della directory di lavoro quando si è verificata l'eccezione.
+ `paths`— L'**array** di percorsi alle librerie o ai moduli in uso quando si è verificata l'eccezione.
+ `exceptions`— La **matrice** di oggetti di **eccezione**.

Includi informazioni dettagliate sull'errore in uno o più oggetti **exception**.

**`exception`**

Tutti i campi sono facoltativi.
+ `id`— Un identificatore a 64 bit per l'eccezione, unico tra i segmenti della stessa traccia, in **16 cifre esadecimali**.
+ `message`— Il messaggio di eccezione.
+ `type`— Il tipo di eccezione.
+ `remote`— **booleano** che indica che l'eccezione è stata causata da un errore restituito da un servizio a valle.
+ `truncated`— **numero intero** che indica il numero di stack frame omessi da. `stack`
+ `skipped`— numero **intero** che indica il numero di eccezioni che sono state saltate tra questa eccezione e la relativa eccezione figlia, ovvero l'eccezione che ha causato.
+ `cause`— ID dell'eccezione principale dell'eccezione, ovvero l'eccezione che ha causato l'eccezione.
+ `stack`— **matrice** di oggetti **StackFrame**.

Se disponibili, memorizza le informazioni sullo stack delle chiamate negli oggetti **stackFrame**.

**`stackFrame`**

Tutti i campi sono facoltativi.
+ `path`— Il percorso relativo al file.
+ `line`— La riga nel file.
+ `label`— Il nome della funzione o del metodo.

## Query SQL
<a name="api-segmentdocuments-sql"></a>

Puoi creare o sottosegmenti per le query che la tua applicazione esegue su un database SQL.

**`sql`**

Tutti i campi sono facoltativi.
+ `connection_string`— Per SQL Server o altre connessioni al database che non utilizzano stringhe di connessione URL, registrare la stringa di connessione, escluse le password.
+ `url`— Per una connessione al database che utilizza una stringa di connessione URL, registrare l'URL, escluse le password.
+ `sanitized_query`— L'interrogazione del database, con tutti i valori forniti dall'utente rimossi o sostituiti da un segnaposto.
+ `database_type`— Il nome del motore del database.
+ `database_version`— Il numero di versione del motore di database.
+ `driver_version`— Il nome e il numero di versione del driver del motore di database utilizzato dall'applicazione.
+ `user`— Il nome utente del database.
+ `preparation`— `call` se la query utilizzava un`PreparedCall`; `statement` se l'interrogazione utilizzava un`PreparedStatement`.

**Example Sottosegmento con una query SQL**  

```
{
  "id": "3fd8634e78ca9560",
  "start_time": 1484872218.696,
  "end_time": 1484872218.697,
  "name": "ebdb@aawijb5u25wdoy.cpamxznpdoq8.us-west-2.rds.amazonaws.com",
  "namespace": "remote",
  "sql" : {
    "url": "jdbc:postgresql://aawijb5u25wdoy.cpamxznpdoq8.us-west-2.rds.amazonaws.com:5432/ebdb",
    "preparation": "statement",
    "database_type": "PostgreSQL",
    "database_version": "9.5.4",
    "driver_version": "PostgreSQL 9.4.1211.jre7",
    "user" : "dbuser",
    "sanitized_query" : "SELECT  *  FROM  customers  WHERE  customer_id=?;"
  }
}
```