]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
os/bluestore: group perf counters, improve daemonperf output
authorIgor Fedotov <ifed@suse.com>
Wed, 26 May 2021 15:29:11 +0000 (18:29 +0300)
committerIgor Fedotov <ifed@suse.com>
Wed, 10 Nov 2021 18:25:22 +0000 (21:25 +0300)
Improves both general usability and daemonperf output

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index 309a3af3c8e8530e37e23dd10d90387dc6491cbb..d08e127bb833673fee3c2e4e529ad07b01b1e59b 100644 (file)
@@ -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{
index 0a157edce1160e5519dc531297f31e88cbdb62bb..447fb0a19fdc91324b27becaa140ec88554c663c 100644 (file)
@@ -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
 };