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, einer Agentenanwendung oder bei der Fehlerbehebung helfen. So können Sie beispielsweise nachvollziehen, wie Anfragen in einer komplexen Mikrodienstarchitektur verarbeitet werden, und möglicherweise herausfinden, welche Logs Sie untersuchen sollten.

Da Trace Latenzdaten von Google Cloud Diensten wie App Engine und von Anwendungen erhält, die Sie instrumentieren, kann es Ihnen bei der Beantwortung folgender 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 Blogbeitrag Fehlerbehebung bei verteilten Anwendungen: Traces und Logs gemeinsam zur Ursachenanalyse verwenden.

Informationen zum Profiling Ihrer Anwendung, finden Sie unter 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 Line Protocol 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 Dienste senden keine Trace-Daten an Ihr Projekt.
  • Google Cloud Antworten auf Anfragen, die an einen Cloud Trace API-Endpunkt gesendet werden, enthalten einen 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.

Wenn Sie eine Organisation verwalten und die Verwendung von Cloud Trace verhindern möchten, dann erstellen Sie eine Einschränkung für die Organisationsrichtlinie.

Cloud Trace und Agentenanwendungen

Um das Verhalten Ihrer Agentenanwendungen zu verstehen, konfigurieren Sie sie so, dass sie Prompts und Antworten erfassen oder Spans generieren, wenn sie Remote- Google Cloud-MCP-Server aufrufen. Prompts und Antworten helfen Ihnen, die Argumentation Ihrer Agentenanwendung zu verstehen. Spans, in denen Toolaufrufe aufgezeichnet werden, helfen Ihnen, den Toolaufruf, den Aufrufstatus und die Anfragelatenzen zu bestätigen.

In mehreren Instrumentierungsbeispielen wird gezeigt, wie Sie eine Anwendung so konfigurieren, dass Prompts und Antworten erfasst werden. Diese Beispiele basieren auf OpenTelemetry. Weitere Informationen finden Sie unter Generative KI-Anwendungen instrumentieren.

Informationen dazu, welche Remote-MCP-Server von Google Cloud die Trace-Generierung unterstützen und wie Sie Ihre Anwendung so konfigurieren, dass diese Server Spans erstellen, finden Sie unter MCP-Aufrufe mit Trace untersuchen.

Anwendung instrumentieren

Instrumentieren Sie Ihre Anwendung, um bestimmte Informationen zu erfassen, mit denen Sie die Leistung nachvollziehen und Fehler beheben können. Mit verschiedenen als Open Source veröffentlichten Instrumentierungs-Frameworks können Sie Log-, Messwert- und Trace Daten erfassen und diese Daten an einen beliebigen Anbieter senden, einschließlich Google Cloud. Bei Ihren Agentenanwendungen können einige Frameworks Ihre Prompts und Antworten erfassen oder Kontext übergeben, der das Tracing einiger Remote- Google Cloud MCP-Server-Aufrufe ermöglicht.

Wir empfehlen, für die Instrumentierung Ihrer Anwendung ein anbieterneutrales als Open Source veröffentlichtes Instrumentierungs-Framework wie OpenTelemetryanstelle von anbieter- und produktspezifischen APIs oder Clientbibliotheken zu verwenden. Informationen zu diesen Frameworks finden Sie unter Instrumentierung und Beobachtbarkeit und Instrumentierungsansatz auswählen.

In den von uns bereitgestellten Instrumentierungsbeispielen wird OpenTelemetry verwendet:

  • Informationen dazu, welche Remote-MCP-Server von Google Cloud die Trace-Generierung unterstützen und wie Sie Ihre Anwendung so konfigurieren, dass diese Server Spans erstellen, finden Sie unter MCP-Aufrufe mit Trace untersuchen.

Sie können Ihre Anwendung auch mit Cloud Trace-Clientbibliotheken instrumentieren. Wir empfehlen jedoch, OpenTelemetry zu verwenden. OpenTelemetry-Bibliotheken sind Trace-Clientbibliotheken vorzuziehen, da sie einfacher sind und Trace-Daten im OTLP-Format exportieren, das von OpenTelemetry definiert wird. Weitere Informationen finden Sie unter Clientbibliotheken für Cloud Trace.

Komponenten

Trace besteht aus einem Tracing-Client, der Traces erfasst und an Ihr Google Cloud Projekt sendet. Sie können dann die Google 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 den Prozess zum Erstellen und Senden von Trace-Daten mit OpenTelemetry vereinfachen. OpenTelemetry ist nicht nur einfacher zu verwenden, sondern implementiert auch Batching, was die Leistung verbessern 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.

Wenn Sie Ihre Spandaten ansehen und analysieren möchten, können Sie die Trace Explorer und Observability Analytics Seiten in der Google Cloud Console verwenden:

  • 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 untersuchen 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 mit SQL Abfragen ausführen, mit denen eine aggregierte Analyse Ihrer Spans 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 BigQuery-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 Dienste senden keine Trace-Daten an Ihr Projekt.
  • Google Cloud Antworten auf Anfragen, die an einen Cloud Trace API-Endpunkt gesendet werden, enthalten einen 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.

Wenn Sie eine Organisation verwalten und die Verwendung von Cloud Trace verhindern möchten, dann erstellen Sie eine Einschränkung für die Organisationsrichtlinie.

Preise

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

Nächste Schritte