Cette section explique comment examiner un composant Spanner pour identifier la source de latence et la visualiser à l'aide d'OpenTelemetry. Pour une présentation générale des composants de cette rubrique, consultez Points de latence dans une requête Spanner
OpenTelemetry est un kit et un framework d'observabilité Open Source qui permet vous créez et gérez des données de télémétrie telles que des traces, des métriques et des journaux. Il est le résultat d'une fusion entre OpenTracing et OpenCensus. Pour en savoir plus, consultez la page Qu'est-ce qu'OpenTelemetry ?
Les bibliothèques clientes Spanner fournissent des métriques et des traces avec du framework d'observabilité OpenTelemetry. Suivez la procédure décrite dans Identifiez le point de latence pour trouver la qui présentent une latence dans Spanner.
Avant de commencer
Avant de commencer à collecter des métriques de latence, familiarisez-vous avec la avec OpenTelemetry. Vous devez configurer le SDK OpenTelemetry avec les options appropriées pour exporter vos données de télémétrie. Plusieurs options d'exportateur OpenTelemetry sont disponibles. Nous vous recommandons d'utiliser OpenTelemetry Exportateur de protocole (OTLP, Protocol). Vous pouvez également utiliser un collecteur OTel avec l'exportateur Google Cloud ou l'exportateur Google Managed Service pour Prometheus.
Si vous exécutez votre application sur Compute Engine, vous pouvez utiliser l'agent Ops pour collecter des métriques et des traces du protocole OpenTelemetry. Pour en savoir plus, consultez la section Collecter les métriques et les traces OTLP.
Ajouter des dépendances
Pour configurer le SDK OpenTelemetry et l'exportateur OTLP, ajoutez les éléments suivants : les dépendances à votre application.
Java
Go
Injecter l'objet OpenTelemetry
Ensuite, créez un objet OpenTelemetry avec l'exportateur OTLP et injectez l'objet OpenTelemetry à l'aide de SpannerOptions
.
Java
Go
Capturer et visualiser la latence aller-retour du client
La latence aller-retour du client correspond à la durée (en millisecondes) entre les premier octet de la requête API Spanner que le client envoie la base de données (via le GFE et l'interface de l'API Spanner), et le dernier octet de réponse que le client reçoit de la base de données.
Capturer la latence aller-retour du client
La métrique de latence aller-retour du client Spanner n'est pas compatible à l'aide d'OpenTelemetry. Vous pouvez instrumenter la métrique à l'aide d'OpenCensus avec un pont et migrer les données vers OpenTelemetry.
Visualiser la latence aller-retour du client
Après avoir récupéré les métriques, vous pouvez visualiser la latence aller-retour du client dans Cloud Monitoring.
Voici un exemple de graphique illustrant la latence du 5e centile pour le de latence aller-retour du client. Pour modifier la latence en centiles : (50e ou 99e centiles), utilisez le menu Agrégateur.
Le programme crée une vue appelée roundtrip_latency
. Cette chaîne est intégrée au nom de la métrique lors de son exportation vers Cloud Monitoring.
Capturer et visualiser la latence de GFE
La latence du Google Front End (GFE) correspond à la durée (en millisecondes) entre le moment où le réseau Google reçoit un appel de procédure à distance du client et le moment où le GFE reçoit le premier octet de la réponse.
Capturer la latence du GFE
Vous pouvez capturer les métriques de latence GFE en activant les options suivantes à l'aide de la bibliothèque cliente Spanner.
Java
Go
Visualiser la latence du GFE
Après avoir récupéré les métriques, vous pouvez visualiser la latence du GFE dans Cloud Monitoring.
Voici un exemple de graphique illustrant l'agrégation de distribution pour la métrique de latence du GFE. Pour modifier la latence du centile sur le 5e, 50e, 95e ou 99e centile, utilisez le menu Agrégateur.
Le programme crée une vue appelée spanner/gfe_latency
. Ce
devient une partie du nom de la métrique lorsqu'elle est exportée vers
Cloud Monitoring.
Capturer et visualiser la latence des requêtes de l'API Spanner
La latence de requête de l'API Spanner correspond à la durée (en secondes) entre le premier octet de requête envoyé par l'interface de l'API Spanner et le dernier octet de réponse envoyé par l'interface.
Capturer la latence des requêtes de l'API Spanner
Par défaut, cette latence est disponible dans les métriques Cloud Monitoring. Vous n'avez rien à faire pour la capturer et l'exporter.
Visualiser la latence des requêtes de l'API Spanner
Vous pouvez utiliser l'outil de graphique Explorateur de métriques pour visualiser un graphique de la métrique spanner.googleapis.com/api/request_latencies
dans Cloud Monitoring.
Voici un exemple de graphique illustrant la latence du 5e centile pour le Métrique de latence des requêtes de l'API Spanner. Pour modifier le centile au 50e ou au 99e centile, utilisez l'outil Aggregator (Agrégateur). .
Capturer et visualiser la latence des requêtes
La latence de requête correspond à la durée (en millisecondes) d'exécution des requêtes SQL dans la base de données Spanner.
Capturer la latence des requêtes
Vous pouvez capturer la latence des requêtes pour les langages suivants :
Java
Go
Visualiser la latence des requêtes
Après avoir récupéré les métriques, vous pouvez visualiser la latence des requêtes dans Cloud Monitoring.
Voici un exemple de graphique illustrant l'agrégation de la distribution pour la métrique de latence du GFE. Pour définir la latence en centiles sur le 5e, Pour les 50e, 95e ou 99e centiles, utilisez le menu Agrégateur.
Le programme crée une vue OpenCensus appelée query_stats_elapsed
.
Cette chaîne est intégrée au nom de la métrique lors de son exportation vers Cloud Monitoring.
Étape suivante
En savoir plus sur OpenTelemetry
Découvrez comment migrer vers OpenTelemetry.
Apprenez à utiliser les métriques pour diagnostiquer la latence.