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 metodecheckAnd*
HBase.ReadModifyWrite
: Mengimplementasikan metodeAppend
danIncrement
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.