"Maximum bytes allocated from DB");
b.add_u64_counter(l_bluefs_max_bytes_slow, "max_bytes_slow",
"Maximum bytes allocated from SLOW");
-
+ 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");
b.add_u64_counter(l_bluefs_read_random_bytes, "read_random_bytes",
get_block_device_size(BlueFS::BDEV_SLOW) * 95 / 100));
}
- _init_alloc();
_init_logger();
+ _init_alloc();
super.version = 0;
super.block_size = bdev[BDEV_DB]->get_block_size();
{
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]) {