Este documento descreve como configurar filtros ao usar o método list
da API Cloud Trace.
Os filtros permitem especificar uma ou mais condições que precisam ser
atendidas para que um trace seja retornado.
A página não se aplica à página Explorador de traces. Para filtrar os dados mostrados nessa página, use os filtros predefinidos, listados no painel Filtros de intervalo, ou use a barra Filtro. Para mais informações, consulte Encontrar e analisar traces.
Visão geral do filtro
Os filtros de traces consistem em uma sequência de comparações denominada termos. Os traces precisam corresponder a todos os termos no filtro a serem selecionados. Por exemplo, o filtro a seguir corresponde a traces com latência de um segundo ou mais e que contêm um período chamado /modules.GetNumInstances
:
+span:/modules.GetNumInstances latency:1s
Todas as comparações de string diferenciam maiúsculas e minúsculas.
Atributos booleanos
Para especificar valores para atributos booleanos, use false
para falso e true
para verdadeiro:
Client:true
Caracteres especiais
Valores simples, ou seja, aqueles que correspondem à expressão regular
[a-zA-Z0-9./_][a-zA-Z0-9./_-]*
, podem ser fornecidos sem aspas:
environment:production
path:/index.html
error_code:200
Os valores que incluem outros caracteres, incluindo espaços em branco, precisam estar entre
aspas duplas ("
):
my-label:"Notice: This value contains spaces and a colon"
Para procurar o caractere de aspas duplas ou de barra invertida
(\
) dentro de
uma string entre aspas, faça o escape do caractere com uma barra invertida:
my-label:"Notice: This value contains spaces, a colon, a \"quote\", and a backslash (\\)"
Sintaxe do filtro
Nesta página, NAME
se refere ao nome
de um campo, enquanto VALUE
se refere ao valor de um par de chave-valor. As strings
_PREFIX
e _EXACT
são indicações visuais de que o teste é
de prefixo ou uma correspondência exata. Por exemplo, root:[NAME_PREFIX]
significa
que o nome do período raiz precisa começar com [NAME_PREFIX]
.
O restante desta página contém uma descrição para filtros ao usar a API Cloud Trace.
Exemplos de filtro de solicitação
Confira a seguir os termos do filtro:
root:[NAME_PREFIX]
O nome do período raiz do trace precisa começar com [NAME_PREFIX]. Por exemplo, o filtro a seguir corresponde a um trace chamado
"/_ah/background"
, mas não a um"/_ahx/background"
:root:/_ah/
+root:[NAME]
O nome do período raiz do trace precisa ser exatamente [NAME]. Exemplo:
+root:/_ah/background
[NAME_PREFIX]
Essa sintaxe é um atalho para
root:[NAME_PREFIX]
.+[NAME]
Essa sintaxe é um atalho para
+root:[NAME]
.span:[NAME_PREFIX]
O trace precisa ter pelo menos um intervalo cujo nome comece com [NAME_PREFIX]. Por exemplo:
span:/modules.
+span:[NAME]
O trace precisa ter pelo menos um espaço cujo nome seja exatamente [NAME]. Por exemplo,
span:/modules.GetNumInstances
latency:[DURATION]
O trace precisa ter uma latência geral maior ou igual a [DURATION]. A duração é expressa como um número inteiro seguido por um especificador de unidades:
s
para segundos,ms
para milissegundos ouns
para nanossegundos. Se não houver um especificador de unidade, as unidades serão milissegundos. Por exemplo, as quatro durações a seguir são iguais:12s 12000ms 12000000ns 12000
label:[LABEL_KEY]
O trace precisa conter exatamente a chave de rótulo especificada. O valor do rótulo (se houver) não importa. Por exemplo:
label:/http/url
[LABEL_KEY]:[VALUE_PREFIX]
O trace precisa conter exatamente a chave de rótulo especificada, e o valor do marcador precisa começar com [VALUE_PREFIX]. Por exemplo, o termo a seguir corresponde a traces cuja versão do App Engine começa com
"2017"
.g.co/gae/app/module_version:2017
+[LABEL_KEY]:[VALUE_EXACT]
O trace precisa conter exatamente a chave de rótulo e o valor especificados. Por exemplo:
+g.co/gae/app/module_version:201750925t173233.387410594824284458
method:[VALUE_PREFIX]
Essa sintaxe é um atalho para o teste de rótulo,
/http/method:[VALUE_PREFIX]
.+method:[VALUE_EXACT]
Essa sintaxe é um atalho para o teste de rótulo,
+/http/method:[VALUE_EXACT]
.url:[VALUE_PREFIX]
Essa sintaxe é um atalho para o teste de rótulo,
/http/url:[VALUE_PREFIX]
.+url:[VALUE_EXACT]
Essa sintaxe é um atalho para o teste de rótulo,
+/http/url:[VALUE_EXACT]
.
Exemplos de pesquisa de período raiz
Para restringir o termo de pesquisa apenas ao período raiz, adicione um (^
) antes de um
termo de pesquisa e depois do opcional (+
).
No campo Filtro na página Trace Explorer, se você adicionar a
anotação +^
, ela será convertida em ^+
quando você pressionar Enter.
Confira a seguir alguns termos de pesquisa somente com o período raiz e suas equivalências:
^label:[LABEL_KEY]
- Esta é uma pesquisa de período raiz para
label:[LABEL_KEY]
. ^[LABEL_KEY]:[VALUE_PREFIX]
- Esta é uma pesquisa de período raiz para
[LABEL_KEY]:[VALUE_PREFIX]
. +^[LABEL_KEY]:[VALUE]
- Esta é uma pesquisa de período raiz para
+[LABEL_KEY]:[VALUE]
. ^method:[VALUE_PREFIX]
- Esta é uma pesquisa de período raiz para
method:[VALUE_PREFIX]
. +^method:[VALUE]
- Esta é uma pesquisa de período raiz para
+method:[VALUE]
. ^url:[VALUE_PREFIX]
- Esta é uma pesquisa de período raiz para
url:[VALUE_PREFIX]
. +^url:[VALUE]
- Esta é uma pesquisa de período raiz para
+url:[VALUE]
. ^span:[NAME_PREFIX]
- É equivalente a
root:[NAME_PREFIX]
. +^span:[NAME]
- É equivalente a
+root:[NAME]
.
Ao criar uma consulta com termos mistos, a pesquisa pode ser ainda mais personalizada. Por exemplo,
+^url:/main /images method:200
Corresponde a rastros quando o rótulo do período raiz /http/url
é exatamente "/main",
o nome do período raiz tem o prefixo /images
e qualquer período tem o
rótulo /http/method
com um valor de 200.
Solução de problemas
Esta seção contém conteúdo de solução de problemas.
Baixo desempenho
Se o filtro de trace for complicado, ele levará mais tempo para ser executado e poderá expirar. Para melhorar o desempenho, simplifique o filtro.
Nenhum resultado
Se o filtro não retornar nenhum trace, verifique o seguinte:
Verifique se não existem espaços no filtro, exceto os que separam as comparações.
Verifique se as letras maiúsculas e minúsculas e a ortografia de todas as palavras no filtro estão corretas. Por exemplo, se você digitar incorretamente uma palavra-chave como
method:GET
, o filtro será interpretado comolabel:method:GET
, que não corresponde a nenhum trace.Para testar os termos do filtro, um de cada vez, acesse o método da API
list
e use o APIs Explorer. Se um dos termos não retornar resultados, esse termo pode ser o motivo pelo qual nenhum dado está sendo retornado.O APIs Explorer é aberto quando a página mostra um painel intitulado Testar este método. Se necessário, clique em Testar para abrir o APIs Explorer.