Filtros do Cloud Trace

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.GetNumInstances
latency:[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: s para segundos, ms para milissegundos ou ns 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 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.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 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 como label: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 list e 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.