Cloud Trace – Übersicht

Mit Cloud Trace, einem verteilten Tracing-System für Google Cloud, können Sie nachvollziehen, wie lange Ihre Anwendung für die Verarbeitung eingehender Anfragen von Nutzern oder anderen Anwendungen benötigt und wie lange es dauert, bis Vorgänge abgeschlossen sind, wie beispielsweise RPC-Aufrufe, die bei der Verarbeitung der Anfragen ausgeführt werden. Trace kann Ihnen auch bei der Entwicklung eines Dienstes oder der Fehlerbehebung bei einem Fehler helfen. So können Sie beispielsweise nachvollziehen, wie Anfragen in einer komplexen Mikrodienstarchitektur verarbeitet werden, und möglicherweise herausfinden, welche Logs Sie untersuchen müssen.

Da Trace Latenzdaten von einigen Google Cloud Diensten wie App Engine und von Anwendungen erhält, die mit der Cloud Trace API instrumentiert wurden, kann es Ihnen bei der Beantwortung der folgenden Fragen helfen:

  • Wie lange braucht meine Anwendung zum Verarbeiten einer bestimmten Anfrage?
  • Warum braucht meine Anwendung so lange zum Verarbeiten einer Anfrage?
  • Warum dauern manche meiner Anfragen länger als andere?
  • Wie hoch ist die Gesamtlatenz für Anfragen an meine Anwendung?
  • Ist die Latenz für meine Anwendung im Lauf der Zeit gestiegen oder gesunken?
  • Was kann ich tun, um die Latenz der Anwendung zu verringern?
  • Welche Abhängigkeiten hat meine Anwendung?

Wenn Sie wissen möchten, wie Sie Trace zur Verwaltung Ihrer Anwendungen verwenden können, lesen Sie den Blogpost Fehlerbehebung bei verteilten Anwendungen: Traces und Logs gemeinsam zur Ursachenanalyse verwenden.

Informationen zur Profilerstellung für Ihre Anwendung, siehe Cloud Profiler.

Umgebungsunterstützung

Trace wird unter Linux in den folgenden Umgebungen ausgeführt:

Trace stellt Clientbibliotheken für die Instrumentierung Ihrer Anwendung zur Erfassung von Trace-Informationen bereit. Eine Anleitung zum Einrichten von Trace in mehreren Programmiersprachen finden Sie unter Instrumentierung für Trace.

Konfigurationen mit automatischem Tracing

Einige Konfigurationen führen zu einer automatischen Erfassung von Trace-Daten:

  • App Engine-Standardumgebung

    Java 8-, Python 2- und PHP 5-Anwendungen müssen nicht die Trace-Clientbibliotheken verwenden. Diese Laufzeiten senden automatisch Latenzdaten für Anfragen an Anwendungs-URIs an Trace. Die Anfragen umfassen Latenzdaten für Round-Trip-RPC-Aufrufe an App Engine-Dienste. Trace kann mit allen App Engine Admin APIs verwendet werden, mit Ausnahme von Cloud SQL.

  • Cloud Run-Funktionen und Cloud Run

    Für eingehende und ausgehende HTTP-Anfragen werden Latenzdaten automatisch an Trace gesendet.

APIs, die Trace-Daten aufnehmen

Sie können Trace-Daten mit der Telemetry API oder der Cloud Trace API an Ihr Projekt senden. Wir empfehlen die Telemetry API aus folgendem Grund:

  • Die API ist mit dem Open-Source-Ökosystem OpenTelemetry kompatibel und ihre Limits sind oft großzügiger als die Limits von der Cloud Trace API, einer proprietären Google Cloud API.

  • Ihre Trace-Daten werden in einem Format gespeichert, das im Allgemeinen mit den Protobuf-Dateien übereinstimmt, die vom OpenTelemetry OTLP-Protokoll definiert werden. Einige Felder werden möglicherweise vor der Speicherung von einem OpenTelemetry-spezifischen Datentyp in einen JSON-Datentyp konvertiert. Weitere Informationen zum Speicherformat finden Sie unter Schema für Trace-Daten.

  • Für den collectorbasierten Export von Trace-Daten ist Ihre Instrumentierung nicht von einem Google Cloud-bestimmten Exporter abhängig.

  • Einige Funktionen wie Application Monitoring sind auf Informationen angewiesen, die nur verfügbar sind, wenn Sie Trace-Daten an die Telemetry API senden.

Wenn Sie verhindern möchten, dass Trace-Daten in Ihrem Google Cloud Projekt gespeichert werden, deaktivieren Sie die Cloud Trace API. Das Deaktivieren der Cloud Trace API hat folgende Auswirkungen:

  • Google Cloud senden keine Trace-Daten an Ihr Projekt.
  • Google Cloud antwortet auf Anfragen, die an einen Cloud Trace API-Endpunkt gesendet werden, mit einem Fehlercode.
  • Google Cloud Observability verwirft Trace-Daten, die an den tracespezifischen Telemetry API-Endpunkt gesendet werden. Deaktivieren Sie die Telemetry API nicht, da diese API Log-, Messwert- und Trace-Daten empfangen kann.

Sprachunterstützung

In der folgenden Tabelle sind die Verfügbarkeit von Trace Clientbibliotheken und von OpenTelemetry Bibliotheken aufgeführt, für die ein Exporter für Trace vorhanden ist.

Sprache Clientbibliothek
verfügbar
OpenTelemetry
Bibliothek/Exporter verfügbar
C++ Ja Ja
C# ASP.NET Core Ja Nein
C# ASP.NET Ja Nein
Go Ja Ja
Java Ja Ja
Node.js Ja Ja
PHP Ja Nein
Python Ja Ja
Ruby Ja Ja

OpenTelemetry Bibliotheken sind einfacher zu verwenden als die Trace-Clientbibliotheken , da sie einen Teil der Komplexität der entsprechenden Trace API verbergen. Empfehlungen zur Instrumentierung finden Sie unter Instrumentierungsansatz auswählen.

Komponenten

Trace besteht aus einem Tracing-Client, der Traces erfasst und an Ihr Google Cloud Projekt sendet. Anschließend können Sie in der Google Cloud Console die vom Agent erfassten Daten ansehen und analysieren. Informationen zum Datenmodell finden Sie unter Traces und Spans.

Tracing-Client

Wenn für Ihre Programmiersprache eine OpenTelemetry-Bibliothek verfügbar ist, können Sie den Prozess zum Erstellen und Senden von Trace-Daten mit OpenTelemetry vereinfachen. Neben der einfacheren Verwendung implementiert OpenTelemetry auch Batchverarbeitung, wodurch die Leistung verbessert werden kann.

Wenn keine OpenTelemetry-Bibliothek vorhanden ist, instrumentieren Sie den Code, indem Sie die Trace SDK-Bibliothek importieren und die Cloud Trace API verwenden. Die Cloud Trace API sendet Trace-Daten an Ihr Google Cloud Projekt.

Tracingschnittstelle

Sie können Ihre Trace-Daten in der Trace-Oberfläche nahezu in Echtzeit ansehen und analysieren.

Auf den Seiten Trace Explorer und Observability Analytics in der Google Cloud Console können Sie Ihre Spandaten ansehen und analysieren:

  • Trace Explorer: Hier werden aggregierte Informationen zu Ihren Trace-Daten angezeigt und Sie können einzelne Traces im Detail untersuchen. Die aggregierten Latenzdaten werden auf einer Heatmap angezeigt, die Sie mit dem Mauszeiger erkunden können. Um die angezeigten Daten einzuschränken, können Sie Filter hinzufügen. Auf dieser Seite können Sie auch einzelne Spans und Traces ansehen und untersuchen:

  • Observability Analytics: Auf dieser Seite können Sie Abfragen ausführen, mit denen eine aggregierte Analyse Ihrer Spans mit SQL durchgeführt wird. Mit Ihren SQL-Abfragen können Sie auch Ihre Trace- und Logdaten verknüpfen. Sie können die Ergebnisse Ihrer Abfrage in Tabellenform oder mit Diagrammen ansehen. Wenn Sie ein verknüpftes Dataset erstellen, können Sie Ihre Spans mit BigQuery analysieren. Weitere Informationen finden Sie unter Traces abfragen und analysieren.

Unterstützung durch VPC Service Controls

Trace ist ein von VPC Service Controls unterstützter Dienst. Der Dienstname von Trace ist cloudtrace.googleapis.com. Alle VPC Service Controls-Einschränkungen, die Sie für den Trace-Dienst erstellen, gelten nur für diesen Dienst. Diese Einschränkungen gelten nicht für andere Dienste, einschließlich Dienste wie den telemetry.googleapis.com Dienst, der auch Trace-Daten aufnehmen kann.

Hier finden Sie weitere Informationen:

Cloud Trace und Datenstandort

Wenn Sie Assured Workloads verwenden, weil Sie Anforderungen an den Datenstandort oder an das Impact Level 4 (IL4) haben, verwenden Sie die Cloud Trace API nicht, um Trace-Spans zu senden.

Wenn Sie verhindern möchten, dass Trace-Daten in Ihrem Google Cloud Projekt gespeichert werden, deaktivieren Sie die Cloud Trace API. Das Deaktivieren der Cloud Trace API hat folgende Auswirkungen:

  • Google Cloud senden keine Trace-Daten an Ihr Projekt.
  • Google Cloud antwortet auf Anfragen, die an einen Cloud Trace API-Endpunkt gesendet werden, mit einem Fehlercode.
  • Google Cloud Observability verwirft Trace-Daten, die an den tracespezifischen Telemetry API-Endpunkt gesendet werden. Deaktivieren Sie die Telemetry API nicht, da diese API Log-, Messwert- und Trace-Daten empfangen kann.

Preise

Informationen zu den Preisen für Cloud Trace finden Sie auf der Seite Google Cloud Observability-Preise.

Nächste Schritte