Description des métriques côté client
Les métriques côté client sont disponibles pour plusieurs bibliothèques clientes Bigtable. Cette page fournit une description détaillée de chaque métrique côté client.
Pour Go, C++ et Node.js, ces métriques sont activées par défaut dans les versions compatibles. Pour les bibliothèques clientes Java, les métriques sont disponibles en tant que fonctionnalité optionnelle ou par défaut, selon la version de la bibliothèque cliente. Pour en savoir plus sur les versions spécifiques, consultez la section "Compatibilité avec les bibliothèques clientes" de chaque métrique.
Pour apprendre à préparer et configurer des métriques côté client, consultez Configurer des métriques côté client. Pour en savoir plus, consultez Présentation des métriques côté client.
Les métriques sont publiées dans la région du cluster Bigtable auquel elles se rapportent. Si Bigtable ne parvient pas à résoudre le cluster pour une métrique, par exemple en cas d'échec d'une opération, la métrique est publiée dans la région mondiale et le tag cluster a la valeur unspecified.
Utilisez les métriques côté client en association avec les métriques côté serveur pour déboguer les performances. Pour obtenir la liste complète des métriques Bigtable côté serveur et côté client, consultez Métriques.
Latences des opérations
Le tableau suivant présente les attributs et les détails de la métrique sur les latences des opérations.
| Attribut | Description |
|---|---|
| Métrique complète | bigtable.googleapis.com/client/operation_latencies |
| Définition | Latence totale de bout en bout sur toutes les tentatives RPC associées à une opération Bigtable. Cette métrique mesure l'aller-retour d'une opération depuis le client vers Bigtable, puis retourne au client et inclut toutes les nouvelles tentatives. Pour les requêtes ReadRows, les latences d'opération incluent le temps de traitement de l'application pour chaque message renvoyé. |
| Opérations Bigtable compatibles |
|
| Type | Distribution |
| Dimensions disponibles |
|
Compatibilité avec les bibliothèques clientes
Le tableau suivant indique les versions minimales requises des bibliothèques clientes pour utiliser la métrique "Latences des opérations".
| Langue | Client | Version (activation) | Version (activé par défaut) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (opérations ReadRows et ReadRow), 6.3.0 (autres opérations) |
||
| C++ | 2.40.0 | ||
Latences des tentatives
Le tableau suivant présente les attributs et les détails de la métrique "Latences des tentatives".
| Attribut | Description |
|---|---|
| Métrique complète | bigtable.googleapis.com/client/attempt_latencies |
| Définition | Latences d'une tentative de RPC d'un client. Dans des circonstances normales, cette valeur est identique à operation_latencies. Toutefois, si le client reçoit des erreurs temporaires, operation_latencies est la somme de toutes les attempt_latencies et des délais exponentiels. |
| Opérations Bigtable compatibles |
|
| Type | Distribution |
| Dimensions disponibles |
|
Compatibilité avec les bibliothèques clientes
Le tableau suivant indique les versions minimales requises des bibliothèques clientes pour utiliser la métrique des latences des tentatives.
| Langue | Client | Version (activation) | Version (activé par défaut) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (opérations ReadRows et ReadRow), 6.3.0 (autres opérations) |
||
| C++ | 2.40.0 | ||
Nombre de nouvelles tentatives
Le tableau suivant présente les attributs et les détails de la métrique "Nombre de tentatives".
| Attribut | Description |
|---|---|
| Métrique complète | bigtable.googleapis.com/client/retry_count |
| Définition | Compteur qui enregistre le nombre de tentatives nécessaires pour qu'une opération se termine. Dans des circonstances normales, cette valeur est vide. |
| Opérations Bigtable compatibles |
|
| Type | INT64 |
| Dimensions disponibles |
|
Compatibilité avec les bibliothèques clientes
Le tableau suivant indique les versions minimales requises des bibliothèques clientes pour utiliser la métrique du nombre de tentatives.
| Langue | Client | Version (activation) | Version (activé par défaut) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (opérations ReadRows et ReadRow), 6.3.0 (autres opérations) |
||
| C++ | 2.40.0 | ||
Latences de blocage d'applications
Le tableau suivant présente les attributs et les détails de la métrique "Latences de blocage des applications".
| Attribut | Description |
|---|---|
| Métrique complète | bigtable.googleapis.com/client/application_blocking_latencies |
| Définition | Temps écoulé entre le moment où le client reçoit la réponse à une requête et le moment où l'application lit la réponse. Cette métrique est particulièrement pertinente pour les requêtes ReadRows. Les heures de début et de fin de cette métrique dépendent de la façon dont vous envoyez la demande de lecture. Pour en savoir plus, consultez les exemples de minuteur de latence de blocage d'application.
|
| Opérations Bigtable compatibles |
|
| Type | Distribution |
| Dimensions disponibles |
|
Compatibilité avec les bibliothèques clientes
Le tableau suivant indique les versions minimales requises des bibliothèques clientes pour utiliser la métrique sur les latences de blocage des applications.
| Langue | Client | Version (activation) | Version (activé par défaut) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.38.0 | ||
| Node.js | 6.3.0 (opération ReadRows) |
||
| C++ | 2.41.0 | ||
Exemples de minuteurs de latence de blocage d'applications
Les requêtes ReadRows sont généralement envoyées de l'une des trois manières suivantes : de manière itérative, asynchrone ou en tant qu'appel futur. Les exemples suivants illustrent les heures de début et de fin des latences de blocage d'application pour chaque type d'opération ReadRows.
Itératives
long totaLatency=0;
ServerStream<Row> stream = bigtableDataClient.readRows(query);
for (Row row : stream) {
timer.start();
// Do something with row
timer.stop();
totalLatency += timer.elapsed();
}
Asynchrone
client.readRowsAsync(query, new ResponseObserver<Row>() {
@Override
public void onStart(StreamController streamController) {
}
@Override
public void onResponse(Row row) {
timer.start();
// Do something with the row
timer.stop();
totalLatency += timer.elapsed();
}
@Override
public void onError(Throwable throwable) {
// Do something with the error
}
@Override
public void onComplete() {
}
});
Appel futur
Les latences de blocage des applications doivent être d'environ 0 (pas de minuteur) pour ce type de requête ReadRows.
List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);
Latences de première réponse
Le tableau suivant présente les attributs et les détails de la métrique "Latences de la première réponse".
| Attribut | Description |
|---|---|
| Métrique complète | bigtable.googleapis.com/client/first_response_latencies |
| Définition | Latences entre le moment où un client envoie une requête et celui où il reçoit la première ligne de la réponse. |
| Opération Bigtable acceptée | ReadRows |
| Type | Distribution |
| Dimensions disponibles |
|
Compatibilité avec les bibliothèques clientes
Le tableau suivant indique les versions minimales requises des bibliothèques clientes pour utiliser la métrique "Latences de première réponse".
| Langue | Client | Version (activation) | Version (activé par défaut) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (opérations ReadRows et ReadRow), 6.3.0 (autres opérations) |
||
| C++ | 2.40.0 | ||
Latences du serveur
Le tableau suivant présente les attributs et les détails de la métrique "Latences du serveur".
| Attribut | Description |
|---|---|
| Métrique complète | bigtable.googleapis.com/client/server_latencies |
| Définition | Latences entre le moment où l'interface Google reçoit un RPC et le moment où elle envoie le premier octet de la réponse. |
| Opérations Bigtable compatibles |
|
| Type | Distribution |
| Dimensions disponibles |
|
Compatibilité avec les bibliothèques clientes
Le tableau suivant indique les versions minimales requises des bibliothèques clientes pour utiliser la métrique "Latences du serveur".
| Langue | Client | Version (activation) | Version (activé par défaut) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (opérations ReadRows et ReadRow), 6.3.0 (autres opérations) |
||
| C++ | 2.41.0 | ||
Nombre d'erreurs de connectivité
Le tableau suivant présente les attributs et les détails de la métrique "Nombre d'erreurs de connectivité".
| Attribut | Description |
|---|---|
| Métrique complète | bigtable.googleapis.com/client/connectivity_error_count |
| Définition | Nombre de requêtes qui n'ont pas pu atteindre le réseau Google. Dans les cas normaux, ce nombre est égal à 0. Lorsque le nombre n'est pas égal à 0, cela peut indiquer des problèmes de connectivité entre l'application et le réseau Google. |
| Opérations Bigtable compatibles |
|
| Type | Distribution |
| Dimensions disponibles |
|
Compatibilité avec les bibliothèques clientes
Le tableau suivant indique les versions minimales requises des bibliothèques clientes pour utiliser la métrique "Nombre d'erreurs de connectivité".
| Langue | Client | Version (activation) | Version (activé par défaut) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.38.0 | ||
| Node.js | 6.2.0 (opérations ReadRows et ReadRow), 6.3.0 (autres opérations) |
||
| C++ | 2.41.0 | ||
Latences de blocage du client
Le tableau suivant présente les attributs et les détails de la métrique sur les latences de blocage du client.
| Attribut | Description |
|---|---|
| Métrique complète | bigtable.googleapis.com/client/client_blocking_latencies |
| Définition | Latences introduites lorsque le client bloque l'envoi de requêtes supplémentaires au serveur en raison d'un trop grand nombre de requêtes en attente dans une opération groupée. Pour les versions 2.21.0 et ultérieures, cette métrique inclut également les latences des requêtes mises en file d'attente sur les canaux gRPC lorsque le client crée un canal. |
| Opérations Bigtable compatibles |
|
| Type | Distribution |
| Dimensions disponibles |
|
Compatibilité avec les bibliothèques clientes
Le tableau suivant indique les versions minimales requises de la bibliothèque cliente Java pour utiliser la métrique sur les latences de blocage du client.
| Langue | Client | Version (activation) | Version (activé par défaut) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 |