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 filter_list 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 ons
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 comelabel: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.