Filtres Cloud Trace

Vous utilisez des filtres de traces pour sélectionner un ensemble de traces provenant de Cloud Trace. Utilisez un filtre de trace de l'une des manières suivantes :

  • En tant que paramètre de filtre dans une requête à l'aide de la méthode API list.

  • En tant que paramètre Filtre de requêtes lorsque vous créez un rapport d'analyse.

  • En tant que champ Filtrer sur la page Explorateur de traces. Pour en savoir plus sur la création et la modification de ces filtres, consultez Afficher les traces récentes.

Les filtres vous permettent de spécifier une ou plusieurs conditions à remplir pour qu'une trace s'affiche. La syntaxe de filtrage vous permet de définir les correspondances exactes ou les tests de préfixe. Toutes les correspondances sont sensibles à la casse.

Présentation du filtre

Les filtres de traces consistent en une série de comparaisons appelées termes. Les traces doivent correspondre à tous les termes du filtre pour être sélectionnées. Par exemple, le filtre suivant correspond aux traces qui ont une latence d'une seconde ou plus et qui contiennent un délai nommé /modules.GetNumInstances :

+span:/modules.GetNumInstances latency:1s

Toutes les comparaisons de chaînes sont sensibles à la casse.

Attributs booléens

Pour spécifier des valeurs pour les attributs booléens, utilisez 0 pour "false" et 1 pour "true". Exemple :

Client:0

Caractères spéciaux

Pour rechercher une valeur contenant un espace ou le caractère deux-points (:), placez la valeur entre guillemets ("). Par exemple :

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

Pour rechercher le caractère "guillemet double" ou la barre oblique inverse (\) dans une chaîne entre guillemets, échappez le caractère avec une barre oblique inverse. Par exemple :

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

Syntaxe des filtres

Dans le tableau suivant et ailleurs sur cette page, NAME fait référence au nom d'un champ, tandis que VALUE fait référence à la valeur d'une paire clé/valeur. Les chaînes _PREFIX et _EXACT indiquent de manière visuelle si un test est un test de préfixe ou une correspondance exacte. Par exemple, root:[NAME_PREFIX] signifie que le nom du délai racine doit commencer par [NAME_PREFIX].

Le tableau suivant répertorie la syntaxe des filtres utilisés dans Cloud Trace :

API Trace
Filtre de requêtes sur la page Rapports d'analyse
Filtrer sur la page Explorateur de traces
root:[NAME_PREFIX] RootSpan:[NAME_PREFIX]
+root:[NAME_EXACT] RootSpan:+[NAME_EXACT]
span:[NAME_PREFIX] SpanName:[NAME_PREFIX]
+span:[NAME_EXACT] SpanName:+[NAME_EXACT]
[NAME_PREFIX] RootSpan:[NAME_PREFIX]
label:[LABEL_KEY] HasLabel:[LABEL_KEY]
[LABEL_KEY]: [VALUE_PREFIX] [LABEL_KEY]:[VALUE_PREFIX]*
+[LABEL_KEY]: [VALUE_EXACT] [LABEL_KEY]:+[VALUE]*
^[LABEL_KEY]: [VALUE_PREFIX] [LABEL_KEY]:^[VALUE_PREFIX]*
+^[LABEL_KEY]: [VALUE_EXACT] [LABEL_KEY]:^+[VALUE_EXACT]*, †
method:[VALUE_PREFIX] Method:[VALUE_PREFIX]
latency:10ms MinLatency:10ms
url:[VALUE_PREFIX] URL:[VALUE_PREFIX]

* N'utilisez pas les mots clés Trace suivants comme clés de libellé : root, span, label, method, latency et url. Les traces associées à ces clés de libellé ne peuvent pas être interrogées.
Sur la page de l'explorateur de traces, l'annotation +^ est convertie en ^+ lorsque vous appuyez sur Entrée.

Le reste de cette page contient une description des filtres en cas d'utilisation de l'API Trace et du filtre de requêtes sur la page Rapports d'analyse. Si vous utilisez le champ Filtrer de la page Explorateur de traces, vous pouvez utiliser le mappage du tableau précédent pour créer une expression équivalente.

Exemples de filtres de requêtes

Voici la description des termes du filtre:

root:[NAME_PREFIX]

Le nom du délai racine de la trace doit commencer par [NAME_PREFIX]. Par exemple, le filtre suivant correspond à une trace nommée "/_ah/background", mais pas à une trace nommée "/_ahx/background" :

root:/_ah/
+root:[NAME]

Le nom du délai racine de la trace doit être exactement [NAME]. Exemple :

+root:/_ah/background
[NAME_PREFIX]

Cette syntaxe est un raccourci pour root:[NAME_PREFIX].

+[NAME]

Cette syntaxe est un raccourci pour +root:[NAME].

span:[NAME_PREFIX]

La trace doit avoir au moins un délai dont le nom commence par [NAME_PREFIX]. Exemple :

span:/modules.
+span:[NAME]

La trace doit avoir au moins un délai dont le nom est exactement [NAME]. Exemple :

span:/modules.GetNumInstances
latency:[DURATION]

La trace doit avoir une latence globale supérieure ou égale à [DURATION]. La durée est exprimée sous la forme d'un entier suivi d'un spécificateur d'unités : s pour les secondes, ms pour les millisecondes ou ns pour les nanosecondes. Si aucun spécificateur d'unité n'est défini, les unités sont exprimées en millisecondes. Par exemple, les quatre durées suivantes sont identiques :

 12s 12000ms 12000000ns 12000
label:[LABEL_KEY]

La trace doit contenir exactement la clé de libellé spécifiée. La valeur du libellé (le cas échéant) n'a pas d'importance. Exemple :

label:/http/url
[LABEL_KEY]:[VALUE_PREFIX]

La trace doit contenir exactement la clé de libellé spécifiée, et la valeur du libellé doit commencer par [VALUE_PREFIX]. Par exemple, le terme suivant correspond aux traces dont la version d'App Engine commence par "2017".

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

La trace doit contenir exactement la clé de libellé et la valeur spécifiées. Exemple :

+g.co/gae/app/module_version:201750925t173233.387410594824284458
method:[VALUE_PREFIX]

Cette syntaxe est un raccourci pour le test de libellé, /http/method:[VALUE_PREFIX].

+method:[VALUE_EXACT]

Cette syntaxe est un raccourci pour le test de libellé, +/http/method:[VALUE_EXACT].

url:[VALUE_PREFIX]

Cette syntaxe est un raccourci pour le test de libellé, /http/url:[VALUE_PREFIX].

+url:[VALUE_EXACT]

Cette syntaxe est un raccourci pour le test de libellé, +/http/url:[VALUE_EXACT].

Exemples de recherches sur le délai racine

Pour limiter le terme de recherche au délai racine uniquement, ajoutez (^) avant un terme de recherche et après l'élément facultatif (+). Pour le champ Filtrer de la page Explorateur de traces, si vous ajoutez l'annotation +^, elle est convertie en ^+ lorsque vous appuyez sur Entrée.

Voici quelques termes de recherche qui ne concernent que le délai racine et leurs équivalences:

^label:[LABEL_KEY]
Il s'agit d'une recherche label:[LABEL_KEY] sur le délai racine.
^[LABEL_KEY]:[VALUE_PREFIX]
Il s'agit d'une recherche [LABEL_KEY]:[VALUE_PREFIX] sur le délai racine.
+^[LABEL_KEY]:[VALUE]
Il s'agit d'une recherche +[LABEL_KEY]:[VALUE] sur le délai racine.
^method:[VALUE_PREFIX]
Il s'agit d'une recherche method:[VALUE_PREFIX] sur le délai racine.
+^method:[VALUE]
Il s'agit d'une recherche +method:[VALUE] sur le délai racine.
^url:[VALUE_PREFIX]
Il s'agit d'une recherche url:[VALUE_PREFIX] sur le délai racine.
+^url:[VALUE]
Il s'agit d'une recherche +url:[VALUE] sur le délai racine.
^span:[NAME_PREFIX]
Cela équivaut à root:[NAME_PREFIX].
+^span:[NAME]
Cela équivaut à +root:[NAME].

En créant une requête avec des termes mixtes, la recherche peut être personnalisée davantage. Par exemple :

    +^url:/main /images method:200

correspond aux traces lorsque le libellé du délai racine /http/url est exactement "/main", que le nom du délai racine est précédé de /images et que tout délai porte le libellé /http/method avec la valeur 200.

Dépannage

Cette section contient des informations sur la résolution de problèmes.

Performances ralenties

Si votre filtre de trace est complexe, son exécution est plus longue et peut expirer. Pour améliorer les performances, simplifiez le filtre.

Aucun résultat

Si le filtre ne renvoie aucune trace, vérifiez les points suivants :

  • Assurez-vous qu'il n'y a pas d'espaces dans le filtre, sauf ceux qui séparent les comparaisons.

  • Assurez-vous que tous les mots du filtre sont dans la bonne casse et qu'ils sont bien orthographiés. Par exemple, si vous orthographiez mal un mot clé tel que method:GET, le filtre est interprété comme label:method:GET, ce qui ne correspond à aucune trace.

  • Pour tester les termes de filtre un par un, utilisez le filtre Liste de traces ou l'API Explorer. Si l'un des termes ne renvoie aucun résultat, il pourrait être en cause.