Cloud Trace ist ein System für verteiltes Tracing, Google Cloud mit dem die Latenz von Anfragen verfolgt und Leistungsengpässe in Diensten und generativen KI-Anwendungen behoben werden können. Durch das Erfassen von Latenzdaten aus Google Cloud Diensten und instrumentierten Anwendungen hilft Trace Ihnen, zu verstehen, wie Anfragen in einer Mikrodienstarchitektur verarbeitet werden und relevante Logs zu identifizieren.
Mit Trace können Sie Fragen wie die folgenden beantworten:
- Wie lange braucht meine Anwendung zum Verarbeiten einer bestimmten Anfrage?
- Warum dauert die Verarbeitung einer Anfrage so lange?
- Warum dauert die Verarbeitung einiger Anfragen länger als die anderer?
- Wie hoch ist die Gesamtlatenz für Anfragen an meine Anwendung?
- Hat sich die Latenz der Anwendung im Laufe der Zeit erhöht oder verringert?
- Wie kann ich die Latenz der Anwendung verringern?
- Welche Abhängigkeiten hat meine Anwendung?
Informationen zur gemeinsamen Verwendung von Traces und Logs für die Ursachenanalyse finden Sie im 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:
- Compute Engine
- Google Kubernetes Engine (GKE)
- Apigee (öffentliche Vorschau)
- Flexible App Engine-Umgebung
- App Engine-Standardumgebung
- Cloud Run
- Cloud Service Mesh
- Cloud SQL-Abfrage-Abfragestatistiken
- Nicht-Google Cloud Umgebungen
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 Tracing-Client erfassten Daten anzusehen und zu analysieren. Informationen zum Datenmodell finden Sie unter Traces und Spans.
Tracing-Client
Ein Tracing-Client erfasst Latenz- und Spandaten aus Ihrer Anwendung und exportiert sie in Ihr Google Cloud Projekt. Je nach Umgebung und Anforderungen können Sie Tracedaten automatisch oder manuell erfassen, indem Sie Ihren Anwendungscode instrumentieren.
Tracingschnittstelle
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 Tracedaten 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. Sie können sich auch einzelne Spans und Traces ansehen und sie untersuchen:
- Informationen zum Ansehen von Tracedaten, die in mehreren Projekten gespeichert sind, finden Sie unter Trace-Bereich erstellen und verwalten.
- Informationen zum Filtern und Ansehen Ihrer Tracedaten finden Sie unter Traces suchen und untersuchen.
Observability Analytics: Bietet eine SQL-Abfrageschnittstelle. In Ihren Abfragen können Sie Ihre Trace- und Logdaten verknüpfen und die Abfrageergebnisse entweder als Tabelle oder als Diagramm ansehen. Sie können Ihre Trace daten mit BigQuery analysieren, wenn Sie ein verknüpftes BigQuery-Dataset erstellen. Weitere Informationen finden Sie unter Traces abfragen und analysieren.
Konfigurationen mit automatischem Tracing
Bei den folgenden Konfigurationen werden Tracedaten automatisch erfasst:
App Engine-Standardumgebung
Laufzeiten der ersten Generation erfassen automatisch Trace-Spans und senden sie an Cloud Trace. Weitere Informationen finden Sie unter Übersicht über verworfene gebündelte Dienste.
Laufzeiten der zweiten Generation erfassen automatisch die Gesamtlatenz der Anfrage und fügen Anfragen den HTTP-Header
X-Cloud-Trace-Contexthinzu. Weitere Informationen finden Sie unter Zeitplan für die Laufzeitunterstützung.
Cloud Run-Funktionen und Cloud Run
Für eingehende und ausgehende HTTP-Anfragen werden Latenzdaten automatisch an Trace gesendet.
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. Für Ihre agentenbasierten Anwendungen können einige Frameworks Ihre Prompts und Antworten erfassen oder Kontext übergeben, der das Tracing einiger Remote- Aufrufe von Google Cloud-MCP-Servern 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:
Beispiele, die einen collectorbasierten Export verwenden, finden Sie unter:
In diesen Beispielen werden Messwert- und Tracedaten im OpenTelemetry Protocol-Format (OTLP) mithilfe der Telemetry API an Ihr Projekt gesendet. In den Beispielen wird ein Google Cloud Exporter für Logdaten verwendet.
Informationen zum direkten Export von Tracedaten und zum Senden dieser Daten an die Telemetry API finden Sie unter Vom Trace-Exporter zum OTLP-Endpunkt migrieren.
Beispiele, in denen gezeigt wird, wie Sie eine agentenbasierte Anwendung so konfigurieren, dass Prompts und Antworten erfasst werden, finden Sie unter Generative KI-Anwendungen instrumentieren.
- Informationen zu Google Cloud-MCP-Servern, die Trace-Spans generieren können, finden Sie unter MCP-Aufrufe mit Trace untersuchen.
Sie können zwar Cloud Trace-Clientbibliotheken verwenden, um Ihre Anwendung zu instrumentieren, wir empfehlen jedoch OpenTelemetry. OpenTelemetry-Bibliotheken sind Trace-Clientbibliotheken vorzuziehen, da sie einfacher sind und Tracedaten im OTLP-Format exportieren, das von OpenTelemetry definiert wird. Weitere Informationen finden Sie unter Für Trace instrumentieren und Clientbibliotheken für Cloud Trace.
Cloud Trace und agentenbasierte Anwendungen
Wenn Sie das Verhalten Ihrer agentenbasierten Anwendungen nachvollziehen möchten, konfigurieren Sie sie so, dass Prompts und Antworten erfasst oder Spans generiert werden, wenn sie Remote-Aufrufe an Google Cloud-MCP-Serversenden. Mit Prompts und Antworten können Sie nachvollziehen, wie Ihre agentenbasierte Anwendung Entscheidungen trifft. Spans, in denen Toolaufrufe aufgezeichnet werden, helfen Ihnen, Toolaufrufe, Aufrufstatus und 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.
Google Cloud-MCP-Server können Trace-Spans generieren. Weitere Informationen finden Sie unter MCP-Aufrufe mit Trace untersuchen.
APIs, die Tracedaten aufnehmen
Sie können Tracedaten entweder 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 OpenTelemetry kompatibel und ihre Limits sind oft großzügiger als die Limits von 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 OTLP definierten Protobuf-Dateien übereinstimmt. Einige Felder werden möglicherweise vor der Speicherung von einem OpenTelemetry-spezifischen Datentyp in einen JSON-Datentyp konvertiert. Informationen zum Speicherformat finden Sie unter Schema für Tracedaten.
Für den collectorbasierten Export von Tracedaten 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 Tracedaten an die Telemetry API senden.
Wenn Sie verhindern möchten, dass Tracedaten 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 Tracedaten an Ihr Projekt.
- Google Cloud antwortet auf Anfragen, die an einen Cloud Trace API-Endpunkt gesendet werden, mit einem Fehlercode.
- Google Cloud Observability verwirft Tracedaten, die an den tracespezifischen Telemetry API-Endpunkt gesendet werden. Deaktivieren Sie die Telemetry API nicht, da diese API Log-, Messwert- und Tracedaten empfangen kann.
Wenn Sie eine Organisation verwalten und die Verwendung von Cloud Trace verhindern möchten, dann erstellen Sie eine Einschränkung der Organisationsrichtlinie.
Unterstützung durch VPC Service Controls
Google Cloud Dienste und Ihre Anwendungen können Tracedaten entweder mit der Cloud Trace API oder der Telemetry API an Ihr Projekt senden. Visualisierungsdienste von Cloud Trace rufen die Tracedaten, die sie anzeigen, mit der Cloud Trace API ab:
Cloud Trace ist ein von VPC Service Controls unterstützter Dienst. Der Dienstname von Trace ist
cloudtrace.googleapis.com. Weitere Informationen und Einschränkungen finden Sie unter Unterstützte Produkte: Cloud Trace.Die Telemetry API ist ein von VPC Service Controls unterstützter Dienst. Der Dienstname ist
telemetry.googleapis.com. Weitere Informationen und Einschränkungen finden Sie unter Unterstützte Produkte: Telemetry API.
Mit der Observability API können Sie Standardwerte festlegen, die die Google Cloud Region angeben, in der Ihre Tracedaten gespeichert werden, und ob die Daten mit einem vom Kunden verwalteten Schlüssel verschlüsselt werden. Mit dieser API können Sie auch verknüpfte BigQuery-Datasetskonfigurieren, mit denen Sie Ihre Tracedaten mit BigQuery-Diensten abfragen können, undTrace-Bereichekonfigurieren, mit denen Sie Tracedaten aggregieren können, die in mehreren Projekten gespeichert sind.
- Die Observability API ist ein von VPC Service Controls unterstützter Dienst. Der Dienstname ist
observability.googleapis.com. Weitere Informationen und Einschränkungen finden Sie unter Unterstützte Produkte: Observability API.
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, verwenden Sie die Cloud Trace API nicht, um Trace-Spans zu senden.
Wenn Sie verhindern möchten, dass Tracedaten in Ihrem Google Cloud Projekt gespeichert werden, deaktivieren Sie die Cloud Trace API. Deaktivieren Sie die Telemetry API nicht, da diese API Log-, Messwert- und Tracedaten empfangen kann.
Trace-Aufbewahrung
| Kategorie | Aufbewahrungsdauer |
|---|---|
Im Bucket
_Trace gespeicherte Spans |
30 Tage |
IAM-Rollen
Cloud Trace verwendet Identity and Access Management (IAM), um den Zugriff auf Ressourcen zu steuern. Eine Liste der Rollen für die Cloud Trace API und die Telemetry API finden Sie unter Zugriff mit IAM steuern.
Da die Telemetry API eine Consumer-API ist, müssen Sie beim Senden von Daten an die Telemetry API ein Kontingentprojekt angeben und dem Dienstkonto der Anwendung die Berechtigung zur Verwendung dieses Kontingents gewähren. Weitere Informationen finden Sie unter Telemetry API: Authentifizierung.
Preise
Informationen zu den Preisen für Cloud Trace finden Sie auf der Seite Google Cloud Observability-Preise.
Nächste Schritte
Dann bietet sich der Schnellstart an.
Weitere Informationen zu allen Kontingenten und Limits finden Sie unter Kontingente und Limits.
Lesen Sie unser Infomaterial zu DevOps und informieren Sie sich über das Forschungsprogramm DevOps Research and Assessment.