Verteiltes Tracing verwenden

Eingehende Anfragen an Cloud Run-Dienste generieren automatisch Traces, die Sie in Cloud Trace aufrufen können. Sie können diese Traces verwenden, um die Ursache von Latenzproblemen in Ihrer Implementierung zu ermitteln, ohne weitere Instrumentierung in Cloud Trace hinzufügen zu müssen. Der standardmäßige W3C-Header zur Verteilung des Trace-Kontextes traceparent wird für Cloud Run-Anfragen automatisch ausgefüllt.

Wenn Sie jedoch weitere Instrumentierung hinzufügen, können Sie auch Cloud Trace verwenden, um die Zeit zu messen, die für das Senden der Anfrage auf den einzelnen Ebenen Ihrer Implementierung benötigt wird. Beispiel: Die Zeit, die für die Ausführung einer Datenbankabfrage, den Erhalt von Ergebnissen einer API-Anfrage oder für die Ausführung komplexer Geschäftslogik benötigt wird. Jede dieser ebenenspezifischen Zeitmessungen ist ein „Span“. Sie können die Traces in Cloud Trace als Wasserfalldiagramme anzeigen lassen, in denen die Latenzwerte dargestellt werden.

Kosten

Für automatisch generierte Traces in Cloud Run unabhängig davon, ob Stichproben oder erzwungene Einstellungen gelten, fallen keine Gebühren an. Wenn Sie jedoch Cloud Trace-Bibliotheken verwenden und eigene Spans hinzufügen, indem Sie sie mit von Cloud Run bereitgestellten Spans korrelieren, werden Ihnen die Kosten von Cloud Trace in Rechnung gestellt.

Trace Sampling-Rate

Cloud Run führt kein Sampling der Traces für jede Anfrage aus. Bei Verwendung mit Cloud Run werden Anfragen mit einer maximalen Rate von 0,1 Anfragen pro Sekunde für jede Instanz (oder einer Anfrage alle 10 Sekunden) erfasst. Sie können auch das Tracing einer bestimmten Anfrage erzwingen. Wenn Sie das Tracing einer Anfrage erzwingen, wird diese Anfrage mit einer maximalen Rate von 0,1 Sekunde für jede Instanz (oder 10 Anfragen pro Sekunde) erfasst.

Cloud Run unterstützt die Konfiguration der Cloud Run-Sampling-Rate nicht.

Wann Instrumentierung hinzugefügt werden muss

Traces werden automatisch generiert. Dabei ist keine Instrumentierung in Ihrem Dienst erforderlich. In einigen Fällen kann es jedoch sinnvoll sein, Instrumentierungscode zu Ihrem Dienst hinzuzufügen, um die Cloud Trace-Funktion optimal nutzen zu können. Sie müssen beispielsweise Instrumentierung hinzufügen, wenn Sie:

  • benutzerdefinierte Trace-Spans erstellen wollen, um beispielsweise Zeitdaten für die Dauer des Dienstes zu erhalten, bis die Arbeit von der Cloud Translation API zurückkehrt.
  • Trace-Kontext weitergeben wollen, damit Cloud Trace den Anfragefluss über mehrere Dienste als einzelne Anfrage anzeigt.

Informationen zum Hinzufügen von Instrumentierung finden Sie unter Tracing für Anwendungen instrumentieren. Für Traces, die aufgrund der Instrumentierung in Ihrem Dienst entstehen, fallen die standardmäßigen Cloud Trace-Abrechnungsgebühren an.

Traces ansehen

Weitere Informationen finden Sie in der Dokumentation zum Aufrufen von Traces.