In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte Clientmesswerte mit OpenTelemetry erfassen. Benutzerdefinierte Clientmesswerte sind mit den Java und Go Clientbibliotheken verfügbar.
Mit benutzerdefinierten clientseitigen Messwerten können Sie die Ursache für Latenz in Ihrem System ermitteln. Weitere Informationen finden Sie unter Latenzpunkte in einer Spanner-Anfrage.
Spanner-Clientbibliotheken stellen auch Statistiken und Traces mit dem OpenTelemetry-Framework für die Beobachtbarkeit bereit. Weitere Informationen finden Sie unter Trace-Erfassung mit OpenTelemetry einrichten.
OpenTelemetry ist ein Open-Source-Framework und -Toolkit für die Beobachtbarkeit, mit dem Sie Telemetriedaten wie Traces, Messwerte und Logs erstellen und verwalten können.
Hinweis
Sie müssen das OpenTelemetry SDK mit den entsprechenden Optionen zum Exportieren Ihrer Telemetriedaten konfigurieren. Wir empfehlen die Verwendung des OpenTelemetry Protocol-Exporters (OTLP).
So richten Sie benutzerdefinierte clientseitige Messwerte mit OpenTelemetry ein:
Fügen Sie Ihrer Anwendung mit dem folgenden Code die erforderlichen Abhängigkeiten hinzu:
Java
Go
Erstellen Sie ein OpenTelemetry-Objekt mit dem OTLP-Exporter und fügen Sie es in Spanner mit
SpannerOptionsein:Java
Go
GFE-Latenz erfassen
Die Google Front End-Latenz (GFE) ist die Dauer in Millisekunden zwischen dem Zeitpunkt, an dem das Google-Netzwerk einen Remote-Prozeduraufruf vom Client empfängt, und dem Zeitpunkt, an dem das GFE das erste Byte der Antwort empfängt.
Sie können die GFE-Latenz mit dem folgenden Code erfassen:
Java
Go
Das Codebeispiel hängt den String spanner/gfe_latency an den Messwertnamen an, wenn er in Cloud Monitoring exportiert wird. Sie können mit dem angehängten String in Monitoring nach diesem Messwert suchen.
Latenz der Cloud Spanner API-Anfrage erfassen
Die Latenz der Cloud Spanner API-Anfrage ist die Zeit in Sekunden zwischen dem ersten Byte der Clientanfrage, die das Cloud Spanner API-Frontend empfängt, und dem letzten Byte der Antwort, die das Cloud Spanner API-Frontend sendet.
Dieser Latenzmesswert ist als Teil von Monitoring-Messwertenverfügbar.
Umlauflatenz des Clients erfassen
Die Umlauflatenz des Clients ist die Dauer in Millisekunden zwischen dem ersten Byte der Cloud Spanner API-Anfrage, die der Client an die Datenbank sendet (über das GFE und das Cloud Spanner API-Frontend), und dem letzten Byte der Antwort, die der Client von der Datenbank empfängt.
Der Messwert für die Umlauflatenz des Spanner-Clients wird mit OpenTelemetry nicht unterstützt. Stattdessen können Sie den clientseitigen Messwert für die Vorgangslatenz aufrufen. Weitere Informationen finden Sie unter Clientseitige Messwertbeschreibungen.
Sie können den Messwert auch mit OpenCensus mit einer Bridge instrumentieren und die Daten zu OpenTelemetry migrieren.
Abfragelatenz erfassen
Die Abfragelatenz ist die Dauer in Millisekunden, die zum Ausführen von SQL-Abfragen in der Spanner-Datenbank benötigt wird.
Sie können die Abfragelatenz mit dem folgenden Code erfassen:
Java
Go
Das Codebeispiel hängt den String spanner/query_stats_elapsed an den Messwertnamen an, wenn er in Monitoring exportiert wird. Sie können mit dem angehängten String in Monitoring nach diesem Messwert suchen.
Messwerte im Metrics Explorer aufrufen
Wechseln Sie in der Google Cloud Console zur Seite Metrics Explorer.
Wählen Sie Ihr Projekt aus.
Klicken Sie auf Messwert auswählen.
Suchen Sie mit den folgenden Strings nach Latenzmesswerten:
roundtrip_latency: für den Messwert für die Umlauflatenz des Clients.spanner/gfe_latency: für den Messwert für die GFE-Latenz.spanner/query_stats_elapsed: für den Messwert für die Abfragelatenz.
Wählen Sie den Messwert aus und klicken Sie auf Übernehmen.
Weitere Informationen zum Gruppieren oder Aggregieren von Messwerten finden Sie unter Abfragen mit Menüs erstellen.
Nächste Schritte
- Weitere Informationen zu OpenTelemetry.
- Informationen zum Konfigurieren des OpenTelemetry SDK.
- Informationen zur Migration zu OpenTelemetry
- Informationen zum Diagnostizieren von Latenz mit Messwerten