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 à laquelle elles sont associées. Si Bigtable ne peut 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 conjointement 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

Attribut Description
Métrique complète bigtable.googleapis.com/client/operation_latencies
Définition Latence totale de bout en bout pour 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, la latence des opérations inclut le temps de traitement de l'application pour chaque message renvoyé.
Opérations Bigtable compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type Distribution
Dimensions disponibles
  • ID du projet
  • ID d'instance
  • table
  • cluster
  • zone
  • ID de profil d'application
  • nom de méthode
  • état de l'opération finale
  • opération de traitement par flux
  • nom du client

Latences des tentatives

Attribut Description
Métrique complète bigtable.googleapis.com/client/attempt_latencies
Définition Latences d'une tentative RPC d'un client.

En temps normal, cette valeur est identique à operation_latencies. Toutefois, si le client reçoit des erreurs temporaires, operation_latencies correspond à la somme de tous les attempt_latencies et des retards exponentiels.
Opérations Bigtable compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type Distribution
Dimensions disponibles
  • ID du projet
  • ID d'instance
  • table
  • cluster
  • zone
  • ID de profil d'application
  • nom de méthode
  • état de la tentative
  • opération de traitement par flux
  • nom du client

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 qu'une opération doit effectuer. Dans des circonstances normales, cette valeur est vide.
Opérations Bigtable compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type Distribution
Dimensions disponibles
  • ID du projet
  • ID d'instance
  • table
  • cluster
  • zone
  • ID de profil d'application
  • nom de méthode
  • état de l'opération finale
  • nom du client

Latences de blocage d'applications

Attribut Description
Métrique complète bigtable.googleapis.com/client/application_blocking_latencies
Définition Délai entre la réception de la réponse par le client et la lecture de la réponse par l'application. Cette métrique est particulièrement 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 la section Exemples de minuteurs de latence de blocage d'applications.
Opérations Bigtable compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type Distribution
Dimensions disponibles
  • ID du projet
  • ID d'instance
  • table
  • cluster
  • zone
  • ID de profil d'application
  • nom de méthode
  • nom du client

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 via un appel futur. Les exemples suivants illustrent les heures de démarrage et d'arrêt des latences de blocage de l'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 à venir

Les latences de blocage des applications doivent être d'environ 0 (aucun minuteur) pour ce type de requête ReadRows.

List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);

Latences 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 réponse.
Opérations Bigtable acceptées ReadRows
Type Distribution
Dimensions disponibles
  • ID du projet
  • ID d'instance
  • table
  • cluster
  • zone
  • ID de profil d'application
  • nom de méthode
  • état de l'opération finale
  • nom du client

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
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type Distribution
Dimensions disponibles
  • ID du projet
  • ID d'instance
  • table
  • cluster
  • zone
  • ID de profil d'application
  • nom de méthode
  • état de la tentative
  • opération de traitement par flux
  • nom du client

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 de Google. En règle générale, ce nombre est égal à 0. Si ce 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
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type Distribution
Dimensions disponibles
  • ID du projet
  • ID d'instance
  • table
  • cluster
  • zone
  • ID de profil d'application
  • nom de méthode
  • état de la tentative
  • nom du client

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 d'un plus grand nombre de 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
  • ReadRow for version 2.21.0 or later
  • ReadRows for version 2.21.0 or later
  • MutateRow for version 2.21.0 or later
  • MutateRows for version 2.21.0 or later
  • SampleRowKeys for version 2.21.0 or later
  • CheckAndMutateRow for version 2.21.0 or later
  • BulkReadRows
  • BulkMutateRows
Type Distribution
Dimensions disponibles
  • ID du projet
  • ID d'instance
  • table
  • cluster
  • zone
  • ID de profil d'application
  • nom de méthode
  • nom du client

Étapes suivantes