From e1d6e7f07c858628e47d618bc9d7cb983a6fce02 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Wed, 26 May 2021 18:29:11 +0300 Subject: [PATCH] os/bluestore: group perf counters, improve daemonperf output Improves both general usability and daemonperf output Signed-off-by: Igor Fedotov --- src/os/bluestore/BlueStore.cc | 295 ++++++++++++++++++++-------------- src/os/bluestore/BlueStore.h | 112 +++++++++---- 2 files changed, 252 insertions(+), 155 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 309a3af3c8e..d08e127bb83 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4927,106 +4927,176 @@ void BlueStore::_init_logger() { PerfCountersBuilder b(cct, "bluestore", l_bluestore_first, l_bluestore_last); - b.add_time_avg(l_bluestore_kv_flush_lat, "kv_flush_lat", - "Average kv_thread flush latency", - "kfll", PerfCountersBuilder::PRIO_INTERESTING); - b.add_time_avg(l_bluestore_kv_commit_lat, "kv_commit_lat", - "Average kv_thread commit latency", - "kcol", PerfCountersBuilder::PRIO_USEFUL); - b.add_time_avg(l_bluestore_kv_sync_lat, "kv_sync_lat", - "Average kv_sync thread latency", - "kscl", PerfCountersBuilder::PRIO_INTERESTING); - b.add_time_avg(l_bluestore_kv_final_lat, "kv_final_lat", - "Average kv_finalize thread latency", - "kfll", PerfCountersBuilder::PRIO_INTERESTING); + + // space utilization stats + //**************************************** + b.add_u64(l_bluestore_allocated, "allocated", + "Sum for allocated bytes"); + b.add_u64(l_bluestore_stored, "stored", + "Sum for stored bytes"); + b.add_u64(l_bluestore_fragmentation, "fragmentation_micros", + "How fragmented bluestore free space is (free extents / max possible number of free extents) * 1000"); + //**************************************** + + // Update op processing state latencies + //**************************************** b.add_time_avg(l_bluestore_state_prepare_lat, "state_prepare_lat", - "Average prepare state latency", - "sprl", PerfCountersBuilder::PRIO_USEFUL); + "Average prepare state latency", + "sprl", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_state_aio_wait_lat, "state_aio_wait_lat", "Average aio_wait state latency", "sawl", PerfCountersBuilder::PRIO_INTERESTING); b.add_time_avg(l_bluestore_state_io_done_lat, "state_io_done_lat", - "Average io_done state latency", - "sidl", PerfCountersBuilder::PRIO_USEFUL); + "Average io_done state latency", + "sidl", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_state_kv_queued_lat, "state_kv_queued_lat", - "Average kv_queued state latency", - "skql", PerfCountersBuilder::PRIO_USEFUL); + "Average kv_queued state latency", + "skql", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_state_kv_committing_lat, "state_kv_commiting_lat", - "Average kv_commiting state latency", - "skcl", PerfCountersBuilder::PRIO_USEFUL); + "Average kv_commiting state latency", + "skcl", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_state_kv_done_lat, "state_kv_done_lat", - "Average kv_done state latency", - "skdl", PerfCountersBuilder::PRIO_USEFUL); + "Average kv_done state latency", + "skdl", PerfCountersBuilder::PRIO_USEFUL); + b.add_time_avg(l_bluestore_state_finishing_lat, "state_finishing_lat", + "Average finishing state latency", + "sfnl", PerfCountersBuilder::PRIO_USEFUL); + b.add_time_avg(l_bluestore_state_done_lat, "state_done_lat", + "Average done state latency", + "sdnl", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_state_deferred_queued_lat, "state_deferred_queued_lat", - "Average deferred_queued state latency", - "sdql", PerfCountersBuilder::PRIO_USEFUL); + "Average deferred_queued state latency", + "sdql", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_state_deferred_aio_wait_lat, "state_deferred_aio_wait_lat", - "Average aio_wait state latency", - "sdal", PerfCountersBuilder::PRIO_USEFUL); + "Average aio_wait state latency", + "sdal", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_state_deferred_cleanup_lat, "state_deferred_cleanup_lat", - "Average cleanup state latency", - "sdcl", PerfCountersBuilder::PRIO_USEFUL); - b.add_time_avg(l_bluestore_state_finishing_lat, "state_finishing_lat", - "Average finishing state latency", - "sfnl", PerfCountersBuilder::PRIO_USEFUL); - b.add_time_avg(l_bluestore_state_done_lat, "state_done_lat", - "Average done state latency", - "sdnl", PerfCountersBuilder::PRIO_USEFUL); - b.add_time_avg(l_bluestore_throttle_lat, "throttle_lat", + "Average cleanup state latency", + "sdcl", PerfCountersBuilder::PRIO_USEFUL); + //**************************************** + + // Update Transaction stats + //**************************************** + b.add_time_avg(l_bluestore_throttle_lat, "txc_throttle_lat", "Average submit throttle latency", "th_l", PerfCountersBuilder::PRIO_CRITICAL); - b.add_time_avg(l_bluestore_submit_lat, "submit_lat", + b.add_time_avg(l_bluestore_submit_lat, "txc_submit_lat", "Average submit latency", "s_l", PerfCountersBuilder::PRIO_CRITICAL); - b.add_time_avg(l_bluestore_commit_lat, "commit_lat", + b.add_time_avg(l_bluestore_commit_lat, "txc_commit_lat", "Average commit latency", "c_l", PerfCountersBuilder::PRIO_CRITICAL); + b.add_u64_counter(l_bluestore_txc, "txc_count", "Transactions committed"); + //**************************************** + + // Read op stats + //**************************************** + b.add_time_avg(l_bluestore_read_onode_meta_lat, "read_onode_meta_lat", + "Average read onode metadata latency", + "roml", PerfCountersBuilder::PRIO_USEFUL); + b.add_time_avg(l_bluestore_read_wait_aio_lat, "read_wait_aio_lat", + "Average read I/O waiting latency", + "rwal", PerfCountersBuilder::PRIO_USEFUL); + b.add_time_avg(l_bluestore_csum_lat, "csum_lat", + "Average checksum latency", + "csml", PerfCountersBuilder::PRIO_USEFUL); + b.add_u64_counter(l_bluestore_read_eio, "read_eio", + "Read EIO errors propagated to high level callers"); + b.add_u64_counter(l_bluestore_reads_with_retries, "reads_with_retries", + "Read operations that required at least one retry due to failed checksum validation", + "rd_r", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_read_lat, "read_lat", "Average read latency", "r_l", PerfCountersBuilder::PRIO_CRITICAL); - b.add_time_avg(l_bluestore_read_onode_meta_lat, "read_onode_meta_lat", - "Average read onode metadata latency", - "roml", PerfCountersBuilder::PRIO_USEFUL); - b.add_time_avg(l_bluestore_read_wait_aio_lat, "read_wait_aio_lat", - "Average read latency", - "rwal", PerfCountersBuilder::PRIO_USEFUL); + //**************************************** + + // kv_thread latencies + //**************************************** + b.add_time_avg(l_bluestore_kv_flush_lat, "kv_flush_lat", + "Average kv_thread flush latency", + "kfsl", PerfCountersBuilder::PRIO_INTERESTING); + b.add_time_avg(l_bluestore_kv_commit_lat, "kv_commit_lat", + "Average kv_thread commit latency", + "kcol", PerfCountersBuilder::PRIO_USEFUL); + b.add_time_avg(l_bluestore_kv_sync_lat, "kv_sync_lat", + "Average kv_sync thread latency", + "kscl", PerfCountersBuilder::PRIO_INTERESTING); + b.add_time_avg(l_bluestore_kv_final_lat, "kv_final_lat", + "Average kv_finalize thread latency", + "kfll", PerfCountersBuilder::PRIO_INTERESTING); + //**************************************** + + // write op stats + //**************************************** + b.add_u64_counter(l_bluestore_write_big, "write_big", + "Large aligned writes into fresh blobs"); + b.add_u64_counter(l_bluestore_write_big_bytes, "write_big_bytes", + "Large aligned writes into fresh blobs (bytes)", NULL, 0, unit_t(UNIT_BYTES)); + b.add_u64_counter(l_bluestore_write_big_blobs, "write_big_blobs", + "Large aligned writes into fresh blobs (blobs)"); + b.add_u64_counter(l_bluestore_write_big_deferred, + "write_big_deferred", + "Big overwrites using deferred"); + + b.add_u64_counter(l_bluestore_write_small, "write_small", + "Small writes into existing or sparse small blobs"); + b.add_u64_counter(l_bluestore_write_small_bytes, "write_small_bytes", + "Small writes into existing or sparse small blobs (bytes)", NULL, 0, unit_t(UNIT_BYTES)); + b.add_u64_counter(l_bluestore_write_small_unused, + "write_small_unused", + "Small writes into unused portion of existing blob"); + b.add_u64_counter(l_bluestore_write_small_pre_read, + "write_small_pre_read", + "Small writes that required we read some data (possibly " + "cached) to fill out the block"); + + b.add_u64_counter(l_bluestore_write_pad_bytes, "write_pad_bytes", + "Sum for write-op padded bytes", NULL, 0, unit_t(UNIT_BYTES)); + b.add_u64_counter(l_bluestore_write_penalty_read_ops, "write_penalty_read_ops", + "Sum for write penalty read ops"); + b.add_u64_counter(l_bluestore_write_new, "write_new", + "Write into new blob"); + + b.add_u64_counter(l_bluestore_write_deferred, + "write_deferred", + "Total deferred writes submitted"); + b.add_u64_counter(l_bluestore_write_deferred_bytes, + "write_deferred_bytes", + "Total bytes submitted as deferred writes"); + b.add_u64_counter(l_bluestore_deferred_write_ops, "write_deferred_ops", + "Sum for deferred write op"); + b.add_u64_counter(l_bluestore_deferred_write_bytes, "write_deferred_bytes", + "Sum for deferred write bytes", "def", 0, unit_t(UNIT_BYTES)); + //**************************************** + + // compressions stats + //**************************************** + b.add_u64(l_bluestore_compressed, "compressed", + "Sum for stored compressed bytes", + "c", PerfCountersBuilder::PRIO_USEFUL, unit_t(UNIT_BYTES)); + b.add_u64(l_bluestore_compressed_allocated, "compressed_allocated", + "Sum for bytes allocated for compressed data", + "c_a", PerfCountersBuilder::PRIO_USEFUL, unit_t(UNIT_BYTES)); + b.add_u64(l_bluestore_compressed_original, "compressed_original", + "Sum for original bytes that were compressed", + "c_o", PerfCountersBuilder::PRIO_USEFUL, unit_t(UNIT_BYTES)); b.add_time_avg(l_bluestore_compress_lat, "compress_lat", - "Average compress latency", - "_cpl", PerfCountersBuilder::PRIO_USEFUL); + "Average compress latency", + "_cpl", PerfCountersBuilder::PRIO_USEFUL); b.add_time_avg(l_bluestore_decompress_lat, "decompress_lat", - "Average decompress latency", - "dcpl", PerfCountersBuilder::PRIO_USEFUL); - b.add_time_avg(l_bluestore_csum_lat, "csum_lat", - "Average checksum latency", - "csml", PerfCountersBuilder::PRIO_USEFUL); + "Average decompress latency", + "dcpl", PerfCountersBuilder::PRIO_USEFUL); b.add_u64_counter(l_bluestore_compress_success_count, "compress_success_count", - "Sum for beneficial compress ops"); + "Sum for beneficial compress ops"); b.add_u64_counter(l_bluestore_compress_rejected_count, "compress_rejected_count", - "Sum for compress ops rejected due to low net gain of space"); - b.add_u64_counter(l_bluestore_write_pad_bytes, "write_pad_bytes", - "Sum for write-op padded bytes", NULL, 0, unit_t(UNIT_BYTES)); - b.add_u64_counter(l_bluestore_deferred_write_ops, "deferred_write_ops", - "Sum for deferred write op"); - b.add_u64_counter(l_bluestore_deferred_write_bytes, "deferred_write_bytes", - "Sum for deferred write bytes", "def", 0, unit_t(UNIT_BYTES)); - b.add_u64_counter(l_bluestore_write_penalty_read_ops, "write_penalty_read_ops", - "Sum for write penalty read ops"); - b.add_u64(l_bluestore_allocated, "bluestore_allocated", - "Sum for allocated bytes"); - b.add_u64(l_bluestore_stored, "bluestore_stored", - "Sum for stored bytes"); - b.add_u64(l_bluestore_compressed, "bluestore_compressed", - "Sum for stored compressed bytes", - "c", PerfCountersBuilder::PRIO_USEFUL, unit_t(UNIT_BYTES)); - b.add_u64(l_bluestore_compressed_allocated, "bluestore_compressed_allocated", - "Sum for bytes allocated for compressed data", - "c_a", PerfCountersBuilder::PRIO_USEFUL, unit_t(UNIT_BYTES)); - b.add_u64(l_bluestore_compressed_original, "bluestore_compressed_original", - "Sum for original bytes that were compressed", - "c_o", PerfCountersBuilder::PRIO_USEFUL, unit_t(UNIT_BYTES)); - b.add_u64(l_bluestore_onodes, "bluestore_onodes", + "Sum for compress ops rejected due to low net gain of space"); + //**************************************** + + // onode cache stats + //**************************************** + b.add_u64(l_bluestore_onodes, "onodes", "Number of onodes in cache"); - b.add_u64(l_bluestore_pinned_onodes, "bluestore_pinned_onodes", + b.add_u64(l_bluestore_pinned_onodes, "onodes_pinned", "Number of pinned onodes in cache"); b.add_u64_counter(l_bluestore_onode_hits, "bluestore_onode_hits", "Count of onode cache lookup hits", @@ -5035,69 +5105,43 @@ void BlueStore::_init_logger() "Count of onode cache lookup misses", "o_ms", PerfCountersBuilder::PRIO_USEFUL); b.add_u64_counter(l_bluestore_onode_shard_hits, "bluestore_onode_shard_hits", - "Sum for onode-shard lookups hit in the cache"); + "Count of onode shard cache lookups hits"); b.add_u64_counter(l_bluestore_onode_shard_misses, - "bluestore_onode_shard_misses", - "Sum for onode-shard lookups missed in the cache"); - b.add_u64(l_bluestore_extents, "bluestore_extents", + "onode_shard_misses", + "Count of onode shard cache lookups misses"); + b.add_u64(l_bluestore_extents, "onode_extents", "Number of extents in cache"); - b.add_u64(l_bluestore_blobs, "bluestore_blobs", + b.add_u64(l_bluestore_blobs, "onode_blobs", "Number of blobs in cache"); - b.add_u64(l_bluestore_buffers, "bluestore_buffers", + //**************************************** + + // buffer cache stats + //**************************************** + b.add_u64(l_bluestore_buffers, "buffers", "Number of buffers in cache"); - b.add_u64(l_bluestore_buffer_bytes, "bluestore_buffer_bytes", + b.add_u64(l_bluestore_buffer_bytes, "buffer_bytes", "Number of buffer bytes in cache", NULL, 0, unit_t(UNIT_BYTES)); - b.add_u64_counter(l_bluestore_buffer_hit_bytes, "bluestore_buffer_hit_bytes", + b.add_u64_counter(l_bluestore_buffer_hit_bytes, "buffer_hit_bytes", "Sum for bytes of read hit in the cache", NULL, 0, unit_t(UNIT_BYTES)); - b.add_u64_counter(l_bluestore_buffer_miss_bytes, "bluestore_buffer_miss_bytes", + b.add_u64_counter(l_bluestore_buffer_miss_bytes, "buffer_miss_bytes", "Sum for bytes of read missed in the cache", NULL, 0, unit_t(UNIT_BYTES)); + //**************************************** - b.add_u64_counter(l_bluestore_write_big, "bluestore_write_big", - "Large aligned writes into fresh blobs"); - b.add_u64_counter(l_bluestore_write_big_bytes, "bluestore_write_big_bytes", - "Large aligned writes into fresh blobs (bytes)", NULL, 0, unit_t(UNIT_BYTES)); - b.add_u64_counter(l_bluestore_write_big_blobs, "bluestore_write_big_blobs", - "Large aligned writes into fresh blobs (blobs)"); - b.add_u64_counter(l_bluestore_write_big_deferred, - "bluestore_write_big_deferred", - "Big overwrites using deferred"); - b.add_u64_counter(l_bluestore_write_small, "bluestore_write_small", - "Small writes into existing or sparse small blobs"); - b.add_u64_counter(l_bluestore_write_small_bytes, "bluestore_write_small_bytes", - "Small writes into existing or sparse small blobs (bytes)", NULL, 0, unit_t(UNIT_BYTES)); - b.add_u64_counter(l_bluestore_write_small_unused, - "bluestore_write_small_unused", - "Small writes into unused portion of existing blob"); - b.add_u64_counter(l_bluestore_write_deferred, - "bluestore_write_deferred", - "Total deferred writes submitted"); - b.add_u64_counter(l_bluestore_write_deferred_bytes, - "bluestore_write_deferred_bytes", - "Total bytes submitted as deferred writes"); - b.add_u64_counter(l_bluestore_write_small_pre_read, - "bluestore_write_small_pre_read", - "Small writes that required we read some data (possibly " - "cached) to fill out the block"); - b.add_u64_counter(l_bluestore_write_new, "bluestore_write_new", - "Write into new blob"); - - b.add_u64_counter(l_bluestore_txc, "bluestore_txc", "Transactions committed"); - b.add_u64_counter(l_bluestore_onode_reshard, "bluestore_onode_reshard", + // internal stats + //**************************************** + b.add_u64_counter(l_bluestore_onode_reshard, "onode_reshard", "Onode extent map reshard events"); - b.add_u64_counter(l_bluestore_blob_split, "bluestore_blob_split", + b.add_u64_counter(l_bluestore_blob_split, "blob_split", "Sum for blob splitting due to resharding"); - b.add_u64_counter(l_bluestore_extent_compress, "bluestore_extent_compress", + b.add_u64_counter(l_bluestore_extent_compress, "extent_compress", "Sum for extents that have been removed due to compression"); - b.add_u64_counter(l_bluestore_gc_merged, "bluestore_gc_merged", + b.add_u64_counter(l_bluestore_gc_merged, "gc_merged", "Sum for extents that have been merged due to garbage " "collection"); - b.add_u64_counter(l_bluestore_read_eio, "bluestore_read_eio", - "Read EIO errors propagated to high level callers"); - b.add_u64_counter(l_bluestore_reads_with_retries, "bluestore_reads_with_retries", - "Read operations that required at least one retry due to failed checksum validation", - "rd_r", PerfCountersBuilder::PRIO_USEFUL); - b.add_u64(l_bluestore_fragmentation, "bluestore_fragmentation_micros", - "How fragmented bluestore free space is (free extents / max possible number of free extents) * 1000"); + //**************************************** + + // other client ops latencies + //**************************************** b.add_time_avg(l_bluestore_omap_seek_to_first_lat, "omap_seek_to_first_lat", "Average omap iterator seek_to_first call latency", "osfl", PerfCountersBuilder::PRIO_USEFUL); @@ -5122,6 +5166,7 @@ void BlueStore::_init_logger() b.add_time_avg(l_bluestore_remove_lat, "remove_lat", "Average removal latency", "rm_l", PerfCountersBuilder::PRIO_USEFUL); + //**************************************** // Resulting size axis configuration for op histograms, values are in bytes PerfHistogramCommon::axis_config_d alloc_hist_x_axis_config{ diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 0a157edce11..447fb0a19fd 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -70,41 +70,91 @@ class BlueStoreRepairer; enum { l_bluestore_first = 732430, - l_bluestore_kv_flush_lat, - l_bluestore_kv_commit_lat, - l_bluestore_kv_sync_lat, - l_bluestore_kv_final_lat, + // space utilization stats + //**************************************** + l_bluestore_allocated, + l_bluestore_stored, + l_bluestore_fragmentation, + //**************************************** + + // Update op processing state latencies + //**************************************** l_bluestore_state_prepare_lat, l_bluestore_state_aio_wait_lat, l_bluestore_state_io_done_lat, l_bluestore_state_kv_queued_lat, l_bluestore_state_kv_committing_lat, l_bluestore_state_kv_done_lat, + l_bluestore_state_finishing_lat, + l_bluestore_state_done_lat, + l_bluestore_state_deferred_queued_lat, l_bluestore_state_deferred_aio_wait_lat, l_bluestore_state_deferred_cleanup_lat, - l_bluestore_state_finishing_lat, - l_bluestore_state_done_lat, + + l_bluestore_commit_lat, + //**************************************** + + // Update Transaction stats + //**************************************** l_bluestore_throttle_lat, l_bluestore_submit_lat, - l_bluestore_commit_lat, - l_bluestore_read_lat, + l_bluestore_txc, + //**************************************** + + // Read op stats + //**************************************** l_bluestore_read_onode_meta_lat, l_bluestore_read_wait_aio_lat, - l_bluestore_compress_lat, - l_bluestore_decompress_lat, l_bluestore_csum_lat, - l_bluestore_compress_success_count, - l_bluestore_compress_rejected_count, + l_bluestore_read_eio, + l_bluestore_reads_with_retries, + l_bluestore_read_lat, + //**************************************** + + // kv_thread latencies + //**************************************** + l_bluestore_kv_flush_lat, + l_bluestore_kv_commit_lat, + l_bluestore_kv_sync_lat, + l_bluestore_kv_final_lat, + //**************************************** + + // write op stats + //**************************************** + l_bluestore_write_big, + l_bluestore_write_big_bytes, + l_bluestore_write_big_blobs, + l_bluestore_write_big_deferred, + + l_bluestore_write_small, + l_bluestore_write_small_bytes, + l_bluestore_write_small_unused, + l_bluestore_write_small_pre_read, + l_bluestore_write_pad_bytes, + l_bluestore_write_penalty_read_ops, + l_bluestore_write_new, + + l_bluestore_write_deferred, + l_bluestore_write_deferred_bytes, l_bluestore_deferred_write_ops, l_bluestore_deferred_write_bytes, - l_bluestore_write_penalty_read_ops, - l_bluestore_allocated, - l_bluestore_stored, + //**************************************** + + // compressions stats + //**************************************** l_bluestore_compressed, l_bluestore_compressed_allocated, l_bluestore_compressed_original, + l_bluestore_compress_lat, + l_bluestore_decompress_lat, + l_bluestore_compress_success_count, + l_bluestore_compress_rejected_count, + //**************************************** + + // onode cache stats + //**************************************** l_bluestore_onodes, l_bluestore_pinned_onodes, l_bluestore_onode_hits, @@ -113,29 +163,26 @@ enum { l_bluestore_onode_shard_misses, l_bluestore_extents, l_bluestore_blobs, + //**************************************** + + // buffer cache stats + //**************************************** l_bluestore_buffers, l_bluestore_buffer_bytes, l_bluestore_buffer_hit_bytes, l_bluestore_buffer_miss_bytes, - l_bluestore_write_big, - l_bluestore_write_big_bytes, - l_bluestore_write_big_blobs, - l_bluestore_write_big_deferred, - l_bluestore_write_small, - l_bluestore_write_small_bytes, - l_bluestore_write_small_unused, - l_bluestore_write_deferred, - l_bluestore_write_deferred_bytes, - l_bluestore_write_small_pre_read, - l_bluestore_write_new, - l_bluestore_txc, + //**************************************** + + // internal stats + //**************************************** l_bluestore_onode_reshard, l_bluestore_blob_split, l_bluestore_extent_compress, l_bluestore_gc_merged, - l_bluestore_read_eio, - l_bluestore_reads_with_retries, - l_bluestore_fragmentation, + //**************************************** + + // other client ops latencies + //**************************************** l_bluestore_omap_seek_to_first_lat, l_bluestore_omap_upper_bound_lat, l_bluestore_omap_lower_bound_lat, @@ -144,7 +191,12 @@ enum { l_bluestore_omap_get_values_lat, l_bluestore_clist_lat, l_bluestore_remove_lat, + //**************************************** + + // allocation stats + //**************************************** l_bluestore_allocate_hist, + //**************************************** l_bluestore_last }; -- 2.39.5