Filtros de traces

É possível usar filtros de traces para selecionar um conjunto de traces do Stackdriver Trace. Você pode fazer isso da seguinte forma:

  • Como o parâmetro de filtro em uma consulta usando o método da API projects.traces.list.

  • Como o parâmetro do filtro Solicitação quando você usa o console do Trace para exibir uma lista de traces ou para criar um relatório de análise.

    Acessar o console do Trace

Sintaxe 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 uma latência de um segundo ou mais e que contêm um período denominado /modules.GetNumInstances:

+span:/modules.GetNumInstances latency:1s

Todas as comparações de string diferenciam maiúsculas e minúsculas. Os termos do filtro estão listados abaixo:

root:[NAME_PREFIX]

O nome do período raiz do trace precisa começar com [NAME_PREFIX]. Por exemplo, o seguinte filtro corresponderá a um trace chamado "/_ah/background", mas não a um chamado "/_ahx/background":

root:/_ah/
+root:[NAME]

O nome do período raiz do trace precisa ser exatamente [NAME]. Por exemplo:

+root:/_ah/background
[NAME_PREFIX]

Este é um atalho para root:[NAME_PREFIX].

+[NAME]

Este é 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 de um especificador de unidades: s para segundos, ms para milissegundos ou ns para nanosegundos. Se não há um especificador de unidade, milissegundos são adotados. 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 combina os traces cuja versão do App Engine começa com "2017".

g.co/gae/app/module_version:2017
+[LABEL_KEY]:[VALUE]

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]

Este é um atalho para o teste de marcador, /http/method:[VALUE_PREFIX].

+method:[VALUE]

Este é um atalho para o teste de marcador, +/http/method:[VALUE].

url:[VALUE_PREFIX]

Este é um atalho para o teste de marcador, /http/url:[VALUE_PREFIX].

+url:[VALUE]

Este é um atalho para o teste de rótulo, +/http/url:[VALUE].

Atributos booleanos

Se quiser especificar valores para atributos booleanos, use 0 para falso e 1 para verdadeiro. Por exemplo:

Client:0

Caracteres especiais

Para procurar um valor que contenha espaço ou o caractere de dois-pontos (:), coloque o valor entre caracteres de aspas duplas ("). Por exemplo:

    label:"Notice: This value contains spaces and a colon"

Para procurar o caractere de aspas duplas ou de barra invertida (``) dentro de uma string citada, faça o escape do caractere com uma barra invertida. Por exemplo:

    label:"Notice: This value contains spaces, a colon, a \"quote\", and a backslash (\\)"

Adicione um (^) antes de um termo de pesquisa e depois do caractere (+) opcional restringe o termo de pesquisa apenas ao período raiz.

Veja a seguir alguns termos de pesquisa somente com o período raiz e suas equivalências:

^label:[LABEL_KEY]
Essa é uma pesquisa de período raiz para label:[LABEL_KEY].
^[LABEL_KEY]:[VALUE_PREFIX]
Essa é uma pesquisa de período raiz para [LABEL_KEY]:[VALUE_PREFIX].
+^[LABEL_KEY]:[VALUE]
Essa é uma pesquisa de período raiz para +[LABEL_KEY]:[VALUE].
^method:[VALUE_PREFIX]
Essa é uma pesquisa de período raiz para method:[VALUE_PREFIX].
+^method:[VALUE]
Essa é uma pesquisa de período raiz para +method:[VALUE].
^url:[VALUE_PREFIX]
Essa é uma pesquisa de período raiz para url:[VALUE_PREFIX].
+^url:[VALUE]
Essa é uma pesquisa de período raiz para +url:[VALUE].
^span:[NAME_PREFIX]
Isso equivale a root:[NAME_PREFIX].
+^span:[NAME]
Isso equivale a +root:[NAME].

Ao criar uma consulta com termos mistos, a pesquisa pode ser ainda mais personalizada. Por exemplo:

    +^url:/main /images method:200

encontrará traces em que o rótulo de período raiz /http/url contém "/main" como o valor exato, o nome do período raiz contém /images como o valor de prefixo e qualquer período tem o rótulo /http/method configurado como 200.

Solução de problemas

Baixo desempenho

Se o filtro de trace for complexo, levará mais tempo para ser executado e poderá atingir o tempo limite. 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ê escrever incorretamente uma palavra-chave como method:GET, o filtro será interpretado como label:method:GET, que não corresponde a nenhum trace.

  • Use o filtro da lista de traces ou o Explorador de APIs para testar os termos do filtro um de cada vez. Se um dos termos não retornar resultados, o problema poderá estar nele.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Stackdriver Trace