トレース フィルタ

Stackdriver Trace から一連のトレースを選択するには、トレース フィルタを使用します。トレース フィルタは、次のいずれかの方法で使用してください。

  • projects.traces.list API メソッドを使用するクエリで、フィルタ パラメータとして使用する。

  • Trace コンソールを使用して、トレースのリストを表示したり、分析レポートを作成したりするときに、リクエスト フィルタ パラメータとして使用する。

    Trace コンソールに移動

フィルタの構文

トレース フィルタは、キーワードと呼ばれる一連の比較で構成されます。トレースは、選択するフィルタ内のすべてのキーワードと一致する必要があります。たとえば、次のフィルタは、レイテンシが 1 秒以上で、/modules.GetNumInstances という名前のスパンを含むトレースと一致します。

+span:/modules.GetNumInstances latency:1s

すべての文字列比較では大文字と小文字が区別されます。フィルタ キーワードは、以下のとおりです。

root:[NAME_PREFIX]

トレースのルートスパン名は [NAME_PREFIX] で始まる必要があります。たとえば、次のフィルタは、"/_ah/background" という名前のトレースと一致しますが、"/_ahx/background" という名前のトレースには一致しません。

root:/_ah/
+root:[NAME]

トレースのルートスパン名は [NAME] に完全に一致する必要があります。次に例を示します。

+root:/_ah/background
[NAME_PREFIX]

これは root:[NAME_PREFIX] の省略形です。

+[NAME]

これは +root:[NAME] の省略形です。

span:[NAME_PREFIX]

トレースには、[NAME_PREFIX] で始まる名前のスパンが少なくとも 1 つ必要です。次に例を示します。

span:/modules.
+span:[NAME]

トレースには、名前が [NAME] に完全に一致するスパンが少なくとも 1 つ必要です。次に例を示します。

span:/modules.GetNumInstances
latency:[DURATION]

トレースには、全体で [DURATION] 以上となるレイテンシが必要です。時間は、整数の後に単位指定子(s は秒、ms はミリ秒、ns はナノ秒)が続く形で表されます。単位指定子がない場合、ミリ秒が想定されます。たとえば、次の 4 つの時間は同じです。

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

トレースには、完全に一致する指定されたラベルキーが含まれている必要があります。ラベルの値が指定されていても、その値は影響しません。次に例を示します。

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

トレースには完全に一致する指定されたラベルキーが含まれている必要があり、ラベルの値は [VALUE_PREFIX] で始まる必要があります。たとえば、次のキーワードは、App Engine のバージョンが "2017" で始まるトレースと一致します。

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

トレースには、完全に一致する指定されたラベルキーと値が含まれている必要があります。次に例を示します。

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

これは、ラベルテスト /http/method:[VALUE_PREFIX] の省略形です。

+method:[VALUE]

これは、ラベルテスト +/http/method:[VALUE] の省略形です。

url:[VALUE_PREFIX]

これは、ラベルテスト /http/url:[VALUE_PREFIX] の省略形です。

+url:[VALUE]

これは、ラベルテスト +/http/url:[VALUE] の省略形です。

ブール値の属性

ブール属性の値を指定するには、false に 0、true に 1 を使用します。次に例を示します。

Client:0

特殊文字

空白またはコロン(:)が含まれている値を検索するには、値を二重引用符(")文字で囲みます。次に例を示します。

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

二重引用符またはバックスラッシュ(``)文字が含まれる文字列を引用符で囲んで検索文字列として指定するには、その文字をバックスラッシュでエスケープします。次に例を示します。

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

検索キーワードの前(オプションの(+)を使用する場合はその後ろ)に(^)を付けると、検索キーワードがルートスパンのみに制限されます。

以下は、ルートスパンのみの検索キーワードとその等値です。

^label:[LABEL_KEY]
これは label:[LABEL_KEY] のルートスパン検索です。
^[LABEL_KEY]:[VALUE_PREFIX]
これは [LABEL_KEY]:[VALUE_PREFIX] のルートスパン検索です。
+^[LABEL_KEY]:[VALUE]
これは +[LABEL_KEY]:[VALUE] のルートスパン検索です。
^method:[VALUE_PREFIX]
これは method:[VALUE_PREFIX] のルートスパン検索です。
+^method:[VALUE]
これは +method:[VALUE] のルートスパン検索です。
^url:[VALUE_PREFIX]
これは url:[VALUE_PREFIX] のルートスパン検索です。
+^url:[VALUE]
これは +url:[VALUE] のルートスパン検索です。
^span:[NAME_PREFIX]
これは root:[NAME_PREFIX] と同じです。
+^span:[NAME]
これは +root:[NAME] と同じです。

用語が混在するクエリを作成することで、検索をさらにカスタマイズできます。次に例を示します。

    +^url:/main /images method:200

これは、ルートスパンのラベル「/http/url」の値が「/main」であり、ルートスパンの名前に「/images」が接頭辞値として含まれており、スパンのラベル「/http/method」が 200 に設定されているトレースに一致します。

トラブルシューティング

パフォーマンスの低下

トレース フィルタが複雑な場合、実行に時間がかかり、タイムアウトになる可能性があります。パフォーマンスを向上させるには、フィルタを単純化します。

結果がない

フィルタからトレースが返されない場合は、次の点を確認してください。

  • 比較を隔てるもの以外に、フィルタにスペースが含まれていないことを確認します。

  • フィルタ内のすべての単語の大文字と小文字およびスペルが正しいことを確認します。たとえば、method:GET のようにキーワードのスペルを間違えた場合、フィルタは label:method:GET と解釈され、どのトレースとも一致しません。

  • トレースリスト フィルタまたは API エクスプローラを使用して、フィルタ キーワードを 1 つずつテストします。キーワードのうちの 1 つが結果を返さない場合、それが原因と考えられます。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Stackdriver Trace ドキュメント