f->dump_unsigned("snaptrimq_len", snaptrimq_len);
f->dump_int("last_scrub_duration", last_scrub_duration);
f->dump_string("scrub_schedule", dump_scrub_schedule());
+ f->dump_float("scrub_duration", scrub_duration);
stats.dump(f);
f->open_array_section("up");
for (auto p = up.cbegin(); p != up.cend(); ++p)
encode((scrub_sched_status.m_is_deep==scrub_level_t::deep), bl);
encode(scrub_sched_status.m_is_periodic, bl);
encode(objects_scrubbed, bl);
+ encode(scrub_duration, bl);
ENCODE_FINISH(bl);
}
decode(tmp, bl);
scrub_sched_status.m_is_periodic = tmp;
decode(objects_scrubbed, bl);
+ decode(scrub_duration, bl);
}
}
DECODE_FINISH(bl);
a.last_deep_scrub_stamp = utime_t(15, 16);
a.last_clean_scrub_stamp = utime_t(17, 18);
a.last_scrub_duration = 3617;
+ a.scrub_duration = 0.003;
a.snaptrimq_len = 1048576;
a.objects_scrubbed = 0;
list<object_stat_collection_t*> l;
l.snaptrimq_len == r.snaptrimq_len &&
l.last_scrub_duration == r.last_scrub_duration &&
l.scrub_sched_status == r.scrub_sched_status &&
- l.objects_scrubbed == r.objects_scrubbed;
+ l.objects_scrubbed == r.objects_scrubbed &&
+ l.scrub_duration == r.scrub_duration;
}
// -- store_statfs_t --
int64_t log_size;
int64_t ondisk_log_size; // >= active_log_size
int64_t objects_scrubbed;
+ double scrub_duration;
std::vector<int32_t> up, acting;
std::vector<pg_shard_t> avail_no_missing;
parent_split_bits(0),
log_size(0), ondisk_log_size(0),
objects_scrubbed(0),
+ scrub_duration(0),
mapping_epoch(0),
up_primary(-1),
acting_primary(-1),