Metrik sisi klien HBase lama

Halaman ini menjelaskan serangkaian 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 di Ringkasan metrik sisi klien, bukan metrik lama yang dijelaskan di halaman ini.

Mengaktifkan metrik

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

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

Menggunakan pelapor 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 logger SLF4J.

Menggunakan pelapor lain

Anda dapat menggunakan jenis pelapor lain dengan mengupdate kode aplikasi. Misalnya, berikut adalah pelapor 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);

Dropwizard Metrics menyediakan pelapor untuk JMX, logging konsol, SLF4J, dan CSV. Ada juga berbagai pelapor 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 Java Virtual Machine (JVM).
  • Meter: Informasi jumlah ditambah informasi throughput (jumlah per menit, 5 menit, atau 15 menit terakhir)
  • Timer: Informasi pengukur ditambah informasi latensi (seperti median, mean, dan persentil ke-95)

Hanya metrik tertentu yang dikumpulkan untuk setiap jenis permintaan. Lihat "Contoh: Metrik untuk permintaan Put" untuk 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 panggilan prosedur jarak jauh (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 get dan scan.
  • MutateRow: Mengimplementasikan operasi simpan dan hapus.
  • 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 diperlukan setiap operasi. Operasi mencakup jumlah total latensi dari semua RPC yang dilakukan. (Biasanya hanya satu RPC yang dilakukan. 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 terhadap permintaan pindai.
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 yang 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 setiap mutasi yang ditambahkan untuk setiap permintaan MutateRows.
Pengukur google-cloud-bigtable.bulk-mutator.mutations.retried Jumlah mutasi individual yang dicoba ulang dari waktu ke waktu.

Metrik tabel Bigtable

Mengonversi objek Bigtable menjadi 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 setiap operasi Put. Berkorelasi dengan google-cloud-bigtable.grpc.method.MutateRow.operation.latency.
Timer google-cloud-bigtable.table.get.latency Durasi waktu yang diperlukan 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

Mengumpulkan metrik ini akan menambahkan sekitar 1 mikrodetik (1/1000 dari milidetik) ke operasi Put. Operasi Put secara keseluruhan dapat secepat 2 hingga 3 milidetik, dengan asumsi bahwa operasi tersebut mencakup sekitar 1 KB data.