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) filter_list 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 ouns
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é commelabel: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.