// scrub (no EC vs. replicated differentiation)
// scrub - replicated pools
- osd_plb.add_u64_counter(l_osd_scrub_rppool_active_started, "num_scrubs_past_reservation_replicated", "scrubs count replicated");
+ osd_plb.add_u64_counter(l_osd_scrub_rppool_started, "num_scrubs_started_replicated", "replicated scrubs attempted count");
+ osd_plb.add_u64_counter(l_osd_scrub_rppool_active_started, "num_scrubs_past_reservation_replicated", "replicated scrubs count");
+ osd_plb.add_u64_counter(l_osd_scrub_rppool_successful, "successful_scrubs_replicated", "successful replicated scrubs count");
+ osd_plb.add_time_avg(l_osd_scrub_rppool_successful_elapsed, "successful_scrubs_replicated_elapsed", "time to complete a successful replicated scrub");
+ osd_plb.add_u64_counter(l_osd_scrub_rppool_failed, "failed_scrubs_replicated", "failed replicated scrubs count");
+ osd_plb.add_time_avg(l_osd_scrub_rppool_failed_elapsed, "failed_scrubs_replicated_elapsed", "time to scrub failure replicated");
+
// scrub - EC
+ osd_plb.add_u64_counter(l_osd_scrub_ec_started, "num_scrubs_started_ec", "scrubs attempted count ec");
osd_plb.add_u64_counter(l_osd_scrub_ec_active_started, "num_scrubs_past_reservation_ec", "scrubs count ec");
+ osd_plb.add_u64_counter(l_osd_scrub_ec_successful, "successful_scrubs_ec", "successful scrubs count ec");
+ osd_plb.add_time_avg(l_osd_scrub_ec_successful_elapsed, "successful_scrubs_ec_elapsed", "time to complete a successful ec scrub");
+ osd_plb.add_u64_counter(l_osd_scrub_ec_failed, "failed_scrubs_ec", "failed scrubs count ec");
+ osd_plb.add_time_avg(l_osd_scrub_ec_failed_elapsed, "failed_scrubs_ec_elapsed", "time to scrub failure ec");
return osd_plb.create_perf_counters();
}
scrub_perf.set_prio_default(PerfCountersBuilder::PRIO_INTERESTING);
- scrub_perf.add_u64_counter(scrbcnt_started, "num_scrubs_started", "scrubs attempted count");
- scrub_perf.add_u64_counter(scrbcnt_failed, "failed_scrubs", "failed scrubs count");
- scrub_perf.add_u64_counter(scrbcnt_successful, "successful_scrubs", "successful scrubs count");
- scrub_perf.add_time_avg(scrbcnt_failed_elapsed, "failed_scrubs_elapsed", "time to scrub failure");
- scrub_perf.add_time_avg(scrbcnt_successful_elapsed, "successful_scrubs_elapsed", "time to scrub completion");
-
scrub_perf.add_u64_counter(scrbcnt_preempted, "preemptions", "preemptions on scrubs");
scrub_perf.add_u64_counter(scrbcnt_chunks_selected, "chunk_selected", "chunk selection during scrubs");
scrub_perf.add_u64_counter(scrbcnt_chunks_busy, "chunk_busy", "chunk busy during scrubs");
l_osd_scrub_omapgetheader_bytes, ///< bytes read by omap get header
l_osd_scrub_omapget_cnt, ///< omap get calls count
l_osd_scrub_omapget_bytes, ///< total bytes read by omap get
- // scrub I/O - replicated pools
+
+ // ---- scrub I/O - replicated pools
l_osd_scrub_rppool_getattr_cnt, ///< get_attr calls count
l_osd_scrub_rppool_stats_cnt, ///< stats calls count
l_osd_scrub_rppool_read_cnt, ///< read calls count
l_osd_scrub_rppool_read_bytes, ///< total bytes read
- // scrub I/O - EC
+
+ // ---- scrub I/O - EC
l_osd_scrub_ec_getattr_cnt, ///< get_attr calls count
l_osd_scrub_ec_stats_cnt, ///< stats calls count
l_osd_scrub_ec_read_cnt, ///< read calls count
l_osd_scrub_ec_read_bytes, ///< total bytes read
- // scrub (no EC vs. replicated differentiation)
- // scrub - replicated pools
+ // ---- scrub - replicated pools
+ l_osd_scrub_rppool_started, ///< scrubs that got started
l_osd_scrub_rppool_active_started, ///< scrubs that got past replicas reservation
+ l_osd_scrub_rppool_successful, ///< successful scrubs count
+ l_osd_scrub_rppool_successful_elapsed, ///< time to complete a successful scrub
+ l_osd_scrub_rppool_failed, ///< failed scrubs count
+ l_osd_scrub_rppool_failed_elapsed, ///< time from start to failure
+
// scrub - EC
+ l_osd_scrub_ec_started, ///< scrubs that got started
l_osd_scrub_ec_active_started, /// scrubs that got past secondaries reservation
+ l_osd_scrub_ec_successful, ///< successful scrubs count
+ l_osd_scrub_ec_successful_elapsed, ///< time to complete a successful scrub
+ l_osd_scrub_ec_failed, ///< failed scrubs count
+ l_osd_scrub_ec_failed_elapsed, ///< time from start to failure
l_osd_last,
};
enum {
scrbcnt_first = 20500,
- // -- basic statistics --
- /// The number of times we started a scrub
- scrbcnt_started,
- /// # successful scrubs
- scrbcnt_successful,
- /// time to complete a successful scrub
- scrbcnt_successful_elapsed,
- /// # failed scrubs
- scrbcnt_failed,
- /// time for a scrub to fail
- scrbcnt_failed_elapsed,
-
// -- interruptions of various types
/// # preemptions
scrbcnt_preempted,
.omapgetheader_bytes = l_osd_scrub_omapgetheader_bytes,
.omapget_cnt = l_osd_scrub_omapget_cnt,
.omapget_bytes = l_osd_scrub_omapget_bytes,
- .active_started_cnt = l_osd_scrub_rppool_active_started
+ .started_cnt = l_osd_scrub_rppool_started,
+ .active_started_cnt = l_osd_scrub_rppool_active_started,
+ .successful_cnt = l_osd_scrub_rppool_successful,
+ .successful_elapsed = l_osd_scrub_rppool_successful_elapsed,
+ .failed_cnt = l_osd_scrub_rppool_failed,
+ .failed_elapsed = l_osd_scrub_rppool_failed_elapsed
};
static inline constexpr ScrubCounterSet io_counters_ec{
.omapgetheader_bytes = l_osd_scrub_omapgetheader_bytes,
.omapget_cnt = l_osd_scrub_omapget_cnt,
.omapget_bytes = l_osd_scrub_omapget_bytes,
- .active_started_cnt = l_osd_scrub_ec_active_started
+ .started_cnt = l_osd_scrub_ec_started,
+ .active_started_cnt = l_osd_scrub_ec_active_started,
+ .successful_cnt = l_osd_scrub_ec_successful,
+ .successful_elapsed = l_osd_scrub_ec_successful_elapsed,
+ .failed_cnt = l_osd_scrub_ec_failed,
+ .failed_elapsed = l_osd_scrub_ec_failed_elapsed
};
} // namespace Scrub
m_perf_set = scrbr->get_labeled_counters();
m_osd_counters = scrbr->get_osd_perf_counters();
m_counters_idx = &scrbr->get_unlabeled_counters();
- m_perf_set->inc(scrbcnt_started);
+ m_osd_counters->inc(m_counters_idx->started_cnt);
}
Session::~Session()
osd_counter_idx_t omapgetheader_bytes; ///< bytes read by omap get header
osd_counter_idx_t omapget_cnt; ///< omap get calls count
osd_counter_idx_t omapget_bytes; ///< total bytes read by omap get
+ osd_counter_idx_t started_cnt; ///< the number of times we started a scrub
osd_counter_idx_t active_started_cnt; ///< scrubs that got past reservation
+ osd_counter_idx_t successful_cnt; ///< successful scrubs count
+ osd_counter_idx_t successful_elapsed; ///< time to complete a successful scrub
+ osd_counter_idx_t failed_cnt; ///< failed scrubs count
+ osd_counter_idx_t failed_elapsed; ///< time from start to failure
};
} // namespace Scrub