Filtri di Cloud Trace

Puoi utilizzare i filtri di traccia per selezionare un insieme di tracce da Cloud Trace. Utilizza un filtro di traccia in uno dei seguenti modi:

  • Come parametro filter in una query che utilizza il metodo API list.

  • Come parametro Filtro delle richieste quando crei un report di analisi.

  • Come campo Filtra nella pagina Esplora traccia. Per informazioni sulla creazione e sulla modifica di questi filtri, consulta Visualizzare le tracce recenti.

I filtri consentono di specificare una o più condizioni che devono essere soddisfatte affinché una traccia venga visualizzata. La sintassi del filtro consente di definire quando le corrispondenze sono esatte o quando sono test con prefisso. Tutte le corrispondenze sono sensibili alle maiuscole.

Panoramica dei filtri

I filtri di Trace consistono in una sequenza di confronti chiamati termini. Per poter essere selezionate, le tracce devono corrispondere a tutti i termini nel filtro. Ad esempio, il seguente filtro trova corrispondenze per le tracce con una latenza di almeno un secondo e che contengono un intervallo denominato /modules.GetNumInstances:

+span:/modules.GetNumInstances latency:1s

Tutti i confronti di stringhe sono sensibili alle maiuscole.

Attributi booleani

Per specificare i valori per gli attributi booleani, utilizza 0 per falso e 1 per vero. Ad esempio:

Client:0

Caratteri speciali

Per cercare un valore contenente uno spazio o i due punti (:), racchiudilo tra virgolette ("). Ad esempio:

    label:"Notice: This value contains spaces and a colon"

Per cercare il carattere delle virgolette o il carattere della barra rovesciata (\) in una stringa tra virgolette, usa una barra rovesciata per eseguire l'escape del carattere. Ad esempio:

    label:"Notice: This value contains spaces, a colon, a \"quote\", and a backslash (\\)"

Sintassi dei filtri

Nella tabella seguente e in altri punti di questa pagina, NAME si riferisce al nome di un campo, mentre VALUE si riferisce al valore di una coppia chiave-valore. Le stringhe _PREFIX e _EXACT sono indicazioni visive che indicano se un test è un test del prefisso o una corrispondenza esatta. Ad esempio, root:[NAME_PREFIX] significa che il nome dell'intervallo principale deve iniziare con [NAME_PREFIX].

La tabella seguente elenca la sintassi utilizzata dai filtri in Cloud Trace:


Filtro richieste dell'API Trace nella pagina Report di analisi
Filtra nella pagina Esplora traccia
root:[NAME_PREFIX] RootSpan:[NAME_PREFIX]
+root:[NAME_EXACT] RootSpan:+[NAME_EXACT]
span:[NAME_PREFIX] SpanName:[NAME_PREFIX]
+span:[NAME_EXACT] SpanName:+[NAME_EXACT]
[NAME_PREFIX] RootSpan:[NAME_PREFIX]
label:[LABEL_KEY] HasLabel:[LABEL_KEY]
[LABEL_KEY]: [VALUE_PREFIX] [LABEL_KEY]:[VALUE_PREFIX]*
+[LABEL_KEY]: [VALUE_EXACT] [LABEL_KEY]:+[VALUE]*
^[LABEL_KEY]: [VALUE_PREFIX] [LABEL_KEY]:^[VALUE_PREFIX]*
+^[LABEL_KEY]: [VALUE_EXACT] [LABEL_KEY]:^+[VALUE_EXACT]*, †
method:[VALUE_PREFIX] Method:[VALUE_PREFIX]
latency:10ms MinLatency:10ms
url:[VALUE_PREFIX] URL:[VALUE_PREFIX]

* Non utilizzare le seguenti parole chiave di Trace come chiavi di etichetta: root, span, label, method, latency e url. Non è possibile eseguire query sulle tracce con queste chiavi di etichetta.
Nella pagina Esplora traccia, l'annotazione +^ viene convertita in ^+ quando premi Invio.

Il resto di questa pagina contiene una descrizione per i filtri quando utilizzi l'API Trace e per il Filtro richieste nella pagina Report di analisi. Se utilizzi il campo Filtro nella pagina Esplora traccia, puoi utilizzare il mapping nella tabella precedente per creare un'espressione equivalente.

Esempi di filtri per le richieste

Di seguito vengono descritti i termini del filtro:

root:[NAME_PREFIX]

Il nome dell'intervallo principale dell'analisi deve iniziare con [NAME_PREFIX]. Ad esempio, il seguente filtro corrisponde a una traccia denominata "/_ah/background", ma non a una traccia denominata "/_ahx/background":

root:/_ah/
+root:[NAME]

Il nome dell'intervallo radice della traccia deve essere esattamente [NAME]. Ad esempio:

+root:/_ah/background
[NAME_PREFIX]

Questa sintassi è una scorciatoia per root:[NAME_PREFIX].

+[NAME]

Questa sintassi è una scorciatoia per +root:[NAME].

span:[NAME_PREFIX]

L'analisi deve avere almeno un intervallo il cui nome inizia con [NAME_PREFIX]. Ad esempio:

span:/modules.
+span:[NAME]

La traccia deve avere esattamente almeno un intervallo il cui nome è [NAME]. Ad esempio,

span:/modules.GetNumInstances
latency:[DURATION]

La traccia deve avere una latenza complessiva maggiore o uguale a [DURATION]. La durata è espressa come numero intero seguito da un specificatore di unità: s per i secondi, ms per i millisecondi o ns per i nanosecondi. Se non è presente alcun specificatore di unità, le unità sono espresse in millisecondi. Ad esempio, le seguenti quattro durate corrispondono:

 12s 12000ms 12000000ns 12000
label:[LABEL_KEY]

La traccia deve contenere esattamente la chiave di etichetta specificata. Il valore dell'etichetta (se presente) non è importante. Ad esempio:

label:/http/url
[LABEL_KEY]:[VALUE_PREFIX]

La traccia deve contenere esattamente la chiave di etichetta specificata e il valore dell'etichetta deve iniziare con [VALUE_PREFIX]. Ad esempio, il termine seguente trova le tracce la cui versione di App Engine inizia con "2017".

g.co/gae/app/module_version:2017
+[LABEL_KEY]:[VALUE_EXACT]

La traccia deve contenere esattamente la chiave di etichetta e il valore specificato. Ad esempio:

+g.co/gae/app/module_version:201750925t173233.387410594824284458
method:[VALUE_PREFIX]

Questa è una scorciatoia per il test delle etichette, /http/method:[VALUE_PREFIX].

+method:[VALUE_EXACT]

Questa è una scorciatoia per il test delle etichette, +/http/method:[VALUE_EXACT].

url:[VALUE_PREFIX]

Questa è una scorciatoia per il test delle etichette, /http/url:[VALUE_PREFIX].

+url:[VALUE_EXACT]

Questa è una scorciatoia per il test delle etichette, +/http/url:[VALUE_EXACT].

Esempi di ricerca con intervallo di root

Per limitare il termine di ricerca solo all'intervallo radice, aggiungi un (^) prima di un termine di ricerca e dopo il facoltativo (+). Per il campo Filtro nella pagina Esplora traccia, se aggiungi l'annotazione +^, viene convertita in ^+ quando premi Invio.

Di seguito sono riportati alcuni termini di ricerca che includono solo l'intervallo radice e le relative equivalenze:

^label:[LABEL_KEY]
Questa è una ricerca nell'intervallo radice per label:[LABEL_KEY].
^[LABEL_KEY]:[VALUE_PREFIX]
Questa è una ricerca nell'intervallo radice per [LABEL_KEY]:[VALUE_PREFIX].
+^[LABEL_KEY]:[VALUE]
Questa è una ricerca nell'intervallo radice per +[LABEL_KEY]:[VALUE].
^method:[VALUE_PREFIX]
Questa è una ricerca nell'intervallo radice per method:[VALUE_PREFIX].
+^method:[VALUE]
Questa è una ricerca nell'intervallo radice per +method:[VALUE].
^url:[VALUE_PREFIX]
Questa è una ricerca nell'intervallo radice per url:[VALUE_PREFIX].
+^url:[VALUE]
Questa è una ricerca nell'intervallo radice per +url:[VALUE].
^span:[NAME_PREFIX]
Equivale a root:[NAME_PREFIX].
+^span:[NAME]
Equivale a +root:[NAME].

Creando una query con termini misti, la ricerca può essere ulteriormente personalizzata. Ad esempio:

    +^url:/main /images method:200

trova le tracce quando l'etichetta dell'intervallo principale /http/url è esattamente "/main", il nome dell'intervallo principale è preceduto da /images e qualsiasi intervallo ha l'etichetta /http/method con un valore pari a 200.

Risoluzione dei problemi

Questa sezione include contenuti per la risoluzione dei problemi.

Prestazioni lente

Se il filtro di traccia è complicato, l'esecuzione richiede più tempo e potrebbe scadere. Per migliorare il rendimento, semplifica il filtro.

Nessun risultato

Se il filtro non restituisce alcuna traccia, verifica quanto segue:

  • Assicurati che non ci siano spazi nel filtro, ad eccezione di quelli che separano i confronti.

  • Assicurati che tutte le parole incluse nel filtro siano corrette e che le lettere maiuscole siano corrette. Ad esempio, se scrivi in modo errato una parola chiave come method:GET, il filtro viene interpretato come label:method:GET, che non corrisponde ad alcuna traccia.

  • Per testare i termini del filtro uno alla volta, utilizza il filtro Elenco di tracce o Explorer API. Se uno dei termini non restituisce risultati, potrebbe essere il colpevole.