mon/PGMap: add data/omap breakouts for 'df detail' view

Signed-off-by: Sage Weil <sage@redhat.com>
This commit is contained in:
Sage Weil 2019-07-24 14:28:18 -05:00
parent ab2eb6b832
commit a076260e00
2 changed files with 33 additions and 1 deletions

View File

@ -759,8 +759,16 @@ void PGMapDigest::dump_pool_stats_full(
tbl.define_column("POOL", TextTable::LEFT, TextTable::LEFT);
tbl.define_column("ID", TextTable::LEFT, TextTable::RIGHT);
tbl.define_column("STORED", TextTable::LEFT, TextTable::RIGHT);
if (verbose) {
tbl.define_column("(DATA)", TextTable::LEFT, TextTable::RIGHT);
tbl.define_column("(OMAP)", TextTable::LEFT, TextTable::RIGHT);
}
tbl.define_column("OBJECTS", TextTable::LEFT, TextTable::RIGHT);
tbl.define_column("USED", TextTable::LEFT, TextTable::RIGHT);
if (verbose) {
tbl.define_column("(DATA)", TextTable::LEFT, TextTable::RIGHT);
tbl.define_column("(OMAP)", TextTable::LEFT, TextTable::RIGHT);
}
tbl.define_column("%USED", TextTable::LEFT, TextTable::RIGHT);
tbl.define_column("MAX AVAIL", TextTable::LEFT, TextTable::RIGHT);
@ -925,9 +933,17 @@ void PGMapDigest::dump_object_stat_sum(
auto stored_raw = stored_normalized * raw_used_rate;
if (f) {
f->dump_int("stored", stored_normalized);
if (verbose) {
f->dump_int("stored_data", stored_data_normalized);
f->dump_int("stored_omap", stored_omap_normalized);
}
f->dump_int("objects", sum.num_objects);
f->dump_int("kb_used", shift_round_up(used_bytes, 10));
f->dump_int("bytes_used", used_bytes);
if (verbose) {
f->dump_int("data_bytes_used", used_data_bytes);
f->dump_int("omap_bytes_used", used_omap_bytes);
}
f->dump_float("percent_used", used);
f->dump_unsigned("max_avail", avail_res);
if (verbose) {
@ -945,8 +961,16 @@ void PGMapDigest::dump_object_stat_sum(
}
} else {
tbl << stringify(byte_u_t(stored_normalized));
if (verbose) {
tbl << stringify(byte_u_t(stored_data_normalized));
tbl << stringify(byte_u_t(stored_omap_normalized));
}
tbl << stringify(si_u_t(sum.num_objects));
tbl << stringify(byte_u_t(used_bytes));
if (verbose) {
tbl << stringify(byte_u_t(used_data_bytes));
tbl << stringify(byte_u_t(used_omap_bytes));
}
tbl << percentify(used*100);
tbl << stringify(byte_u_t(avail_res));
if (verbose) {

View File

@ -25,7 +25,7 @@ namespace {
define_column("", TextTable::LEFT, TextTable::LEFT);
}
if (verbose) {
for (int i = 0; i < 5; i++) {
for (int i = 0; i < 9; i++) {
define_column("", TextTable::LEFT, TextTable::LEFT);
}
}
@ -90,8 +90,12 @@ TEST(pgmap, dump_object_stat_sum_0)
unsigned col = 0;
ASSERT_EQ(stringify(byte_u_t(stored)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(stored)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(stringify(si_u_t(sum.num_objects)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(statfs.allocated)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(statfs.allocated)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(percentify(used_percent), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(avail/copies_rate)), tbl.get(0, col++));
ASSERT_EQ(stringify(si_u_t(pool.quota_max_objects)), tbl.get(0, col++));
@ -120,8 +124,12 @@ TEST(pgmap, dump_object_stat_sum_1)
pool.get_size(), verbose, true, true, &pool);
unsigned col = 0;
ASSERT_EQ(stringify(byte_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(stringify(si_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(0)), tbl.get(0, col++));
ASSERT_EQ(percentify(0), tbl.get(0, col++));
ASSERT_EQ(stringify(byte_u_t(avail/pool.size)), tbl.get(0, col++));
ASSERT_EQ(stringify(si_u_t(pool.quota_max_objects)), tbl.get(0, col++));