From 0683f4cf8d506a84ca3a596a60132444b86c0e20 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Wed, 18 Sep 2019 15:24:07 +0100 Subject: [PATCH] osd: DynamicPerfStats cleanup Signed-off-by: Mykola Golub --- src/osd/DynamicPerfStats.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/osd/DynamicPerfStats.h b/src/osd/DynamicPerfStats.h index ff4bd98d942e..1c6c26c712d8 100644 --- a/src/osd/DynamicPerfStats.h +++ b/src/osd/DynamicPerfStats.h @@ -169,10 +169,15 @@ public: } void add_to_reports( - const std::map & limits, + const std::map &limits, std::map *reports) { for (auto &it : data) { auto &query = it.first; + auto limit_it = limits.find(query); + if (limit_it == limits.end()) { + continue; + } + auto &query_limits = limit_it->second; auto &counters = it.second; auto &report = (*reports)[query]; @@ -182,7 +187,7 @@ public: auto &descriptors = report.performance_counter_descriptors; ceph_assert(descriptors.size() > 0); - if (!is_limited(limits.at(query), counters.size())) { + if (!is_limited(query_limits, counters.size())) { for (auto &it_counters : counters) { auto &bl = report.group_packed_performance_counters[it_counters.first]; query.pack_counters(it_counters.second, &bl); @@ -190,7 +195,7 @@ public: continue; } - for (auto &limit : limits.at(query)) { + for (auto &limit : query_limits) { size_t index = 0; for (; index < descriptors.size(); index++) { if (descriptors[index] == limit.order_by) { -- 2.47.3