Cet article explique comment examiner un composant Spanner pour trouver la source de la latence et la visualiser à l'aide d'OpenTelemetry. Pour une présentation générale des composants de cette rubrique, consultez Points de latence d'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 plus d'informations, 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 affichent 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. Il existe plusieurs Options d'exportateur OpenTelemetry disponibles Nous vous recommandons d'utiliser OpenTelemetry Exportateur de protocole (OTLP, Protocol). Vous pouvez également utiliser un collecteur Otel. avec Google Cloud Exporter ou Google Managed Service pour Prometheus Exporter.
Si vous exécutez votre application sur Compute Engine, vous pouvez utiliser l'agent Agent pour collecter les métriques et les traces du protocole OpenTelemetry. Pour plus d'informations, consultez Collecter des métriques et des 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 le
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, vous devez : (50e ou 99e centiles), utilisez le menu Agrégateur.
Le programme crée une vue appelée roundtrip_latency
. Cette chaîne fait partie
du nom de la métrique lorsqu'elle est exportée vers Cloud Monitoring.
Capturer et visualiser la latence GFE
La latence de Google Front End (GFE) correspond à la durée (en millisecondes) entre lorsque le réseau Google reçoit un appel de procédure à distance du client et lorsque le GFE reçoit le premier octet de la réponse.
Capturer la latence du GFE
Vous pouvez capturer les métriques de latence du GFE en activant les options suivantes à l'aide de la bibliothèque cliente Spanner.
Java
Go
Visualiser la latence 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 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 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 API Spanner
La latence des requêtes API Spanner correspond à la durée (en secondes) entre le premier octet de la requête que l'interface de l'API Spanner et le dernier octet de réponse reçu par l'API Spanner frontend envoie.
Capturer la latence des requêtes API Spanner
Par défaut, cette latence est disponible 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'Explorateur de métriques.
pour visualiser le graphique
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 d'une requête est la durée (en millisecondes) nécessaire pour exécuter 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 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 incorporée au nom de la métrique lorsqu'elle est exportée vers
Cloud Monitoring.
Étape suivante
En savoir plus sur OpenTelemetry
Découvrez comment effectuer la migration vers OpenTelemetry.
Apprenez à utiliser les métriques pour diagnostiquer la latence.