Analisi di tracce e chiamate
Esamina le tracce in Unbounded Analytics, dove potrai analizzare le tracce e le chiamate raccolte da Instana. Per aiutarti a capire come un'applicazione si comporta con ogni chiamata, monitoriamo ognuna di queste chiamate quando entrano nel sistema.
Visualizza le tracce
- Nella barra laterale, fare clic su Applicazioni.
- Nel dashboard Applicazioni , seleziona un'applicazione o un servizio.
- Nel dashboard dell'applicazione o dei servizi, fare clic su Analizza chiamate.
- Nella dashboard di Analytics è possibile analizzare le chiamate per applicazione, servizio ed endpoint, suddividendo i dati presentati da Instana rispettivamente per servizio, endpoint e nome della chiamata. In Applicazioni, selezionare Chiamate o Tracce.
- Fare clic su un gruppo e selezionare una traccia.
Visualizza l'analisi delle tracce

Filtraggio e raggruppamento di tracce o chiamate
Nel dashboard Analytics , le tracce o le chiamate possono essere filtrate e raggruppate utilizzando tag arbitrarie. In Analisi chiamate, i filtri possono essere connessi utilizzando gli operatori logici AND e OR e raggruppati con parentesi. In Analizza tracce, è disponibile solo l'operatore AND .

Esistono due approcci per filtrare i dati:
- Builder query
- Barra laterale del filtro
Mentre entrambi sono utilizzabili da soli, i migliori risultati si ottengono quando si combinano.
Builder query
Utilizza il Generatore di query nella dashboard di Analytics per filtrare il set di risultati iniziale. Facendo clic su Aggiungi filtro, puoi applicare le tag application.name, service.namee endpoint.name , insieme alle tag di entità dell'infrastruttura come agent.tag o host.name, all'origine e alla destinazione di una chiamata. Per impostazione predefinita, viene applicato alla destinazione. Per modificarlo nell'origine, fare clic sul selettore prima del nome tag e selezionare l'origine. Combinando origine e destinazione, è possibile creare query come Mostra tutte le chiamate tra questi due servizi o Mostra tutte le chiamate emesse dalla mia agent.zone 'produzione' verso il agent.zone 'test'. La selezione dell'origine o della destinazione non è disponibile per tag di chiamata come call.http.path o call.tag, che sono proprietà della chiamata stessa e sono indipendenti dall'origine o dalla destinazione.
Per applicare il raggruppamento, fare clic su Aggiungi gruppo e selezionare una delle tag. Il raggruppamento predefinito utilizza la tagendpoint.name(nome endpoint). Per analizzare le singole tracce e chiamate che corrispondono ai filtri, è possibile espandere il gruppo per raggiungere il picco nei risultati oppure fare clic su Attiva questo gruppo per rimuovere il raggruppamento e filtrare ulteriormente i risultati in base al valore del gruppo selezionato. Le tag possono essere applicate all'origine o alla destinazione della chiamata, in modo da poter esprimere query come Mostra tutte le chiamate verso questo servizio, suddivise per chiamante. Le chiamate che non corrispondono ad alcun gruppo vengono mostrate in un gruppo speciale denominato Tag not present, ad esempio con agent.zone questo sarà Chiamate senza il tag 'agent.zone'. Per rimuovere agent.zone non corrispondente dai risultati, applicare un ulteriore filtro con l'operatore is present . Anche il raggruppamento per origine e destinazione non è disponibile in Analizza tracce, poiché i gruppi disponibili in tale vista sono indipendenti dall'origine o dalla destinazione di una particolare chiamata.
L'esempio precedente filtra per applicazione Catalogue (user-journey) ed elenca le chiamate raggruppate per nome endpoint.
Barra laterale del filtro
Utilizzando i risultati ottenuti applicando i filtri del generatore di query, è possibile approfondire rapidamente i dati applicando ulteriori filtri nella barra laterale dei filtri nella dashboard di Analytics.

Gli elementi all'interno della stessa categoria di tag verranno concatenati tramite ORlogico, diverse categorie di tag verranno concatenate utilizzando ANDlogico. Tutti i filtri selezionati nella barra laterale dei filtri vengono applicati ai filtri del generatore di query già applicati tramite l'operatore logico AND. L'intestazione della barra laterale dei filtri mostra il numero totale di elementi selezionati in tutti i tag e consente di rimuovere rapidamente tutti i filtri applicati alla barra laterale.
Attenzione: si noti che le selezioni multiple per una singola tag non sono attualmente supportate su Analizza tracce.
Nell'esempio precedente stiamo filtrando per applicazione Catalogue (user-journey) nel generatore di query E per servizi catalogue-demo OPPURE discount-svc selezionati nella barra laterale dei filtri.
Per raggruppare rapidamente in base a uno dei tag della barra laterale dei filtri, clicca sul pulsante di raggruppamento visualizzato accanto a ciascun tag che consente il raggruppamento. Questo è un modo rapido per configurare il raggruppamento nel programma di creazione di query come descritto in precedenza. Nello stesso modo in cui è possibile raggruppare in base a una specifica tag della barra laterale del filtro, è anche possibile sollevare nuovamente il raggruppamento facendo clic sul pulsante Annulla raggruppamento su una tag attualmente utilizzata per il raggruppamento.
Limitazioni note
Raggruppamento di chiamate per tag di log: quando si raggruppano chiamate per log.level o log.message, il gruppo speciale Tag not present non verrà rappresentato come nel caso di altre tag.
Distribuzione della latenza
La latenza di traccia e chiamata può essere esaminata utilizzando il grafico Distribuzione latenza . Quando si seleziona un intervallo di latenza sul grafico, i filtri vengono regolati di conseguenza. I risultati nella tabella nel modo seguente verranno aggiornati per mostrare solo le tracce o le chiamate all'interno dell'intervallo di latenza specificato.

Vista traccia
Per visualizzare una vista di traccia, nel pannello di controllo Analitica selezionare un gruppo e fare clic sulla traccia. Selezionando una chiamata, la chiamata viene visualizzata nel contesto della relativa traccia.

Dettagli riepilogo
I dettagli di riepilogo di una traccia includono:
- Il nome della traccia (generalmente una voce HTTP ).
- Il nome del servizio su cui si è verificato.
- Il tipo o la tecnologia.
- KPI principali:
- Chiamate secondarie ad altri servizi.
- Il numero di chiamate errate.
- Il numero di errori nella traccia.
- Il numero di avvertenze all'interno della traccia.
- Durata traccia. Un intervallo tra l'avvio della prima e la fine dell'ultima chiamata in una traccia.
Scala temporale
La sequenza temporale della traccia visualizza quanto segue:
- quando la traccia è stata avviata.
- l'ordine cronologico dei servizi che sono stati richiamati in tutta la traccia.
Le catene di chiamate si bloccano dall'elemento root (span). Su sistemi semplici a tre livelli, si ha una profondità tipica di quattro livelli. Al contrario, su sistemi con un servizio distribuito o un'architettura di microservizi, puoi aspettarti di vedere ghiaccioli molto più lunghi. Quando si dispone di chiamate secondarie lunghe della traccia o di modelli di chiamate periodiche, come una chiamata HTTP per voce di database, la sequenza temporale fornisce una panoramica eccellente della struttura della chiamata.
Per visualizzare i dettagli dell'estensione, fare clic sull'estensione all'interno del grafico della sequenza temporale. Per visualizzare i dettagli del punto in cui è stato trascorso il tempo all'interno di una chiamata specifica, passare con il mouse sulla chiamata visualizzata nel grafico della sequenza temporale.
I dettagli della chiamata includono i seguenti tipi di tempo:
Self:La quantità di tempo che la chiamata trascorre al di fuori delle chiamate downstream (ossia, il tempo impiegato nella chiamata).Waiting:La quantità di tempo che la chiamata trascorre in attesa del completamento di tutte le chiamate downstream.Network:La differenza di orario traExit Span Timedel chiamante eEntry Span Timedella chiamata.Total:Il tempo totale di una chiamata.
Servizi
I servizi, elencati nel grafico della sequenza temporale, riepilogano tutte le chiamate per servizio ed elencano il numero di chiamate, il tempo aggregato e gli errori che si sono verificati. Ogni servizio ha il proprio colore (in questo negozio di esempio = blu, productsearch green). Selezionare un servizio per visualizzarne i dettagli nel dashboard di applicazioni e servizi.
Chiamate

La struttura ad albero di traccia visualizza la struttura delle chiamate di servizio a monte e a valle, insieme al tipo di chiamata. Per esplorare specifiche chiamate, espandere e comprimere singole parti della struttura di traccia. Selezionare una chiamata per visualizzarne i dettagli nel dashboard dei servizi e degli endpoint.
Chiamate orfane
Una chiamata viene considerata orfana se manca la relativa chiamata parent. Una chiamata può mancare per vari motivi, come ad esempio non essere ancora terminata o essere inviata a un altro strumento APM. Poiché la relazione padre - figlio determina la posizione di una chiamata all'interno di una struttura ad albero di chiamate, la posizione di una chiamata orfana è sconosciuta. La chiamata orfana è collegata direttamente alla chiamata root. Un'icona indicatore viene visualizzata sul margine tra la root e la chiamata orfana.

Dettagli della chiamata
Per visualizzare la barra laterale dei dettagli della chiamata, selezionare una chiamata nel grafico della sequenza temporale. I dettagli visualizzati includono l'origine e la destinazione della chiamata, gli errori, un codice di stato e la traccia di stack.
Salva le tracce
Per salvare manualmente una traccia visualizzata nell'archivio a lungo termine (per un massimo di 13 mesi), fare clic sul pulsante "Salva traccia ". In alternativa, è possibile salvare automaticamente la traccia rimanendo nella vista "Dettagli traccia" per almeno 15 secondi. Tuttavia, la conservazione a lungo termine di tracce di grandi dimensioni non è supportata.
Acquisizione di registri ed errori
Instana rileva automaticamente gli errori quando un servizio restituisce una risposta non valida o viene individuato un log con livello ERROR WARN o (o equivalente, a seconda del framework).
Aggregazione automatica delle chiamate brevi in uscita
Instana si impegna sempre a fornirti la migliore comprensione possibile delle interazioni del servizio, riducendo al minimo l'impatto sull'applicazione stessa. Tuttavia, in alcuni casi è necessario che Instana elimini dei dati per raggiungere tale obiettivo.
Un problema comune nei sistemi è il cosiddetto problema di query 1+N , che descrive una situazione in cui il codice esegue 1 chiamata al database per ottenere un elenco di elementi, seguito da N chiamate individuali per richiamare i singoli elementi. Il problema di solito può essere risolto eseguendo solo una chiamata e unendo le altre chiamate ad essa.
L'icona accanto al nome della chiamata indica quante richieste sono state raggruppate in batch. I dettagli della chiamata corrispondono a quelli del richiamo del servizio più significativo, ad esempio la richiesta con la durata più elevata o con errori. La durata e il conteggio degli errori per la chiamata mostrata vengono aggregati da tutte le chiamate batch.

L'aggregazione delle interazioni del servizio si verifica solo entro i seguenti vincoli:
- Modelli di accesso frequenti e ripetitivi di tipo simile
- I singoli richiami del servizio richiedono meno di 10 ms
- Il tempo tra le chiamate è inferiore a 10 ms
Parametri di acquisizione
A causa di potenziali problemi di compatibilità, al momento i sensori di tracciamento di Instana non rilevano automaticamente i parametri dei metodi né i valori di ritorno dei metodi. Per acquisire ulteriori dati su richiesta, utilizzare gli SDK.
Attività a lunga durata
A causa dei timeout, del carico elevato o di qualsiasi altro numero di condizioni ambientali, le chiamate potrebbero richiedere un tempo significativo prima di rispondere. Le tracce possono contenere decine o addirittura centinaia di tali chiamate. Poiché Instana intende fornire all'utente le informazioni di tracciamento il più rapidamente possibile, gli intervalli di esecuzione prolungata vengono inizialmente sostituiti con un segnaposto. Quando l'estensione di lunga durata finalmente ritorna, il segnaposto viene sostituito di nuovo con le corrette informazioni di chiamata.
Elaborazione in batch delle tracce
Grazie alle elevate prestazioni e alla natura quasi in tempo reale della pipeline di elaborazione della campata, le campate che arrivano in ritardo e in modo asincrono vengono trattate in modo leggermente diverso quando sono collegate alla traccia risultante. Una casella di informazioni nella vista Traccia viene presentata all'utente e fornisce informazioni su una traccia non corretta.
Per gli utenti di Instana, potrebbero verificarsi i seguenti effetti:
- Nella vista Traccia, non vengono presentate tutte le chiamate secondarie per la traccia.
- Le tracce separate con lo stesso trace - id vengono elencate e presentano parzialmente la traccia globale.
- Una chiamata potrebbe non essere associata alla prospettiva dell'applicazione corrispondente e potrebbe quindi mancare in Unbounded Analytics.
- Una chiamata potrebbe non essere associata al servizio corrispondente e potrebbe quindi mancare in Unbounded Analytics.
- La mappa del flusso potrebbe mostrare conteggi di chiamate incongruenti.
- La mappa del flusso potrebbe mostrare associazioni di servizio incongruenti.

In questa situazione, alcuni intervalli arrivano dopo l'intervallo di 2 secondi quando la traccia risultante è già stata elaborata. Questo approccio presenta tutte le estrapolazioni catturate, ma alcune delle correlazioni potrebbero non essere corrette.
Ciò può portare alle seguenti anomalie nel modello di dati dell' Instana :
- Un'estensione di uscita e l'estensione di entrata corrispondente potrebbero non essere unite in una singola chiamata.
- Una chiamata potrebbe non essere associata al servizio corretto.
- Una chiamata potrebbe non essere collegata alla chiamata parent corretta.
- Una chiamata potrebbe non avere le tag dell'infrastruttura.
- Una chiamata potrebbe non essere o potrebbe non essere associata correttamente ad una prospettiva dell'applicazione.
La seguente immagine presenta una traccia simile, con tutte le suddivisioni elaborate nel contesto dell'estensione root e quindi collegate alla traccia in un singolo batch:

Dati approssimativi
Le tracce e le chiamate vengono conservate per 7 giorni. Trascorso questo periodo, viene visualizzato un indicatore di dati approssimativo del numero di chiamate conservate e la stima del conteggio delle chiamate originali. Le tracce e le chiamate che si verificano raramente potrebbero non essere rappresentate in tali scenari.
timepicker inizia più di 7 giorni fa e termina entro gli ultimi 7 giorni, l'intero intervallo verrà analizzato utilizzando dati approssimativi, anche se per una parte di tale intervallo sono disponibili dati completi. Se si desidera analizzare il dataset completo, assicurarsi che l'intervallo di tempo selezionato inizi entro gli ultimi 7 giorni.
Le metriche accurate delle prospettive dell'applicazione sono conservate per gli ultimi 31 giorni. Quando si espande un gruppo o si rimuove il gruppo per visualizzare le chiamate individuali, è possibile visualizzare solo le chiamate conservate e l'indicatore di dati approssimativo.
Oltre 31 giorni, sia le metriche che le chiamate saranno approssimative.

Nota sulla precisione del campionamento per le metriche a livello di chiamata
Il sistema utilizza un campionamento casuale basato sull'hash dell'ID della traccia, il che garantisce un campionamento coerente a livello di traccia. Tuttavia, ciò ha delle implicazioni nell'analisi delle metriche a livello di chiamata:
- Il campionamento viene effettuato per traccia, non per chiamata. Se il numero di chiamate per traccia varia in modo significativo, i dati a livello di chiamata possono risultare distorti.
- Ad esempio, una singola traccia anomala con oltre un milione di chiamate può influire notevolmente sulle metriche a livello di chiamata se il sistema la include nel campionamento.
- Si tratta di un comportamento previsto, non di un difetto. Questo illustra il funzionamento del campionamento basato sulle tracce.
Limitazioni
HTTP I parametri che non specificano un nome vengono ignorati durante l'analisi delle chiamate e non possono essere utilizzati per il filtraggio o il raggruppamento. Ad esempio, in una chiamata con la stringa di query =val1&key=val2, viene riconosciuto solo il val2 parametro key denominato con valore. Il parametro senza =val1 nome viene ignorato. Tuttavia, la stringa di query completa è ancora visibile nei dettagli della chiamata.