Metrik sisi klien HBase lama

Halaman ini menjelaskan kumpulan metrik sisi klien yang telah diganti dengan metrik sisi klien bawaan. Halaman ini dikelola sebagai referensi bagi developer yang masih menggunakan metrik lama.

Sebaiknya gunakan metrik sisi klien bawaan yang dijelaskan dalam Ringkasan metrik sisi klien, bukan metrik lama yang dijelaskan di halaman ini.

Aktifkan metrik

Informasi ini diberikan untuk pelanggan yang menggunakan metrik lama. Untuk mengaktifkan metrik sisi klien bawaan yang lebih baru, lihat Menyiapkan metrik sisi klien.

Klien Cloud Bigtable HBase untuk Java menggunakan Dropwizard Metrics untuk mengumpulkan dan melaporkan metrik sisi klien. Karena pengumpulan metrik dapat menambahkan sejumlah kecil latensi (satu digit mikrodetik) ke setiap permintaan, metrik tidak diaktifkan secara default. Bagian berikut menjelaskan cara mengaktifkan metrik sisi klien lama.

Menggunakan reporter Log4j

Cara termudah untuk mengaktifkan metrik sisi klien lama adalah dengan menambahkan baris berikut ke file konfigurasi Log4j Anda:

log4j.category.com.google.cloud.bigtable.metrics=DEBUG

Setelan konfigurasi ini mengaktifkan pengumpulan metrik dan mencatat metrik Bigtable dengan SLF4J logger.

Gunakan reporter lain

Anda dapat menggunakan jenis pelapor lain dengan memperbarui kode aplikasi Anda. Misalnya, berikut adalah reporter yang mengirim metrik ke server 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);

Metrik Dropwizard menyediakan reporter untuk JMX, logging konsol, SLF4J, dan CSV. Ada juga berbagai reporter pihak ketiga yang tersedia.

Metrik yang tersedia

Bagian ini menjelaskan metrik yang tersedia saat metrik sisi klien HBase lama diaktifkan. Setiap metrik memiliki salah satu jenis berikut:

  • Penghitung: Jumlah kumulatif per mesin virtual Java (JVM).
  • Meter: Menghitung informasi plus informasi throughput (jumlah per menit, 5 menit, atau 15 menit terakhir)
  • Timer: Informasi pengukur plus informasi latensi (seperti median, rata-rata, dan persentil ke-95)

Hanya metrik tertentu yang dikumpulkan untuk setiap jenis permintaan. Lihat "Contoh: Metrik untuk permintaan Put" untuk mengetahui contoh metrik yang dikumpulkan selama permintaan Put.

Metrik tingkat channel

Jenis Nama Deskripsi
Penghitung google-cloud-bigtable.sessions.active Jumlah BigtableSession yang dibuka. Setiap Connection HBase memiliki satu BigtableSession.
Penghitung google-cloud-bigtable.grpc.channel.active Jumlah saluran gRPC/Netty tingkat rendah yang dibuka. Setiap BigtableSession memiliki banyak saluran gRPC.

Metrik RPC umum

Jenis Nama Deskripsi
Penghitung google-cloud-bigtable.grpc.rpc.active Jumlah remote prosedur call (RPC) yang saat ini aktif.
Pengukur google-cloud-bigtable.grpc.rpc.performed Throughput RPC.

Metrik metode data

Metrik metode data dikumpulkan untuk metode data berikut:

  • ReadRows: Mengimplementasikan proses mendapatkan dan memindai.
  • MutateRow: Mengimplementasikan pelepasan dan penghapusan.
  • MutateRows: Mengimplementasikan penulisan massal.
  • CheckAndMutateRow: Mengimplementasikan metode checkAnd* HBase.
  • ReadModifyWrite: Mengimplementasikan metode Append dan Increment HBase.
  • SampleRowKeys: Mengambil informasi region yang digunakan untuk operasi MapReduce.
Jenis Nama Deskripsi
Timer google-cloud-bigtable.grpc.method.[METHOD_TYPE].operation.latency Durasi waktu yang dibutuhkan untuk setiap operasi. Operasi mencakup jumlah total latensi dari semua RPC yang dijalankan. (Biasanya hanya satu RPC yang dijalankan. Percobaan ulang sisi klien dapat menyebabkan RPC yang sama dilakukan lebih dari sekali jika ada error sementara.)
Timer google-cloud-bigtable.grpc.method.ReadRows.firstResponse.latency Durasi waktu yang diperlukan untuk menerima respons pertama atas permintaan pemindaian.
Pengukur google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.performed Jumlah percobaan ulang yang dilakukan.
Pengukur google-cloud-bigtable.grpc.method.[METHOD_TYPE].failures Jumlah kegagalan yang tidak dapat dicoba ulang.
Pengukur google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.exhausted Frekuensi percobaan ulang dibatalkan karena terlalu banyak percobaan ulang yang gagal.

Metrik massal

Metrik massal disediakan untuk metode yang menampilkan lebih dari satu respons, seperti penulisan massal.

Jenis Nama Deskripsi
Pengukur google-cloud-bigtable.scanner.results Throughput setiap baris yang ditampilkan oleh pemindaian.
Pengukur google-cloud-bigtable.bulk-mutator.mutations.added Throughput masing-masing mutasi yang ditambahkan untuk setiap permintaan MutateRows.
Pengukur google-cloud-bigtable.bulk-mutator.mutations.retried Jumlah mutasi individu yang dicoba lagi dari waktu ke waktu.

Metrik tabel Bigtable

Mengonversi objek Bigtable ke objek HBase dapat menambah latensi permintaan. Timer berikut dapat dikorelasikan dengan timer *.operation.latency yang ditentukan untuk mengukur biaya konversi.

Jenis Nama Deskripsi
Timer google-cloud-bigtable.table.put.latency Durasi waktu yang diperlukan untuk setiap operasi Put. Berkorelasi dengan google-cloud-bigtable.grpc.method.MutateRow.operation.latency.
Timer google-cloud-bigtable.table.get.latency Durasi waktu yang diperlukan untuk setiap operasi Get. Berkorelasi dengan google-cloud-bigtable.grpc.method.ReadRows.operation.latency.

Contoh: Metrik untuk permintaan Put

Jika metrik sisi klien diaktifkan, metrik berikut akan dikumpulkan untuk permintaan Put yang berhasil dan tidak dicoba lagi:

  • Penghitung: google-cloud-bigtable.grpc.rpc.active
  • Meter: google-cloud-bigtable.grpc.rpc.performed
  • Timer: google-cloud-bigtable.grpc.method.MutateRow.operation.latency
  • Timer: google-cloud-bigtable.table.put.latency

Pengumpulan metrik ini akan menambahkan sekitar 1 mikrodetik (1/1.000 milidetik) ke operasi Put. Keseluruhan operasi Put dapat berlangsung secepat 2 hingga 3 milidetik, dengan anggapan bahwa operasi tersebut menyertakan sekitar 1 KB data.