Beschreibungen clientseitiger Messwerte

Clientseitige Messwerte sind verfügbar, wenn Sie die Bigtable-Clientbibliothek für Java oder den Bigtable HBase-Client für Java verwenden. Diese Seite enthält eine detaillierte Beschreibung der einzelnen clientseitigen Messwerte.

Informationen zum Einrichten und Konfigurieren clientseitiger Messwerte finden Sie unter Clientseitige Messwerte einrichten. Eine Übersicht finden Sie unter Übersicht über clientseitige Messwerte.

Messwerte werden in der Region des Bigtable-Clusters veröffentlicht, für die sie vorgesehen sind. Wenn Bigtable den Cluster für einen Messwert nicht auflösen kann, z. B. wenn ein Vorgang fehlschlägt, wird der Messwert in der globalen Region veröffentlicht und das Tag cluster hat den Wert unspecified.

Verwenden Sie clientseitige Messwerte in Verbindung mit serverseitigen Messwerten zum Debugging der Leistung. Eine umfassende Liste der serverseitigen und clientseitigen Messwerte in Bigtable finden Sie unter Messwerte.

Vorgangslatenzen

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/operation_latencies
Definition Die gesamte End-to-End-Latenz in allen RPC-Versuchen, die mit einem Bigtable-Vorgang verknüpft sind. Dieser Messwert erfasst die Umlaufdaten eines Vorgangs vom Client zu Bigtable und zurück zum Client. Alle Wiederholungsversuche sind enthalten.

Bei ReadRows-Anfragen ist die Verarbeitungszeit der Anwendung für jede zurückgegebene Nachricht in den Vorgangslatenzen enthalten.
Unterstützte Bigtable-Vorgänge
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Typ Verteilung
Verfügbare Dimensionen
  • Projekt-ID
  • Instanz-ID
  • table
  • Cluster
  • Zone
  • app_profile-ID
  • Methodenname
  • endgültiger Vorgangsstatus
  • Streamingvorgang
  • Clientname

Versuchslatenzen

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/attempt_latencies
Definition Die Latenzen eines clientseitigen RPC-Versuchs.

Unter normalen Umständen ist dieser Wert mit operation_latencies identisch. Wenn der Client jedoch vorübergehende Fehler empfängt, dann ist operation_latencies die Summe aller attempt_latencies und der exponentiellen Verzögerungen.
Unterstützte Bigtable-Vorgänge
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Typ Verteilung
Verfügbare Dimensionen
  • Projekt-ID
  • Instanz-ID
  • table
  • Cluster
  • Zone
  • app_profile-ID
  • Methodenname
  • Versuchsstatus
  • Streamingvorgang
  • Clientname

Anzahl der erneuten Versuche

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/retry_count
Definition Ein Zähler, der die Anzahl der Versuche erfasst, die für den Abschluss eines Vorgangs benötigt wurden. Normalerweise ist dieser Wert leer.
Unterstützte Bigtable-Vorgänge
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Typ INT64
Verfügbare Dimensionen
  • Projekt-ID
  • Instanz-ID
  • table
  • Cluster
  • Zone
  • app_profile-ID
  • Methodenname
  • endgültiger Vorgangsstatus
  • Clientname

Latenzen durch Anwendungsblockierung

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/application_blocking_latencies
Definition Die Zeitspanne zwischen dem Empfang der Antwort auf eine Anfrage durch den Client und dem Lesen der Antwort durch die Anwendung. Dieser Messwert ist am relevantesten für ReadRows-Anfragen. Die Start- und Stoppzeiten für diesen Messwert hängen davon ab, wie Sie die Leseanfrage senden. Weitere Informationen finden Sie unter Timer-Beispiele für Latenzen durch Anwendungsblockierung.
Unterstützte Bigtable-Vorgänge
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Typ Verteilung
Verfügbare Dimensionen
  • Projekt-ID
  • Instanz-ID
  • table
  • Cluster
  • Zone
  • app_profile-ID
  • Methodenname
  • Clientname

Timer-Beispiele für Latenzen durch Anwendungsblockierung

ReadRows-Anfragen werden in der Regel auf eine von drei Arten gesendet: iterativ, asynchron oder als zukünftiger Aufruf. Die folgenden Beispiele zeigen die Start- und Stoppzeiten für die Latenzen durch Anwendungsblockierung für jeden Typ von ReadRows-Vorgang.

Iterativ

long totaLatency=0;
ServerStream<Row> stream = bigtableDataClient.readRows(query);

for (Row row : stream) {
   timer.start();
   // Do something with row
   timer.stop();
   totalLatency += timer.elapsed();
}

Asynchron

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() {
    }
});

Zukünftiger Anruf

Die Latenzen durch Anwendungsblockierung sollten bei dieser Art von ReadRows-Anfrage ca. 0 (kein Timer) sein.

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

Latenz der ersten Antwort

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/first_response_latencies
Definition Latenzen zwischen dem Zeitpunkt, an dem ein Client eine Anfrage sendet, und dem Zeitpunkt, an dem er die erste Zeile der Antwort empfängt.
Unterstützter Bigtable-Vorgang ReadRows
Typ Verteilung
Verfügbare Dimensionen
  • Projekt-ID
  • Instanz-ID
  • table
  • Cluster
  • Zone
  • app_profile-ID
  • Methodenname
  • endgültiger Vorgangsstatus
  • Clientname

Serverlatenzen

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/server_latencies
Definition Latenzen zwischen dem Zeitpunkt, an dem das Google-Frontend einen RPC empfängt, und dem Zeitpunkt, an dem das erste Byte der Antwort gesendet wird.
Unterstützte Bigtable-Vorgänge
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Typ Verteilung
Verfügbare Dimensionen
  • Projekt-ID
  • Instanz-ID
  • table
  • Cluster
  • Zone
  • app_profile-ID
  • Methodenname
  • Versuchsstatus
  • Streamingvorgang
  • Clientname

Anzahl der Verbindungsfehler

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/connectivity_error_count
Definition Die Anzahl der Anfragen, die das Google-Netzwerk nicht erreicht haben. Normalerweise ist dieser Wert 0. Wenn die Zahl nicht 0 ist, kann das auf Verbindungsprobleme zwischen der Anwendung und dem Google-Netzwerk hinweisen.
Unterstützte Bigtable-Vorgänge
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Typ Verteilung
Verfügbare Dimensionen
  • Projekt-ID
  • Instanz-ID
  • table
  • Cluster
  • Zone
  • app_profile-ID
  • Methodenname
  • Versuchsstatus
  • Clientname

Client-Blockierungslatenzen

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/client_blocking_latencies
Definition Latenzen, die auftreten, wenn der Client das Senden weiterer Anfragen an den Server blockiert, weil zu viele ausstehende Anfragen in einem Bulk-Vorgang vorhanden sind. Ab Version 2.21.0 enthält dieser Messwert auch die Latenzen von Anfragen, die in gRPC-Kanälen in der Warteschlange stehen.
Unterstützte Bigtable-Vorgänge
  • 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
Typ Verteilung
Verfügbare Dimensionen
  • Projekt-ID
  • Instanz-ID
  • table
  • Cluster
  • Zone
  • app_profile-ID
  • Methodenname
  • Clientname

Nächste Schritte