Filtros do Cloud Trace

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 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 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 como label: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.