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 misst den Umlauf eines Vorgangs vom Client zu Bigtable und zurück zum Client und umfasst alle Wiederholungsversuche.

Bei ReadRows-Anfragen umfassen die Vorgangslatenzen die Verarbeitungszeit der Anwendung für jede zurückgegebene Nachricht.
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 Client-RPC-Versuchs.

Unter normalen Umständen ist dieser Wert identisch mit operation_latencies. Wenn der Client jedoch vorübergehende Fehler erhält, 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 Verteilung
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 Der Zeitraum zwischen dem Eingang der Antwort auf eine Anfrage beim Client und dem Lesen der Antwort durch die Anwendung. Dieser Messwert ist für ReadRows-Anfragen am relevantesten. 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);

Latenzen der ersten Antwort

Attribut Beschreibung
Vollständiger Messwert bigtable.googleapis.com/client/first_response_latencies
Definition Latenzen ab dem Zeitpunkt, zu dem ein Client eine Anfrage sendet und 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 erreichen konnten. Normalerweise ist dieser Wert 0. Wenn die Zahl nicht 0 ist, kann dies 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 entstehen, wenn der Client das Senden von mehr Anfragen an den Server aufgrund zu vieler ausstehender Anfragen in einem Bulk-Vorgang blockiert. Ab Version 2.21.0 enthält dieser Messwert auch die Latenzen von Anfragen, die auf gRPC-Kanälen in die Warteschlange gestellt wurden.
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