Anciennes métriques côté client HBase
Cette page décrit un ensemble de métriques côté client qui ont été remplacées par des métriques côté client intégrées. Cette page est mise à jour référence pour tous les développeurs qui utilisent encore les anciennes métriques.
Nous vous recommandons d'utiliser les métriques côté client intégrées décrites dans la Présentation des métriques côté client, plutôt que les anciennes métriques décrites sur cette page.
Activer les métriques
Ces informations sont destinées aux clients qui utilisent les anciennes métriques. Pour activer les métriques côté client intégrées, qui sont plus récentes, consultez Configurer les métriques côté client.
Le client Cloud Bigtable HBase pour Java utilisait Dropwizard Metrics pour collecter et consigner les métriques côté client. La collecte de métriques pouvant ajouter une faible latence (de l'ordre de quelques microsecondes) à chaque requête, les métriques n'étaient pas activées par défaut. Les éléments suivants : expliquent comment activer les anciennes métriques côté client.
Utiliser l'émetteur Log4j
Le moyen le plus simple d'activer les anciennes métriques côté client consiste à ajouter la ligne suivante à votre fichier de configuration Log4j :
log4j.category.com.google.cloud.bigtable.metrics=DEBUG
Ce paramètre de configuration active la collecte des métriques et enregistre les métriques Bigtable avec un enregistreur SLF4J.
Utiliser d'autres émetteurs
Vous pouvez utiliser d'autres types de reporters en mettant à jour le code de votre application. Par exemple, voici un reporter qui envoie des métriques à un serveur Graphite :
Graphite pickledGraphite = new PickledGraphite(new InetSocketAddress("graphite.example.com", 2004));
DropwizardMetricRegistry registry = new DropwizardMetricRegistry();
GraphiteReporter reporter =
GraphiteReporter.forRegistry(registry.getRegistry())
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.filter(MetricFilter.ALL)
.build(pickledGraphite);
reporter.start(1, TimeUnit.MINUTES);
BigtableClientMetrics.setMetricRegistry(registry);
Dropwizard Metrics fournit des reporters pour JMX, la journalisation de la console, SLF4J et CSV. De nombreux reporters tiers sont également disponibles.
Métriques disponibles
Cette section décrit les métriques disponibles lorsque l'ancien service HBase les métriques côté client sont activées. Chaque métrique dispose de l'un des types suivants :
- Compteur : nombre cumulé par machine virtuelle Java (JVM)
- Outil de mesure : informations de comptage et de débit (comptage sur la dernière minute, les 5 dernières minutes ou les 15 dernières minutes)
- Timer : informations sur l'outil de mesure et sur la latence (par exemple, médiane, moyenne et 95e centile)
Seules certaines métriques sont collectées pour chaque type de requête. Consultez la section Exemple : métriques pour une requête Put
pour obtenir un exemple des métriques collectées au cours d'une requête Put
.
Métriques au niveau du canal
Type | Nom | Description |
---|---|---|
Compteur | google-cloud-bigtable.sessions.active |
Nombre de BigtableSession ouvertes. Chaque Connection HBase possède une seule BigtableSession . |
Compteur | google-cloud-bigtable.grpc.channel.active |
Nombre de canaux gRPC/Netty de niveau inférieur ouverts. Chaque BigtableSession dispose de nombreux canaux gRPC. |
Métriques générales RPC
Type | Nom | Description |
---|---|---|
Compteur | google-cloud-bigtable.grpc.rpc.active |
Nombre d'appels de procédures à distance (RPC) actuellement actifs. |
Outil de mesure | google-cloud-bigtable.grpc.rpc.performed |
Débit RPC. |
Métriques de méthode de données
Les métriques de méthode de données sont collectées pour les méthodes de données suivantes :
ReadRows
: met en œuvre les "get" et les "scan".MutateRow
: met en œuvre les "put" et les "delete".MutateRows
: met en œuvre les écritures groupées.CheckAndMutateRow
: met en œuvre les méthodes HBasecheckAnd*
.ReadModifyWrite
: met en œuvre les méthodes HBaseAppend
etIncrement
.SampleRowKeys
: récupère les informations de région utilisées pour les opérations MapReduce.
Type | Nom | Description |
---|---|---|
Timer | google-cloud-bigtable.grpc.method.[METHOD_TYPE].operation.latency |
Temps pris par chaque opération individuelle. Les opérations incluent la quantité totale de latence de tous les RPC exécutés. (Habituellement, un seul RPC est exécuté. Les nouvelles tentatives côté client peuvent entraîner l'exécution du même RPC plusieurs fois en cas d'erreur transitoire.) |
Timer | google-cloud-bigtable.grpc.method.ReadRows.firstResponse.latency |
Délai nécessaire pour recevoir la première réponse à une demande d'analyse. |
Outil de mesure | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.performed |
Nombre de tentatives qui ont été effectuées. |
Outil de mesure | google-cloud-bigtable.grpc.method.[METHOD_TYPE].failures |
Nombre d'échecs qui ne peuvent pas faire l'objet d'une nouvelle tentative. |
Outil de mesure | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.exhausted |
Nombre de tentatives infructueuses en raison d'un trop grand nombre d'échecs. |
Métriques groupées
Des métriques groupées sont fournies pour les méthodes qui renvoient plus d'une réponse, telle qu'une écriture groupée.
Type | Nom | Description |
---|---|---|
Outil de mesure | google-cloud-bigtable.scanner.results |
Débit des lignes individuelles affichées par une analyse. |
Outil de mesure | google-cloud-bigtable.bulk-mutator.mutations.added |
Débit des mutations individuelles ajoutées pour chaque requête MutateRows . |
Outil de mesure | google-cloud-bigtable.bulk-mutator.mutations.retried |
Nombre de mutations individuelles ayant fait l'objet d'une nouvelle tentative au fil du temps. |
Métriques de table Bigtable
La conversion des objets Bigtable en objets HBase peut augmenter la latence d'une requête. Les timers suivants peuvent être mis en corrélation avec les timers *.operation.latency
spécifiés pour mesurer le coût de la conversion.
Type | Nom | Description |
---|---|---|
Timer | google-cloud-bigtable.table.put.latency |
Durée de chaque opération Put individuelle.
Corrélée à google-cloud-bigtable.grpc.method.MutateRow.operation.latency . |
Timer | google-cloud-bigtable.table.get.latency |
Durée de chaque opération Get individuelle.
Corrélée à google-cloud-bigtable.grpc.method.ReadRows.operation.latency . |
Exemple : métriques pour une requête Put
Lorsque les métriques côté client sont activées, les métriques suivantes sont collectées pour une requête Put
réussie qui ne fait pas l'objet d'une nouvelle tentative :
- Compteur :
google-cloud-bigtable.grpc.rpc.active
- Outil de mesure :
google-cloud-bigtable.grpc.rpc.performed
- Timer :
google-cloud-bigtable.grpc.method.MutateRow.operation.latency
- Timer :
google-cloud-bigtable.table.put.latency
La collecte de ces métriques ajoute environ une microseconde (1/1 000 de milliseconde) à l'opération Put
. L'ensemble de l'opération Put
peut ne durer que deux à trois millisecondes, en supposant que l'opération comporte environ 1 Ko de données.