diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 7913c41055d..795ec29d9a0 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -1395,8 +1395,13 @@ void OSDService::send_incremental_map(epoch_t since, Connection *con, bool OSDService::_get_map_bl(epoch_t e, bufferlist& bl) { bool found = map_bl_cache.lookup(e, &bl); - if (found) + if (found) { + if (logger) + logger->inc(l_osd_map_bl_cache_hit); return true; + } + if (logger) + logger->inc(l_osd_map_bl_cache_miss); found = store->read(coll_t::meta(), OSD::get_osdmap_pobject_name(e), 0, 0, bl) >= 0; if (found) @@ -1408,8 +1413,13 @@ bool OSDService::get_inc_map_bl(epoch_t e, bufferlist& bl) { Mutex::Locker l(map_cache_lock); bool found = map_bl_inc_cache.lookup(e, &bl); - if (found) + if (found) { + if (logger) + logger->inc(l_osd_map_bl_cache_hit); return true; + } + if (logger) + logger->inc(l_osd_map_bl_cache_miss); found = store->read(coll_t::meta(), OSD::get_inc_osdmap_pobject_name(e), 0, 0, bl) >= 0; if (found) @@ -2915,6 +2925,7 @@ void OSD::create_logger() osd_plb.add_u64_counter( l_osd_waiting_for_map, "messages_delayed_for_map", "Operations waiting for OSD map"); + osd_plb.add_u64_counter( l_osd_map_cache_hit, "osd_map_cache_hit", "osdmap cache hit"); osd_plb.add_u64_counter( @@ -2925,6 +2936,12 @@ void OSD::create_logger() osd_plb.add_u64_avg( l_osd_map_cache_miss_low_avg, "osd_map_cache_miss_low_avg", "osdmap cache miss, avg distance below cache lower bound"); + osd_plb.add_u64_counter( + l_osd_map_bl_cache_hit, "osd_map_bl_cache_hit", + "OSDMap buffer cache hits"); + osd_plb.add_u64_counter( + l_osd_map_bl_cache_miss, "osd_map_bl_cache_miss", + "OSDMap buffer cache misses"); osd_plb.add_u64(l_osd_stat_bytes, "stat_bytes", "OSD size"); osd_plb.add_u64(l_osd_stat_bytes_used, "stat_bytes_used", "Used space"); diff --git a/src/osd/OSD.h b/src/osd/OSD.h index cad51ed9264..ccf66d4a91d 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -131,6 +131,8 @@ enum { l_osd_map_cache_miss, l_osd_map_cache_miss_low, l_osd_map_cache_miss_low_avg, + l_osd_map_bl_cache_hit, + l_osd_map_bl_cache_miss, l_osd_stat_bytes, l_osd_stat_bytes_used,