Description des métriques côté client
Les métriques côté client sont disponibles lorsque vous utilisez la bibliothèque cliente Bigtable pour Java ou le client Bigtable HBase pour Java. Cette page fournit une description détaillée de chaque métrique côté client.
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 sont destinées. 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 "global".
et la balise cluster
a la valeur unspecified
.
Utilisez les métriques côté client en plus des métriques côté serveur pour déboguer les performances. Pour obtenir une liste complète des métriques côté serveur et côté client de Bigtable, consultez Métriques.
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 les éléments suivants :
le temps de traitement de l'application
pour chaque message renvoyé. |
Opérations Bigtable compatibles |
|
Type | Distribution |
Dimensions disponibles |
|
Latences des tentatives
Attribut | Description |
---|---|
Métrique complète | bigtable.googleapis.com/client/attempt_latencies |
Définition | Latences d'une tentative de RPC client. En temps normal, cette valeur est identique à operation_latencies Si le client reçoit des données temporaires
erreurs, cependant, operation_latencies est la somme des
toutes les valeurs attempt_latencies et les retards exponentiels. |
Opérations Bigtable compatibles |
|
Type | Distribution |
Dimensions disponibles |
|
Nombre de nouvelles tentatives
Attribut | Description |
---|---|
Métrique complète | bigtable.googleapis.com/client/retry_count |
Définition | Compteur qui enregistre le nombre de tentatives d'exécution d'une opération pour terminer. En temps normal, cette valeur est vide. |
Opérations Bigtable compatibles |
|
Type | Distribution |
Dimensions disponibles |
|
Latences de blocage des applications
Attribut | Description |
---|---|
Métrique complète | bigtable.googleapis.com/client/application_blocking_latencies |
Définition | Délai à partir du moment où le client reçoit la réponse à une
jusqu'à ce que l'application lise la réponse. Cette métrique est la plus pertinente pour les requêtes ReadRows . Les heures de début et d'arrêt de cette métrique dépendent de la manière dont vous envoyez la requête 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 |
|
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érée, de manière asynchrone ou en tant qu'appel futur. Les exemples suivants illustrent
les heures de démarrage et d'arrêt pour les latences de blocage de l'application pour chaque type de
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 de l'application doivent être d'environ 0 (pas de minuteur) pour ce type de requête ReadRows
.
List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);
Latence de première réponse
Attribut | Description |
---|---|
Métrique complète | bigtable.googleapis.com/client/first_response_latencies |
Définition | Latences à partir du moment où un client envoie une requête et reçoit la première ligne de la réponse. |
Opération Bigtable compatible | ReadRows |
Type | Distribution |
Dimensions disponibles |
|
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 |
|
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 réussi à atteindre le réseau de Google. Dans cas normaux, ce nombre est 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 |
|
Latence de blocage du client
Attribut | Description |
---|---|
Métrique complète | bigtable.googleapis.com/client/client_blocking_latencies |
Définition | Latence introduite lorsque le client bloque l'envoi de nouvelles requêtes 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. |
Opérations Bigtable compatibles |
|
Type | Distribution |
Dimensions disponibles |
|