Cloud Trace-Filter

Mithilfe von Trace-Filtern können Sie eine Reihe von Traces aus Cloud Trace auswählen. Sie haben folgende Möglichkeiten, Trace-Filter zu verwenden:

  • Als Filterparameter in einer Abfrage mit der API-Methode list.

  • Als Anfragefilter beim Erstellen eines Analyseberichts.

  • Als Feld Filter auf der Seite Trace-Liste. Informationen zum Erstellen und Ändern dieser Filter finden Sie unter Filter.

Mit Filtern können Sie eine oder mehrere Bedingungen angeben, die erfüllt sein müssen, damit ein Trace angezeigt wird. Mit der Filtersyntax können Sie definieren, wann Übereinstimmungen bestehen oder wann es sich um Präfix-Tests handelt. Bei allen Übereinstimmungen wird zwischen Groß- und Kleinschreibung unterschieden.

In der folgenden Tabelle sind die Syntaxfilter aufgeführt, die in Cloud Trace verwendet werden:

Trace API
Anfragefilter auf der Seite Analyseberichte
Filter auf der Seite Trace-Liste
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:[LABEL_KEY]:[VALUE_PREFIX]
+[LABEL_KEY]: [VALUE_PREFIX] Label:[LABEL_KEY]:+[VALUE_PREFIX]
^[LABEL_KEY]: [VALUE_PREFIX] Label:[LABEL_KEY]:^[VALUE_PREFIX]
+^[LABEL_KEY]: [VALUE_PREFIX] Label:[LABEL_KEY]:^+[VALUE_PREFIX]*
method:[VALUE_PREFIX] LABEL:method:[VALUE_PREFIX]
latency:10ms Latency:10ms
url:[VALUE_PREFIX] URL:[VALUE_PREFIX]

* In der Trace-Liste wird die Annotation +^ in ^+ konvertiert, wenn Sie die Eingabetaste drücken.

Der Rest dieser Seite enthält eine Beschreibung für Filter bei Verwendung der Trace API und für den Anfragefilter auf der Seite Analyseberichte. Wenn Sie das Feld Filter auf der Seite Trace-Liste verwenden, können Sie die Zuordnung in der vorherigen Tabelle verwenden, um einen entsprechenden Ausdruck zu erstellen.

Filtersyntax

Trace-Filter bestehen aus einer Reihe von Vergleichen, die als Bedingungen bezeichnet werden. Traces müssen mit allen Bedingungen in dem ausgewählten Filter übereinstimmen. Der folgende Filter erkennt beispielsweise Traces mit einer Latenz von mindestens einer Sekunde, die einen Span mit dem Namen /modules.GetNumInstances enthalten:

+span:/modules.GetNumInstances latency:1s

Bei allen Stringvergleichen wird die Groß-/Kleinschreibung beachtet. Die Filterbedingungen sind unten aufgeführt:

root:[NAME_PREFIX]

Der Name des Haupt-Spans in dem Trace muss mit [NAME_PREFIX] beginnen. Der folgende Filter stimmt beispielsweise mit einem Trace namens "/_ah/background" überein, aber nicht mit einem namens "/_ahx/background":

root:/_ah/
+root:[NAME]

Der Name des Haupt-Spans in dem Trace muss genau [NAME] sein. Beispiel:

+root:/_ah/background
[NAME_PREFIX]

Diese Syntax ist ein Kurzbefehl für root:[NAME_PREFIX].

+[NAME]

Diese Syntax ist ein Kurzbefehl für +root:[NAME].

span:[NAME_PREFIX]

Die Trace muss mindestens einen Span enthalten, dessen Name mit [NAME_PREFIX] beginnt. Beispiel:

span:/modules.
+span:[NAME]

Die Trace muss mindestens einen Span enthalten, dessen Name genau mit [NAME] übereinstimmt. Beispiel:

span:/modules.GetNumInstances
latency:[DURATION]

Die Gesamtlatenz in dem Trace muss größer oder gleich [DURATION] sein. Die Dauer wird als ganze Zahl gefolgt von einer Einheit angegeben: s für Sekunden, ms für Millisekunden oder ns für Nanosekunden. Wenn es kein Einheitenbezeichner gibt, sind die Einheiten Millisekunden. Zum Beispiel sind die folgenden vier Werte für die Dauer identisch:

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

Der Trace muss genau den festgelegten Labelschlüssel enthalten. Der Wert des Labels (falls vorhanden) spielt keine Rolle. Beispiel:

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

Der Trace muss genau den angegebenen Labelschlüssel enthalten und der Wert des Labels muss mit [VALUE_PREFIX] beginnen. Der folgende Begriff stimmt beispielsweise mit Traces überein, deren App Engine-Version mit "2017" beginnt.

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

Der Trace muss genau den für das Label angegebenen Schlüssel und Wert enthalten. Beispiel:

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

Die Syntax ist ein Kurzbefehl für den Labeltest /http/method:[VALUE_PREFIX].

+method:[VALUE]

Die Syntax ist ein Kurzbefehl für den Labeltest +/http/method:[VALUE].

url:[VALUE_PREFIX]

Diese Syntax ist ein Kurzbefehl für den Labeltest /http/url:[VALUE_PREFIX].

+url:[VALUE]

Die Syntax ist ein Kurzbefehl für den Labeltest +/http/url:[VALUE].

Boolesche Attribute

Verwenden Sie 0 für "false" und 1 für "true", um Werte für boolesche Attribute anzugeben. Beispiel:

Client:0

Sonderzeichen

Setzen Sie den Wert in doppelte Anführungszeichen ("), um nach einem Wert zu suchen, der Leerzeichen oder das Doppelpunktzeichen (:) enthält. Beispiel:

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

Um in einem String in Anführungszeichen nach dem doppelten Anführungszeichen oder nach dem umgekehrten Schrägstrich (\) zu suchen, müssen Sie das Zeichen mit einem umgekehrten Schrägstrich maskieren. Beispiel:

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

Wenn Sie den Suchbegriff auf den Haupt-Span beschränken möchten, fügen Sie vor dem Suchbegriff und nach dem optionalen + ein (^) ein. Wenn Sie im Feld Filter auf der Seite Trace-Liste die Annotation +^ hinzufügen, wird sie beim Drücken der Eingabetaste in ^+ konvertiert.

Im Folgenden finden Sie einige Suchanfragen, die nur für den Haupt-Span gelten, und deren Äquivalenzen:

^label:[LABEL_KEY]
Dies ist eine Haupt-Span-Suche nach label:[LABEL_KEY].
^[LABEL_KEY]:[VALUE_PREFIX]
Dies ist eine Haupt-Span-Suche nach [LABEL_KEY]:[VALUE_PREFIX].
+^[LABEL_KEY]:[VALUE]
Dies ist eine Haupt-Span-Suche nach +[LABEL_KEY]:[VALUE].
^method:[VALUE_PREFIX]
Dies ist eine Haupt-Span-Suche nach method:[VALUE_PREFIX].
+^method:[VALUE]
Dies ist eine Haupt-Span-Suche nach +method:[VALUE].
^url:[VALUE_PREFIX]
Dies ist eine Haupt-Span-Suche nach url:[VALUE_PREFIX].
+^url:[VALUE]
Dies ist eine Haupt-Span-Suche nach +url:[VALUE].
^span:[NAME_PREFIX]
Dies entspricht root:[NAME_PREFIX].
+^span:[NAME]
Dies entspricht +root:[NAME].

Durch Erstellen einer Abfrage mit gemischten Begriffen kann die Suche weiter angepasst werden. Beispiel:

    +^url:/main /images method:200

Gleicht Traces ab, wenn das Label /http/url des Haupt-Spans genau "/main" ist, dem Namen des Haupt-Spans das Präfix /images vorangestellt wird und das Label "/http/method" jedes Spans auf "200" gesetzt ist.

Fehlerbehebung

Beeinträchtigte Leistung

Wenn Ihr Trace-Filter komplex ist, dauert seine Ausführung länger und überschreitet möglicherweise das Zeitlimit. Vereinfachen Sie den Filter, um dies zu vermeiden.

Keine Ergebnisse

Prüfen Sie Folgendes, wenn Ihr Filter keine Traces zurückgibt:

  • Stellen Sie sicher, dass der Filter außer den Trennzeichen zwischen den Vergleichen keine weiteren Leerzeichen enthält.

  • Überprüfen Sie die Groß-/Kleinschreibung und die Rechtschreibung aller Wörter im Filter. Wenn Sie beispielsweise einen Schlüsselbegriff wie method:GET falsch schreiben, wird der Filter als label:method:GET interpretiert, was mit keinem Trace übereinstimmt.

  • Wenn Sie die Filterbedingungen einzeln testen möchten, verwenden Sie den Trace Listen-Filter oder den APIs Explorer. Wenn eine der Bedingungen kein Ergebnis liefert, ist diese Bedingung möglicherweise das Problem.