]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: dump bluefs alloc unit sizes with perf counters dump 44098/head
authorIgor Fedotov <igor.fedotov@croit.io>
Wed, 24 Nov 2021 17:33:23 +0000 (20:33 +0300)
committerIgor Fedotov <igor.fedotov@croit.io>
Wed, 24 Nov 2021 17:33:23 +0000 (20:33 +0300)
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
src/os/bluestore/BlueFS.cc
src/os/bluestore/BlueFS.h

index 87be13156fb663d38aac7b7e6b19b943482e4798..e4cad2d8d1be71b4724e0ab2edaa03885326c2c7 100644 (file)
@@ -280,6 +280,21 @@ void BlueFS::_init_logger()
                    "mxwb",
                    PerfCountersBuilder::PRIO_INTERESTING,
                    unit_t(UNIT_BYTES));
+  b.add_u64_counter(l_bluefs_main_alloc_unit, "alloc_unit_main",
+                   "Allocation unit size (in bytes) for primary/shared device",
+                   "aumb",
+                   PerfCountersBuilder::PRIO_CRITICAL,
+                   unit_t(UNIT_BYTES));
+  b.add_u64_counter(l_bluefs_db_alloc_unit, "alloc_unit_db",
+                   "Allocation unit size (in bytes) for standalone DB device",
+                   "audb",
+                   PerfCountersBuilder::PRIO_CRITICAL,
+                   unit_t(UNIT_BYTES));
+  b.add_u64_counter(l_bluefs_wal_alloc_unit, "alloc_unit_wal",
+                   "Allocation unit size (in bytes) for standalone WAL device",
+                   "auwb",
+                   PerfCountersBuilder::PRIO_CRITICAL,
+                   unit_t(UNIT_BYTES));
   b.add_u64_counter(l_bluefs_read_random_count, "read_random_count",
                    "random read requests processed",
                    NULL,
@@ -555,8 +570,8 @@ int BlueFS::mkfs(uuid_d osd_uuid, const bluefs_layout_t& layout)
         get_block_device_size(BlueFS::BDEV_SLOW) * 95 / 100));
   }
 
-  _init_alloc();
   _init_logger();
+  _init_alloc();
 
   super.version = 1;
   super.block_size = bdev[BDEV_DB]->get_block_size();
@@ -606,14 +621,22 @@ void BlueFS::_init_alloc()
 {
   dout(20) << __func__ << dendl;
 
+  size_t wal_alloc_size = 0;
   if (bdev[BDEV_WAL]) {
-    alloc_size[BDEV_WAL] = cct->_conf->bluefs_alloc_size;
+    wal_alloc_size = cct->_conf->bluefs_alloc_size;
+    alloc_size[BDEV_WAL] = wal_alloc_size;
   }
+  logger->set(l_bluefs_wal_alloc_unit, wal_alloc_size);
+
   if (bdev[BDEV_SLOW]) {
     alloc_size[BDEV_DB] = cct->_conf->bluefs_alloc_size;
     alloc_size[BDEV_SLOW] = cct->_conf->bluefs_shared_alloc_size;
+    logger->set(l_bluefs_db_alloc_unit, cct->_conf->bluefs_alloc_size);
+    logger->set(l_bluefs_main_alloc_unit, cct->_conf->bluefs_shared_alloc_size);
   } else {
     alloc_size[BDEV_DB] = cct->_conf->bluefs_shared_alloc_size;
+    logger->set(l_bluefs_main_alloc_unit, 0);
+    logger->set(l_bluefs_db_alloc_unit, cct->_conf->bluefs_shared_alloc_size);
   }
   // new wal and db devices are never shared
   if (bdev[BDEV_NEWWAL]) {
index caa99e9005ee526064fa30212d1daec93b35883b..76e105e8ef2b3275a24138779de945924ea616fa 100644 (file)
@@ -40,6 +40,9 @@ enum {
   l_bluefs_max_bytes_wal,
   l_bluefs_max_bytes_db,
   l_bluefs_max_bytes_slow,
+  l_bluefs_main_alloc_unit,
+  l_bluefs_db_alloc_unit,
+  l_bluefs_wal_alloc_unit,
   l_bluefs_read_random_count,
   l_bluefs_read_random_bytes,
   l_bluefs_read_random_disk_count,