Auf dieser Seite wird beschrieben, wie Sie clientseitige Traces mit OpenTelemetry aktivieren, wenn Sie die Cloud Storage-Clientbibliotheken für die Interaktion mit Cloud Storage verwenden. Sie können Trace-Daten mit den folgenden unterstützten Cloud Storage-Clientbibliotheken erfassen und ansehen:
Übersicht
Wenn Sie Traces in den Cloud Storage-Clientbibliotheken aktivieren, können Sie die Leistung überwachen, Latenzprobleme lokalisieren und schnell Fehlerbehebungen für Cloud Storage-Anfragen durchführen. Mit Traces können Sie die Abfolge einer abgeschlossenen Anfrage sehen und erhalten eine detaillierte Ansicht, wie die Anfrage von Cloud Storage empfangen, verwaltet und beantwortet wurde. Ein einzelner Trace besteht aus mehreren Spans. Dies sind detaillierte, mit Zeitstempeln versehene Datensätze jeder Funktion oder jedes Vorgangs, die Ihre Anwendung während der Cloud Storage-Anfrage ausgeführt hat.
Vorteile
Das Erfassen und Weitergeben von Trace-Daten bietet folgende Vorteile für Ihre Anwendung:
Verbesserte Leistungstransparenz: Da Trace-Daten nahezu in Echtzeit generiert werden, während Cloud Storage jede Ihrer Anfragen abschließt, können Sie Leistungsengpässe und Latenzprobleme schnell erkennen.
Fehlerbehandlung: Sie können genau feststellen, wo Probleme auftreten, die Ursachenanalyse beschleunigen und Ausfallzeiten reduzieren. Dazu verwenden Sie die Informationen zu jeder Cloud Storage-Anfrage, die in einem Trace bereitgestellt werden.
Funktionsweise von clientseitigen Traces
In den folgenden Abschnitten wird die Trace-Erfassung im Detail beschrieben.
So funktioniert die Trace-Erfassung mit OpenTelemetry
Die Cloud Storage-Clientbibliotheken unterstützen die Erfassung von Trace-Daten mit dem OpenTelemetry SDK, um die folgenden Komponenten einzurichten, die zum Erfassen und Weitergeben von Trace-Daten erforderlich sind:
Trace-Anbieter: Wird von den Cloud Storage-Clientbibliotheken verwendet. Der Trace-Anbieter ist für das Erstellen und Verwalten des Tracing-Systems verantwortlich, einschließlich des Generierens und Verwaltens von Traces und Spans in Ihrer Anwendung.
Trace-Exporter: Der Trace-Exporter wird vom OpenTelemetry SDK verwendet und ist für das Senden von Trace-Daten an eine Backend-Beobachtbarkeitsplattform wie Cloud Trace verantwortlich, auf der Sie Trace-Daten analysieren und visualisieren können. Weitere Informationen zum Trace-Exporter finden Sie unter Funktionsweise von Trace-Exportern.
Funktionsweise von Trace-Exportern
Beim Konfigurieren von Traces mit dem OpenTelemetry SDK müssen Sie ein Beobachtbarkeits-Backend auswählen, in das Ihre Daten exportiert werden, um sie dort zu analysieren, zu speichern und zu visualisieren. Sie können Ihre Trace-Daten in ein beliebiges Beobachtbarkeits-Backend Ihrer Wahl exportieren. Wir empfehlen jedoch die Verwendung von Cloud Trace, auf das Sie über die Google Cloud Console zugreifen können und das eine Einbindung in andere Google Cloud -Dienste bietet.
Sobald der Trace-Anbieter und der Trace-Exporter konfiguriert und aktiviert sind, können Sie Trace-Daten nahezu in Echtzeit ansehen, da für jede Cloud Storage-Anfrage Traces und Spans generiert werden.
Mit dem Cloud Trace-Explorer in derGoogle Cloud Console können Sie sich jeden Trace ansehen, der Folgendes enthält:
Eine allgemeine Übersicht über eine Cloud Storage-Anfrage von Anfang bis Ende.
Mehrere Spans, wobei jeder Span einen einzelnen Vorgang mit Zeitstempel innerhalb der ausgeführten Cloud Storage-Anfrage erfasst.
Weitere Informationen zu Traces und Spans finden Sie in der OpenTelemetry-Dokumentation zu Traces und Spans.
Preise
Trace-Daten sind kostenpflichtig. Die Gebühren richten sich nach der Anzahl der Trace-Spans, die von Cloud Trace aufgenommen und gescannt werden. Weitere Informationen zu kostenpflichtigen Trace-Spans und Preisbeispielen finden Sie unter Cloud Trace-Kosten.
Hinweis
Bevor Sie Traces für Ihre Cloud Storage API-Nutzung erfassen können, müssen Sie die folgenden Schritte ausführen:
-
Aktivieren Sie die Cloud Trace API, falls sie noch nicht aktiviert ist.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen Aktivieren Sie die Cloud Storage API.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Trace-Agent (roles/cloudtrace.agent) für das vom Client verwendete Projekt zuzuweisen, um die Berechtigung zu erhalten, die Sie zum Schreiben von Traces in Cloud Trace benötigen.
Diese vordefinierte Rolle enthält die Berechtigung cloudtrace.traces.patch, die zum Schreiben von Traces in Cloud Trace erforderlich ist.
Sie können diese Berechtigungen auch mit vordefinierten Rollen erhalten oder benutzerdefinierte Rollen erstellen, um bestimmte Berechtigungen zu gewähren. Eine Anleitung zum Zuweisen von Rollen für Projekte finden Sie unter Rolle zuweisen oder widerrufen. Weitere Informationen zur Rolle „Cloud Trace-Agent“ finden Sie in der Dokumentation zu Identity and Access Management (IAM).
Tracing für Ihre Anwendung konfigurieren
Gehen Sie so vor, um das Tracing zu konfigurieren und mit der Cloud Storage-Clientbibliothek Trace-Daten zu erfassen:
C++
Installieren Sie die folgenden Versionen:
C++-Clientbibliothek Version 2.16.0 oder höher
C++-Version 14 oder höher
Wenn Sie die OpenTelemetry-Tracing-Instrumentierung in der C++-Clientbibliothek aktivieren möchten, aktualisieren Sie die Konfiguration Ihres Build-Systems für CMake oder Bazel.
Erstellen Sie eine Instanz des Cloud Storage-Clients mit aktivierten OpenTelemetry-Traces.
Java
Installieren Sie die folgenden Versionen der Cloud Storage-Java-Clientbibliothek:
Ab
com.google.cloud:google-cloud-storage:2.47.0Ab
com.google.cloud:libraries-bom:26.53.0
Installieren Sie den Cloud Trace-Exporter für OpenTelemetry. Sie können auch einen beliebigen anderen Exporter verwenden.
Installieren Sie den Cloud Trace-Propagator.
Erstellen Sie eine Instanz des Cloud Storage-Clients mit aktivierten OpenTelemetry-Traces.
Python
Installieren Sie die Cloud Storage-Python-Clientbibliothek:
pip install google-cloud-storage[tracing]>=2.18.0
Installieren Sie den Cloud Trace-Exporter und ‑Propagator. Sie können auch einen beliebigen anderen Exporter verwenden.
pip install opentelemetry-exporter-gcp-trace opentelemetry-propagator-gcp
Installieren Sie die OpenTelemetry-Anfrageinstrumentierung, um die zugrunde liegenden HTTP-Anfragen zu verfolgen.
pip install opentelemetry-instrumentation-requests
Legen Sie die Umgebungsvariable fest, um das Tracing für den Python-Speicherclient selektiv zu aktivieren:
export ENABLE_GCS_PYTHON_CLIENT_OTEL_TRACES=True
Konfigurieren Sie den Trace-Exporter und den Trace-Anbieter.
Rust
Fügen Sie die Cloud Storage Rust-Clientbibliothek sowie die Crates
tracingund OpenTelemetry zur ManifestdateiCargo.tomlhinzu:cargo add google-cloud-storage opentelemetry opentelemetry_sdk opentelemetry-otlp tracing tracing-opentelemetry tracing-subscriber
Konfigurieren Sie eine OpenTelemetry-
SdkTracerProvider-Struktur mit einem OTLP-Exporter (z. B. zum Senden von Spans an einen OpenTelemetry Collector oder die Telemetry API), registrieren Sie einentracing-Abonnenten und erstellen Sie einenStorage-Client mit aktivierter.with_tracing()-Methode:
Traces ansehen
Verwenden Sie den Cloud Trace-Explorer, um Ihre Trace-Daten in der Google Cloud Console aufzurufen:
-
Rufen Sie in der Google Cloud Console die Seite
Trace Explorer auf:
Sie können diese Seite auch über die Suchleiste finden.
Klicken Sie auf der Seite Trace Explorer im Streudiagramm auf einen bestimmten Trace, um die Trace-Details aufzurufen.
Im Bereich Trace-Details wird eine Tabelle mit Trace-Spans angezeigt.
Optional: Klicken Sie auf eine Span-Zeile, um detaillierte Informationen zu einem bestimmten Span aufzurufen, z. B.:
Attribute: Schlüssel/Wert-Paare, die zusätzliche Informationen zum Span enthalten.
Logs und Ereignisse: Logeinträge, die mit dem Span verknüpft sind.
Stacktraces: Stacktraces, die mit dem Span verknüpft sind.
Metadaten und Links: Links zu anderen Google Cloud -Diensten, die mit dem Span verknüpft sind.
Weitere Informationen zur Verwendung von Cloud Trace-Explorer finden Sie unter Traces suchen und untersuchen.