sm::description("rewritten bytes due to reclaim")),
sm::make_counter("reclaimed_segment_bytes", stats.reclaimed_segment_bytes,
sm::description("rewritten bytes due to reclaim")),
+ sm::make_counter("closed_journal_used_bytes", stats.closed_journal_used_bytes,
+ sm::description("used bytes when close a journal segment")),
+ sm::make_counter("closed_journal_total_bytes", stats.closed_journal_total_bytes,
+ sm::description("total bytes of closed journal segments")),
+ sm::make_counter("closed_ool_used_bytes", stats.closed_ool_used_bytes,
+ sm::description("used bytes when close a ool segment")),
+ sm::make_counter("closed_ool_total_bytes", stats.closed_ool_total_bytes,
+ sm::description("total bytes of closed ool segments")),
sm::make_gauge("available_ratio",
[this] { return segments.get_available_ratio(); },
LOG_PREFIX(SegmentCleaner::close_segment);
auto old_usage = calc_utilization(segment);
segments.mark_closed(segment);
+ auto &seg_info = segments[segment];
+ if (seg_info.type == segment_type_t::JOURNAL) {
+ stats.closed_journal_used_bytes += space_tracker->get_usage(segment);
+ stats.closed_journal_total_bytes += segments.get_segment_size();
+ } else {
+ stats.closed_ool_used_bytes += space_tracker->get_usage(segment);
+ stats.closed_ool_total_bytes += segments.get_segment_size();
+ }
auto new_usage = calc_utilization(segment);
adjust_segment_util(old_usage, new_usage);
INFO("closed, should_block_on_gc {}, projected_avail_ratio {}, "
uint64_t projected_count = 0;
uint64_t projected_used_bytes_sum = 0;
+ uint64_t closed_journal_used_bytes = 0;
+ uint64_t closed_journal_total_bytes = 0;
+ uint64_t closed_ool_used_bytes = 0;
+ uint64_t closed_ool_total_bytes = 0;
+
uint64_t io_blocking_num = 0;
uint64_t io_count = 0;
uint64_t io_blocked_count = 0;