In diesem Thema wird beschrieben, wie Sie eine Spanner-Komponente untersuchen, um die Ursache der Latenz zu finden und diese Latenz mithilfe von OpenTelemetry zu visualisieren. Eine allgemeine Übersicht ü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 Sie Telemetriedaten wie Traces, Messwerte und Logs erstellen und verwalten können. Dies ist das Ergebnis einer Zusammenführung zwischen OpenTracing und OpenCensus. Weitere Informationen finden Sie unter Was ist OpenTelemetry?
Spanner-Clientbibliotheken stellen Messwerte und Traces mithilfe des OpenTelemetry-Beobachtbarkeits-Frameworks bereit. Folgen Sie der Anleitung unter Latenzpunkt ermitteln, um die Komponenten oder Komponenten zu finden, bei denen in Spanner Latenz angezeigt wird.
Hinweise
Machen Sie sich vor dem Erfassen von Latenzmesswerten mit der manuellen Instrumentierung mit OpenTelemetry vertraut. Sie müssen das OpenTelemetry SDK mit geeigneten Optionen für den Export Ihrer Telemetriedaten konfigurieren. Es stehen mehrere OpenTelemetry-Exporter-Optionen zur Verfügung. Wir empfehlen die Verwendung des OTLP-Exporters (OpenTelemetry Protocol). Alternativ können Sie einen OTel Collector mit Google Cloud Exporter oder Google Managed Service for Prometheus Exporter verwenden.
Wenn Sie Ihre Anwendung in Compute Engine ausführen, können Sie mit dem Ops-Agent Messwerte und Traces des OpenTelemetry-Protokolls erfassen. Weitere Informationen finden Sie unter OTLP-Messwerte und -Traces erfassen.
Abhängigkeiten hinzufügen
Fügen Sie Ihrer Anwendung die folgenden Abhängigkeiten hinzu, um das OpenTelemetry SDK und den OTLP-Exporter zu konfigurieren.
Java
Einfach loslegen (Go)
OpenTelemetry-Objekt einschleusen
Erstellen Sie dann ein OpenTelemetry-Objekt mit dem OTLP-Exporter und injizieren Sie das OpenTelemetry-Objekt mit SpannerOptions
.
Java
Einfach loslegen (Go)
Umlauflatenzen des Clients erfassen und visualisieren
Die Umlauflatenz des Clients ist die Zeit (in Millisekunden) zwischen dem ersten Byte der Spanner API-Anfrage, die der Client an die Datenbank (sowohl über das GFE als auch das Spanner API-Frontend) sendet, 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 bei OpenTelemetry nicht unterstützt. Sie können den Messwert mithilfe von OpenCensus mit einer Bridge instrumentieren und die Daten zu OpenTelemetry migrieren.
Client-Umlauflatenz visualisieren
Nach dem Abrufen der Messwerte können Sie die Umlauflatenz des Clients in Cloud Monitoring visualisieren.
Das folgende Beispieldiagramm veranschaulicht die Latenz des 5. Perzentils für den Messwert für die Client-Umlauflatenz. Verwenden Sie das Menü Aggregator, um die Perzentillatenz entweder auf das 50. oder 99. Perzentil zu ändern.
Das Programm erstellt eine Ansicht mit dem Namen roundtrip_latency
. Dieser String wird beim Export nach Cloud Monitoring Teil des Messwertnamens.
GFE-Latenz erfassen und visualisieren
Die GFE-Latenz (Google Front End) ist die Zeit (in Millisekunden) zwischen dem Empfang eines Remote-Prozeduraufrufs vom Client im Google-Netzwerk und dem Empfang des ersten Byte der Antwort durch das GFE.
GFE-Latenz erfassen
Sie können GFE-Latenzmesswerte erfassen, indem Sie die folgenden Optionen mithilfe der Spanner-Clientbibliothek aktivieren.
Java
Einfach loslegen (Go)
GFE-Latenz visualisieren
Nach dem Abrufen der Messwerte können Sie die GFE-Latenz in Cloud Monitoring visualisieren.
Das folgende Beispiel zeigt ein Diagramm, in dem die Verteilungsaggregation für den GFE-Latenzmesswert veranschaulicht wird. Verwenden Sie das Menü Aggregator, um die Perzentillatenz auf das 5., 50., 95. oder 99. Perzentil zu ändern.
Das Programm erstellt eine Ansicht mit dem Namen spanner/gfe_latency
. Dieser String wird beim Export in Cloud Monitoring Teil des Messwertnamens.
Latenz von Spanner API-Anfragen erfassen und visualisieren
Die Anfragelatenz der Spanner API ist die Zeitspanne (in Sekunden) zwischen dem ersten Byte der Anfrage, das das Spanner API-Frontend empfängt, und dem letzten Byte der Antwort, das das Spanner API-Frontend sendet.
Latenz von Spanner API-Anfragen erfassen
Standardmäßig ist diese Latenz als Teil der Cloud Monitoring-Messwerte verfügbar. Sie müssen nichts unternehmen, um sie zu erfassen und zu exportieren.
Spanner API-Anfragelatenz visualisieren
Mit dem Diagrammtool Metrics Explorer können Sie das Diagramm für den Messwert spanner.googleapis.com/api/request_latencies
in Cloud Monitoring visualisieren.
Das folgende Beispieldiagramm veranschaulicht die Latenz des 5. Perzentils für den Messwert zur Anfragelatenz der Spanner API. Verwenden Sie das Menü Aggregator, um die Perzentillatenz auf das 50. oder 99. Perzentil zu ändern.
Abfragelatenz erfassen und visualisieren
Die Abfragelatenz ist die Zeit (in Millisekunden), die zum Ausführen von SQL-Abfragen in der Spanner-Datenbank benötigt wird.
Abfragelatenz erfassen
Sie können die Abfragelatenz für die folgenden Sprachen erfassen:
Java
Einfach loslegen (Go)
Abfragelatenz visualisieren
Nach dem Abrufen der Messwerte können Sie die Abfragelatenz in Cloud Monitoring visualisieren.
Das folgende Beispiel zeigt ein Diagramm, in dem die Verteilungsaggregation für den GFE-Latenzmesswert veranschaulicht wird. Verwenden Sie das Menü Aggregator, um die Perzentillatenz auf das 5., 50., 95. oder 99. Perzentil zu ändern.
Das Programm erstellt eine OpenCensus-Ansicht mit dem Namen query_stats_elapsed
.
Dieser String wird beim Export nach Cloud Monitoring Teil des Messwertnamens.