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 Filter (Filtrer) dans l'explorateur de traces . Pour en savoir plus sur la création et la modification de ces filtres, consultez la section 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 ("). 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. 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
Filter (Filtre) sur la page Trace Explorer (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 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 dans la page Explorateur de traces, vous pouvez utiliser le mappage dans précédent pour créer une expression équivalente.

Exemples de filtres de requêtes

Voici une description des termes de 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, ajoutez (^) avant un terme de recherche et après le caractère (+) facultatif. Pour le champ Filtre de la page Explorer de traces, si vous ajoutez l'annotation +^, elle est convertie en ^+ lorsque vous appuyez sur Entrée.

Vous trouverez ci-dessous quelques termes de recherche portant uniquement sur le délai racine et leurs équivalences:

^label:[LABEL_KEY]
Il s'agit d'une recherche portant sur la racine label:[LABEL_KEY].
^[LABEL_KEY]:[VALUE_PREFIX]
Il s'agit d'une recherche portant sur la racine [LABEL_KEY]:[VALUE_PREFIX].
+^[LABEL_KEY]:[VALUE]
Il s'agit d'une recherche portant sur la racine +[LABEL_KEY]:[VALUE].
^method:[VALUE_PREFIX]
Il s'agit d'une recherche portant sur la racine method:[VALUE_PREFIX].
+^method:[VALUE]
Il s'agit d'une recherche portant sur la racine +method:[VALUE].
^url:[VALUE_PREFIX]
Il s'agit d'une recherche portant sur la racine url:[VALUE_PREFIX].
+^url:[VALUE]
Il s'agit d'une recherche portant sur la racine +url:[VALUE].
^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é de 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 possède le libellé /http/method avec une valeur de 200.

Dépannage

Cette section contient des informations de dépannage.

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.