Cloud Trace – Übersicht

Cloud Trace ist ein System für verteiltes Tracing fürGoogle Cloud, mit dem Sie nachvollziehen können, 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. Traces können Ihnen auch bei der Entwicklung eines Dienstes oder der Fehlerbehebung helfen. So können Sie beispielsweise nachvollziehen, wie Anfragen in einer komplexen Mikrodienstarchitektur verarbeitet werden, und herausfinden, welche Logs Sie untersuchen müssen.

Da Trace Latenzdaten von einigen Google CloudDiensten wie App Engine und von mit der Cloud Trace API instrumentierten Anwendungen empfängt, kann es bei der Beantwortung der folgenden Fragen hilfreich sein:

  • 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 Blogbeitrag Fehlerbehebung bei verteilten Anwendungen: Traces und Logs gemeinsam zur Ursachenanalyse verwenden.

Informationen zur Profilerstellung für Ihre Anwendung finden Sie unter Cloud Profiler.

Umgebungsunterstützung

Trace kann unter Linux in folgenden Umgebungen ausgeführt werden:

Trace stellt Clientbibliotheken für die Instrumentierung Ihrer Anwendung zur Erfassung von Trace-Informationen bereit. Eine Anleitung zum Einrichten von Cloud Trace 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 Functions und Cloud Run

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

APIs, die Tracedaten 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 folgenden Gründen:

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

  • Ihre Tracedaten werden in einem Format gespeichert, das im Allgemeinen mit den von OpenTelemetry OTLP Protocol definierten Protodateien übereinstimmt. 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 Tracedaten.

  • Beim Collector-basierten Export von Trace-Daten ist für die Instrumentierung kein Google Cloud-spezifischer Exporter erforderlich.

  • Einige Funktionen wie Application Monitoring basieren auf Informationen, die nur verfügbar sind, wenn Sie Tracedaten an die Telemetry API senden.

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

  • Google Cloud -Dienste 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 Trace-spezifischen Telemetry API-Endpunkt gesendet werden. Deaktivieren Sie die Telemetry API nicht, da über diese API Log-, Messwert- und Tracedaten empfangen werden können.

Sprachunterstützung

In der folgenden Tabelle sind die Verfügbarkeit von Trace-Clientbibliotheken und OpenTelemetry-Bibliotheken zusammengefasst, für die ein Exporter für Trace verfügbar 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. Sie können dann dieGoogle Cloud Console verwenden, um die vom Agent erfassten Daten anzusehen und zu analysieren. Informationen zum Datenmodell finden Sie unter Traces und Spans.

Tracing-Client

Wenn eine OpenTelemetry-Bibliothek für Ihre Programmiersprache verfügbar ist, können Sie das Erstellen und Senden von Trace-Daten mithilfe von 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 nahezu in Echtzeit in der Trace-Oberfläche ansehen und analysieren.

Sie können Ihre Spannen-Daten in derGoogle Cloud Console auf den Seiten Trace Explorer und Log Analytics ansehen und analysieren:

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

  • Loganalysen: Auf dieser Seite können Sie Abfragen ausführen, mit denen Sie mithilfe von SQL eine aggregierte Analyse Ihrer Spans durchführen. In Ihren SQL-Abfragen können Sie auch Ihre Trace- und Logdaten zusammenführen. Sie können die Ergebnisse Ihrer Abfrage in Tabellenform oder in 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

Cloud Trace ist ein von VPC Service Controls unterstützter Dienst. Der Name des Trace-Dienstes 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 telemetry.googleapis.com, in die auch Tracedaten aufgenommen werden können.

Hier finden Sie weitere Informationen:

Cloud Trace und Datenstandort

Wenn Sie Assured Workloads verwenden, weil Sie Anforderungen an den Datenstandort oder Impact Level 4 (IL4) haben, sollten Sie die Cloud Trace API nicht zum Senden von Trace-Spans verwenden.

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

  • Google Cloud -Dienste 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 Trace-spezifischen Telemetry API-Endpunkt gesendet werden. Deaktivieren Sie die Telemetry API nicht, da über diese API Log-, Messwert- und Tracedaten empfangen werden können.

Preise

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

Nächste Schritte