Skip to content

Commit a927f6b

Browse files
Shreya Subramanianshreya subramanian
authored andcommitted
osd: Added perf counters for full and incremental maps
Added perf counters to track when OSDs receive full vs incremental OSDMaps. Useful for debugging cases where full maps are frequent and could degrade performance. Changes include updates to OSD.cc, osd_perf_counters.cc/h. Signed-off-by: Shreya Subramanian <[email protected]>
1 parent 458d886 commit a927f6b

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

src/osd/OSD.cc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8262,6 +8262,18 @@ void OSD::handle_osd_map(MOSDMap *m)
82628262
<< dendl;
82638263

82648264
logger->inc(l_osd_map);
8265+
if (!m->maps.empty()) {
8266+
logger->inc(l_osd_full_map_received, m->maps.size());
8267+
}
8268+
if (!m->incremental_maps.empty()) {
8269+
logger->inc(l_osd_inc_map_received, m->incremental_maps.size());
8270+
}
8271+
dout(10) << __func__
8272+
<< ": received " << m->maps.size() << " full maps "
8273+
<< "and " << m->incremental_maps.size()
8274+
<< " incremental maps"
8275+
<< dendl;
8276+
82658277
logger->inc(l_osd_mape, last - first + 1);
82668278
if (first <= superblock.get_newest_map())
82678279
logger->inc(l_osd_mape_dup, superblock.get_newest_map() - first + 1);

src/osd/osd_perf_counters.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,12 @@ PerfCounters *build_osd_logger(CephContext *cct) {
246246
osd_plb.add_u64(
247247
l_osd_hb_to, "heartbeat_to_peers", "Heartbeat (ping) peers we send to");
248248
osd_plb.add_u64_counter(l_osd_map, "map_messages", "OSD map messages");
249+
osd_plb.add_u64_counter(
250+
l_osd_full_map_received, "full_map_received",
251+
"number of full OSD map recieved via MOSDMap");
252+
osd_plb.add_u64_counter(
253+
l_osd_inc_map_received, "inc_map_received",
254+
"number of incremental OSD map recieved via MOSDMap");
249255
osd_plb.add_u64_counter(l_osd_mape, "map_message_epochs", "OSD map epochs");
250256
osd_plb.add_u64_counter(
251257
l_osd_mape_dup, "map_message_epoch_dups", "OSD map duplicates");

src/osd/osd_perf_counters.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ enum osd_counter_idx_t {
9191
l_osd_map,
9292
l_osd_mape,
9393
l_osd_mape_dup,
94+
l_osd_full_map_received,
95+
l_osd_inc_map_received,
9496

9597
l_osd_waiting_for_map,
9698

0 commit comments

Comments
 (0)