In diesem Thema wird beschrieben, wie Sie eine Spanner-Komponente untersuchen können um die Ursache der Latenz zu ermitteln und diese mit OpenTelemetry zu visualisieren. Einen allgemeinen Überblick über die Komponenten in diesem Thema finden Sie unter Latenzpunkte in einer Spanner-Anfrage.
OpenTelemetry ist ein Open-Source-Framework und -Toolkit für die Beobachtbarkeit, mit dem Telemetriedaten wie Traces, Messwerte und Logs erstellen und verwalten. Es ist das Ergebnis einer Zusammenführung zwischen OpenTracing und OpenCensus. Weitere Informationen Siehe Was ist OpenTelemetry?
Spanner-Clientbibliotheken stellen Messwerte und Traces mit der OpenTelemetry-Beobachtbarkeits-Framework. Folgen Sie der Anleitung unter Ermitteln Sie den Latenzpunkt, um den Komponenten oder Komponenten, die in Spanner Latenz anzeigen.
Hinweise
Bevor Sie mit der Erfassung von Latenzmesswerten beginnen, machen Sie sich mit den manuellen Abläufen Instrumentierung mit OpenTelemetry. Sie müssen das OpenTelemetry SDK konfigurieren. mit entsprechenden Optionen zum Exportieren Ihrer Telemetriedaten. Es gibt mehrere Optionen für den OpenTelemetry-Exporter verfügbar. Wir empfehlen die Verwendung von OpenTelemetry Protokollexporter (OTLP). Weitere Optionen sind die Verwendung eines OTel-Collectors mit Google Cloud Exporter oder Google Managed Service for Prometheus Exporter.
Wenn Sie Ihre Anwendung in Compute Engine ausführen, können Sie das Ops- Agent zum Erfassen von OpenTelemetry Protocol-Messwerten und -Traces. Weitere Informationen Siehe OTLP-Messwerte und -Traces erfassen.
Abhängigkeiten hinzufügen
Fügen Sie zum Konfigurieren des OpenTelemetry SDK und des OTLP-Exporters Folgendes hinzu: zu Ihrer Anwendung hinzufügen.
Java
Go
OpenTelemetry-Objekt einschleusen
Erstellen Sie dann ein OpenTelemetry-Objekt mit dem OTLP-Exporter und fügen Sie das Objekt
OpenTelemetry-Objekt mit SpannerOptions
Java
Go
Die Umlauflatenz des Clients erfassen und visualisieren
Die Client-Umlaufzeit ist der Zeitraum (in Millisekunden) zwischen erstes Byte der Spanner API-Anfrage, an die der Client sendet der Datenbank (über das GFE und das Spanner API-Front-End) und dem letzten Byte der Antwort, die der Client von der Datenbank erhält.
Umlauflatenz des Clients erfassen
Der Messwert für die Umlauflatenz des Spanner-Clients wird nicht unterstützt mit OpenTelemetry. Sie können den Messwert mithilfe von OpenCensus mit einem Bridge und die Daten zu OpenTelemetry migrieren.
Client-Umlauflatenz visualisieren
Nach dem Abrufen der Messwerte können Sie die Client-Umlaufzeit in Cloud Monitoring
Hier ist ein Beispiel für eine Grafik, die die Latenz des 5. Perzentils für die der Client-Roundtrip-Latenz. Um die Perzentillatenz entweder 50. oder 99. Perzentil haben, verwenden Sie das Menü Aggregator.
Das Programm erstellt eine Ansicht mit dem Namen roundtrip_latency
. Diese Zeichenfolge wird Teil
des Messwerts, wenn er in Cloud Monitoring exportiert wird.
GFE-Latenz erfassen und visualisieren
Die Latenz des Google Front End (GFE) ist die Zeitspanne (in Millisekunden) zwischen wenn das Google-Netzwerk einen Remote-Prozedur-Aufruf vom Client empfängt und wenn das GFE das erste Byte der Antwort empfängt.
GFE-Latenz erfassen
Sie können GFE-Latenzmesswerte erfassen, indem Sie die folgenden Optionen aktivieren mithilfe der Spanner-Clientbibliothek.
Java
Go
GFE-Latenz visualisieren
Nach dem Abrufen der Messwerte können Sie die GFE-Latenz in Cloud Monitoring
Hier ist ein Beispiel für ein Diagramm, das die Verteilungsaggregation für der GFE-Latenzmesswert. Um die Perzentillatenz bis zum 5. Perzentil zu ändern, Für das 50., 95. oder 99. Perzentil verwenden Sie das Menü Aggregator.
Das Programm erstellt eine Ansicht mit dem Namen spanner/gfe_latency
. Dieses
String wird Teil des Namens des Messwerts, wenn er in
Cloud Monitoring
Latenz von Spanner API-Anfragen erfassen und visualisieren
Die Latenz der Spanner API-Anfrage ist die Dauer (in Sekunden) zwischen dem ersten Byte der Anfrage vom Spanner API-Frontend empfängt und das letzte Byte der Antwort, die die Spanner API die vom Frontend gesendet werden.
Latenz von Spanner API-Anfragen erfassen
Standardmäßig ist diese Latenz im Rahmen des Cloud Monitoring-Messwerte: Sie müssen nichts unternehmen, um sie zu erfassen und zu exportieren.
Latenz von Spanner API-Anfragen visualisieren
Mit dem Metrics Explorer
Diagramm-Tool zum Visualisieren des Diagramms für die
Messwert spanner.googleapis.com/api/request_latencies
in Cloud Monitoring.
Hier ist ein Beispiel für eine Grafik, die die Latenz des 5. Perzentils für die Latenzmesswert der Spanner API-Anfrage. Um das Perzentil zu ändern zum 50. oder 99. Perzentil haben, verwenden Sie den Aggregator .
Abfragelatenz erfassen und visualisieren
Die Abfragelatenz ist die Zeit in Millisekunden, die zum Ausführen von SQL benötigt wird Abfragen in der Spanner-Datenbank
Abfragelatenz erfassen
Sie können die Abfragelatenz für die folgenden Sprachen erfassen:
Java
Go
Abfragelatenz visualisieren
Nach dem Abrufen der Messwerte können Sie die Abfragelatenz in Cloud Monitoring
Hier ist ein Beispiel für ein Diagramm, das die Verteilungsaggregation für der GFE-Latenzmesswert. Um die Perzentillatenz bis zum 5. Perzentil zu ändern, Für das 50., 95. oder 99. Perzentil verwenden Sie das Menü Aggregator.
Das Programm erstellt eine OpenCensus-Ansicht mit dem Namen query_stats_elapsed
.
Dieser String wird beim Export in den Messwertnamen Teil des Messwerts
Cloud Monitoring
Nächste Schritte
Verwendung von Messwerten zur Diagnose der Latenz