Com os filtros do Cloud Trace, é possível consultar o método
list da API Trace para recuperar apenas os traces que correspondem a
critérios específicos, como nomes de intervalos, latência mínima, atributos HTTP ou
rótulos.
Essas expressões de filtro não se aplicam à página Explorador de traces no console Google Cloud . No explorador de traces, é possível filtrar traces usando os filtros predefinidos no painel Filtros de extensão ou a barra Filtro. Para mais informações, consulte Encontrar e explorar 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 rastreamentos com uma 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 strings diferenciam maiúsculas de 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 ser colocados entre aspas duplas ("):
my-label:"Notice: This value contains spaces and a colon"
Para pesquisar o caractere de aspas duplas ou a barra invertida (\) em uma string entre aspas, faça 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, e VALUE se refere ao valor de um par de chave-valor. As strings _PREFIX e _EXACT são indicações visuais de se um teste é de prefixo ou de 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 descreve a sintaxe de filtro da API Trace.
Exemplos de filtro de solicitação
A lista a seguir descreve os termos de 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 período com o nome [NAME], exatamente. Exemplo:
+span:/modules.GetNumInstanceslatency:[DURATION]O rastreamento precisa ter uma latência geral maior ou igual a [DURATION]. A duração é expressa como um número inteiro seguido de um especificador de unidade:
spara segundos,mspara milissegundos ounspara 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 12000label:[LABEL_KEY]O trace precisa conter exatamente a chave do rótulo especificada. O valor do rótulo (se houver) não importa. Exemplo:
label:/http/url[LABEL_KEY]:[VALUE_PREFIX]O trace precisa conter a chave do rótulo especificada, exatamente, e o valor do rótulo precisa começar com [VALUE_PREFIX]. Por exemplo, o termo a seguir corresponde a rastreamentos cuja versão do App Engine começa com
"2017":g.co/gae/app/module_version:2017+[LABEL_KEY]:[VALUE_EXACT]O rastreamento precisa conter exatamente a chave e o valor do rótulo especificados. Exemplo:
+g.co/gae/app/module_version:201750925t173233.387410594824284458method:[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 intervalo raiz, adicione um acento circunflexo (^) antes de um termo de pesquisa e depois do sinal de mais opcional (+). No campo Filtro da página Explorador de rastreamentos, se você adicionar a anotação +^, ela será convertida em ^+ quando você pressionar Enter.
A lista a seguir mostra alguns termos de pesquisa somente de intervalo raiz e as equivalências deles:
^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].
Você pode personalizar ainda mais sua pesquisa criando uma consulta com termos mistos. Por exemplo,
+^url:/main /images method:200
corresponde a rastreamentos quando o rótulo do intervalo raiz /http/url é exatamente "/main", o nome do intervalo raiz tem o prefixo /images e qualquer intervalo tem o rótulo /http/method com um valor de 200.
Solução de problemas
As seções a seguir descrevem como resolver problemas comuns com filtros de rastreamento.
Baixo desempenho
Se o filtro de rastreamento for complicado, ele vai 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 rastreamento, verifique o seguinte:
Verifique se não existem espaços no filtro, exceto os que separam as comparações.
Verifique se o uso de maiúsculas e minúsculas e a ortografia de todas as palavras no filtro estão corretos. Por exemplo, se você digitar uma palavra-chave errada, como
method:GET, o filtro será interpretado comolabel:method:GET, que não corresponde a nenhum rastreamento.Para testar os termos de filtro um de cada vez, acesse o método da API
liste use o APIs Explorer. Se um dos termos não retornar resultados, ele pode ser o motivo de não haver dados.O APIs Explorer é aberto quando a página mostra um painel chamado Testar este método. Se necessário, clique em Testar, que abre o APIs Explorer.