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:
- 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
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:
- Informationen zum Ansehen von Trace-Daten, die in mehreren Projekten gespeichert sind, finden Sie unter Trace-Bereich erstellen und verwalten.
- Informationen zum Filtern und Ansehen Ihrer Trace-Daten finden Sie unter Traces finden und ansehen.
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
Dann bietet sich der Schnellstart an.
Weitere Informationen zu 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.