pcb.add_u64(l_cluster_num_pg_peering, "num_pg_peering");
pcb.add_u64(l_cluster_num_object, "num_object");
pcb.add_u64(l_cluster_num_object_degraded, "num_object_degraded");
+ pcb.add_u64(l_cluster_num_object_misplaced, "num_object_misplaced");
pcb.add_u64(l_cluster_num_object_unfound, "num_object_unfound");
pcb.add_u64(l_cluster_num_bytes, "num_bytes");
pcb.add_u64(l_cluster_num_mds_up, "num_mds_up");
void PGMap::dump_pg_stats_plain(ostream& ss,
const ceph::unordered_map<pg_t, pg_stat_t>& pg_stats) const
{
- ss << "pg_stat\tobjects\tmip\tdegr\tunf\tbytes\tlog\tdisklog\tstate\tstate_stamp\tv\treported\tup\tup_primary\tacting\tacting_primary\tlast_scrub\tscrub_stamp\tlast_deep_scrub\tdeep_scrub_stamp" << std::endl;
+ ss << "pg_stat\tobjects\tmip\tdegr\tmisp\tunf\tbytes\tlog\tdisklog\tstate\tstate_stamp\tv\treported\tup\tup_primary\tacting\tacting_primary\tlast_scrub\tscrub_stamp\tlast_deep_scrub\tdeep_scrub_stamp" << std::endl;
for (ceph::unordered_map<pg_t, pg_stat_t>::const_iterator i = pg_stats.begin();
i != pg_stats.end(); ++i) {
const pg_stat_t &st(i->second);
//<< "\t" << st.num_object_copies
<< "\t" << st.stats.sum.num_objects_missing_on_primary
<< "\t" << st.stats.sum.num_objects_degraded
+ << "\t" << st.stats.sum.num_objects_misplaced
<< "\t" << st.stats.sum.num_objects_unfound
<< "\t" << st.stats.sum.num_bytes
<< "\t" << st.log_size
}
first = false;
}
+ if (delta_sum.stats.sum.num_objects_misplaced) {
+ double pc = (double)delta_sum.stats.sum.num_objects_misplaced /
+ (double)delta_sum.stats.sum.num_object_copies * (double)100.0;
+ char b[20];
+ snprintf(b, sizeof(b), "%.3lf", pc);
+ if (f) {
+ f->dump_unsigned("misplaced_objects", delta_sum.stats.sum.num_objects_misplaced);
+ f->dump_unsigned("misplaced_total", delta_sum.stats.sum.num_object_copies);
+ f->dump_string("misplaced_ratio", b);
+ } else {
+ if (!first)
+ *out << "; ";
+ *out << delta_sum.stats.sum.num_objects_misplaced
+ << "/" << delta_sum.stats.sum.num_object_copies << " objects misplaced (" << b << "%)";
+ }
+ first = false;
+ }
if (delta_sum.stats.sum.num_objects_unfound) {
double pc = (double)delta_sum.stats.sum.num_objects_unfound /
(double)delta_sum.stats.sum.num_objects * (double)100.0;
mon->cluster_logger->set(l_cluster_num_object, pg_map.pg_sum.stats.sum.num_objects);
mon->cluster_logger->set(l_cluster_num_object_degraded, pg_map.pg_sum.stats.sum.num_objects_degraded);
+ mon->cluster_logger->set(l_cluster_num_object_misplaced, pg_map.pg_sum.stats.sum.num_objects_misplaced);
mon->cluster_logger->set(l_cluster_num_object_unfound, pg_map.pg_sum.stats.sum.num_objects_unfound);
mon->cluster_logger->set(l_cluster_num_bytes, pg_map.pg_sum.stats.sum.num_bytes);
}