From: Sage Weil Date: Wed, 24 Jul 2019 19:28:18 +0000 (-0500) Subject: mon/PGMap: add data/omap breakouts for 'df detail' view X-Git-Tag: v15.1.0~1915^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a076260e0088a5bbe3b1491b5bc9c84d3d6ed127;p=ceph.git mon/PGMap: add data/omap breakouts for 'df detail' view Signed-off-by: Sage Weil --- diff --git a/src/mon/PGMap.cc b/src/mon/PGMap.cc index 3210b7ce5032..606afe88ec2a 100644 --- a/src/mon/PGMap.cc +++ b/src/mon/PGMap.cc @@ -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) { diff --git a/src/test/mon/PGMap.cc b/src/test/mon/PGMap.cc index 70535b404159..7280601fc3ac 100644 --- a/src/test/mon/PGMap.cc +++ b/src/test/mon/PGMap.cc @@ -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++));