assert(!logger);
{
PerfCountersBuilder pcb(g_ceph_context, "mon", l_mon_first, l_mon_last);
- pcb.add_u64(l_mon_num_sessions, "num_sessions", "Current number of opened monitor sessions");
- pcb.add_u64_counter(l_mon_session_add, "session_add", "Number of created monitor sessions");
- pcb.add_u64_counter(l_mon_session_rm, "session_rm", "Number of remove_session calls in monitor");
- pcb.add_u64_counter(l_mon_session_trim, "session_trim", "Number of trimed monitor sessions");
- pcb.add_u64_counter(l_mon_num_elections, "num_elections", "Number of elections monitor took part in");
- pcb.add_u64_counter(l_mon_election_call, "election_call", "Number of elections started by monitor");
- pcb.add_u64_counter(l_mon_election_win, "election_win", "Number of elections won by monitor");
- pcb.add_u64_counter(l_mon_election_lose, "election_lose", "Number of elections lost by monitor");
+ pcb.add_u64(l_mon_num_sessions, "num_sessions", "Open sessions");
+ pcb.add_u64_counter(l_mon_session_add, "session_add", "Created sessions");
+ pcb.add_u64_counter(l_mon_session_rm, "session_rm", "Removed sessions");
+ pcb.add_u64_counter(l_mon_session_trim, "session_trim", "Trimmed sessions");
+ pcb.add_u64_counter(l_mon_num_elections, "num_elections", "Elections participated in");
+ pcb.add_u64_counter(l_mon_election_call, "election_call", "Elections started");
+ pcb.add_u64_counter(l_mon_election_win, "election_win", "Elections won");
+ pcb.add_u64_counter(l_mon_election_lose, "election_lose", "Elections lost");
logger = pcb.create_perf_counters();
cct->get_perfcounters_collection()->add(logger);
}
assert(!cluster_logger);
{
PerfCountersBuilder pcb(g_ceph_context, "cluster", l_cluster_first, l_cluster_last);
- pcb.add_u64(l_cluster_num_mon, "num_mon", "Number of monitors, registered on cluster");
- pcb.add_u64(l_cluster_num_mon_quorum, "num_mon_quorum", "Number of monitors in quorum");
- pcb.add_u64(l_cluster_num_osd, "num_osd", "Total number of OSD");
- pcb.add_u64(l_cluster_num_osd_up, "num_osd_up", "Number of OSDs that are up");
- pcb.add_u64(l_cluster_num_osd_in, "num_osd_in", "Number of OSD in state \"in\" (they are in cluster)");
+ pcb.add_u64(l_cluster_num_mon, "num_mon", "Monitors");
+ pcb.add_u64(l_cluster_num_mon_quorum, "num_mon_quorum", "Monitors in quorum");
+ pcb.add_u64(l_cluster_num_osd, "num_osd", "OSDs");
+ pcb.add_u64(l_cluster_num_osd_up, "num_osd_up", "OSDs that are up");
+ pcb.add_u64(l_cluster_num_osd_in, "num_osd_in", "OSD in state \"in\" (they are in cluster)");
pcb.add_u64(l_cluster_osd_epoch, "osd_epoch", "Current epoch of OSD map");
- pcb.add_u64(l_cluster_osd_bytes, "osd_bytes", "Total capacity of cluster in bytes");
- pcb.add_u64(l_cluster_osd_bytes_used, "osd_bytes_used", "Number of used bytes on cluster");
- pcb.add_u64(l_cluster_osd_bytes_avail, "osd_bytes_avail", "Number of available bytes on cluster");
- pcb.add_u64(l_cluster_num_pool, "num_pool", "Number of pools");
- pcb.add_u64(l_cluster_num_pg, "num_pg", "Total number of placement groups");
- pcb.add_u64(l_cluster_num_pg_active_clean, "num_pg_active_clean", "Number of placement groups in active+clean state");
- pcb.add_u64(l_cluster_num_pg_active, "num_pg_active", "Number of placement groups in active state");
- pcb.add_u64(l_cluster_num_pg_peering, "num_pg_peering", "Number of placement groups in peering state");
- pcb.add_u64(l_cluster_num_object, "num_object", "Total number of objects on cluster");
- pcb.add_u64(l_cluster_num_object_degraded, "num_object_degraded", "Number of degraded (missing replicas) objects");
- pcb.add_u64(l_cluster_num_object_misplaced, "num_object_misplaced", "Number of misplaced (wrong location in the cluster) objects");
- pcb.add_u64(l_cluster_num_object_unfound, "num_object_unfound", "Number of unfound objects");
- pcb.add_u64(l_cluster_num_bytes, "num_bytes", "Total number of bytes of all objects");
- pcb.add_u64(l_cluster_num_mds_up, "num_mds_up", "Number of MDSs that are up");
- pcb.add_u64(l_cluster_num_mds_in, "num_mds_in", "Number of MDS in state \"in\" (they are in cluster)");
- pcb.add_u64(l_cluster_num_mds_failed, "num_mds_failed", "Number of failed MDS");
+ pcb.add_u64(l_cluster_osd_bytes, "osd_bytes", "Total capacity of cluster");
+ pcb.add_u64(l_cluster_osd_bytes_used, "osd_bytes_used", "Used space");
+ pcb.add_u64(l_cluster_osd_bytes_avail, "osd_bytes_avail", "Available space");
+ pcb.add_u64(l_cluster_num_pool, "num_pool", "Pools");
+ pcb.add_u64(l_cluster_num_pg, "num_pg", "Placement groups");
+ pcb.add_u64(l_cluster_num_pg_active_clean, "num_pg_active_clean", "Placement groups in active+clean state");
+ pcb.add_u64(l_cluster_num_pg_active, "num_pg_active", "Placement groups in active state");
+ pcb.add_u64(l_cluster_num_pg_peering, "num_pg_peering", "Placement groups in peering state");
+ pcb.add_u64(l_cluster_num_object, "num_object", "Objects");
+ pcb.add_u64(l_cluster_num_object_degraded, "num_object_degraded", "Degraded (missing replicas) objects");
+ pcb.add_u64(l_cluster_num_object_misplaced, "num_object_misplaced", "Misplaced (wrong location in the cluster) objects");
+ pcb.add_u64(l_cluster_num_object_unfound, "num_object_unfound", "Unfound objects");
+ pcb.add_u64(l_cluster_num_bytes, "num_bytes", "Size of all objects");
+ pcb.add_u64(l_cluster_num_mds_up, "num_mds_up", "MDSs that are up");
+ pcb.add_u64(l_cluster_num_mds_in, "num_mds_in", "MDS in state \"in\" (they are in cluster)");
+ pcb.add_u64(l_cluster_num_mds_failed, "num_mds_failed", "Failed MDS");
pcb.add_u64(l_cluster_mds_epoch, "mds_epoch", "Current epoch of MDS map");
cluster_logger = pcb.create_perf_counters();
}
PerfCountersBuilder osd_plb(cct, "osd", l_osd_first, l_osd_last);
- osd_plb.add_u64(l_osd_op_wip, "op_wip"); // rep ops currently being processed (primary)
-
- osd_plb.add_u64_counter(l_osd_op, "op"); // client ops
- osd_plb.add_u64_counter(l_osd_op_inb, "op_in_bytes"); // client op in bytes (writes)
- osd_plb.add_u64_counter(l_osd_op_outb, "op_out_bytes"); // client op out bytes (reads)
- osd_plb.add_time_avg(l_osd_op_lat, "op_latency"); // client op latency
- osd_plb.add_time_avg(l_osd_op_process_lat, "op_process_latency"); // client op process latency
-
- osd_plb.add_u64_counter(l_osd_op_r, "op_r"); // client reads
- osd_plb.add_u64_counter(l_osd_op_r_outb, "op_r_out_bytes"); // client read out bytes
- osd_plb.add_time_avg(l_osd_op_r_lat, "op_r_latency"); // client read latency
- osd_plb.add_time_avg(l_osd_op_r_process_lat, "op_r_process_latency"); // client read process latency
- osd_plb.add_u64_counter(l_osd_op_w, "op_w"); // client writes
- osd_plb.add_u64_counter(l_osd_op_w_inb, "op_w_in_bytes"); // client write in bytes
- osd_plb.add_time_avg(l_osd_op_w_rlat, "op_w_rlat"); // client write readable/applied latency
- osd_plb.add_time_avg(l_osd_op_w_lat, "op_w_latency"); // client write latency
- osd_plb.add_time_avg(l_osd_op_w_process_lat, "op_w_process_latency"); // client write process latency
- osd_plb.add_u64_counter(l_osd_op_rw, "op_rw"); // client rmw
- osd_plb.add_u64_counter(l_osd_op_rw_inb, "op_rw_in_bytes"); // client rmw in bytes
- osd_plb.add_u64_counter(l_osd_op_rw_outb,"op_rw_out_bytes"); // client rmw out bytes
- osd_plb.add_time_avg(l_osd_op_rw_rlat,"op_rw_rlat"); // client rmw readable/applied latency
- osd_plb.add_time_avg(l_osd_op_rw_lat, "op_rw_latency"); // client rmw latency
- osd_plb.add_time_avg(l_osd_op_rw_process_lat, "op_rw_process_latency"); // client rmw process latency
+ osd_plb.add_u64(l_osd_op_wip, "op_wip", "Replication operations currently being processed (primary)"); // rep ops currently being processed (primary)
+
+ osd_plb.add_u64_counter(l_osd_op, "op", "Client operations"); // client ops
+ osd_plb.add_u64_counter(l_osd_op_inb, "op_in_bytes", "Client operations total write size"); // client op in bytes (writes)
+ osd_plb.add_u64_counter(l_osd_op_outb, "op_out_bytes", "Client operations total read size"); // client op out bytes (reads)
+ osd_plb.add_time_avg(l_osd_op_lat, "op_latency", "Latency of client operations (including queue time)"); // client op latency
+ osd_plb.add_time_avg(l_osd_op_process_lat, "op_process_latency", "Latency of client operations (excluding queue time)"); // client op process latency
+
+ osd_plb.add_u64_counter(l_osd_op_r, "op_r", "Client read operations"); // client reads
+ osd_plb.add_u64_counter(l_osd_op_r_outb, "op_r_out_bytes", "Client data read"); // client read out bytes
+ osd_plb.add_time_avg(l_osd_op_r_lat, "op_r_latency", "Latency of read operation (including queue time)"); // client read latency
+ osd_plb.add_time_avg(l_osd_op_r_process_lat, "op_r_process_latency", "Latency of read operation (excluding queue time)"); // client read process latency
+ osd_plb.add_u64_counter(l_osd_op_w, "op_w", "Client write operations"); // client writes
+ osd_plb.add_u64_counter(l_osd_op_w_inb, "op_w_in_bytes", "Client data written"); // client write in bytes
+ osd_plb.add_time_avg(l_osd_op_w_rlat, "op_w_rlat", "Client write operation readable/applied latency"); // client write readable/applied latency
+ osd_plb.add_time_avg(l_osd_op_w_lat, "op_w_latency", "Latency of write operation (including queue time)"); // client write latency
+ osd_plb.add_time_avg(l_osd_op_w_process_lat, "op_w_process_latency", "Latency of write operation (excluding queue time)"); // client write process latency
+ osd_plb.add_u64_counter(l_osd_op_rw, "op_rw", "Client read-modify-write operations"); // client rmw
+ osd_plb.add_u64_counter(l_osd_op_rw_inb, "op_rw_in_bytes", "Client read-modify-write operations write in"); // client rmw in bytes
+ osd_plb.add_u64_counter(l_osd_op_rw_outb,"op_rw_out_bytes", "Client read-modify-write operations read out "); // client rmw out bytes
+ osd_plb.add_time_avg(l_osd_op_rw_rlat,"op_rw_rlat", "Client read-modify-write operation readable/applied latency"); // client rmw readable/applied latency
+ osd_plb.add_time_avg(l_osd_op_rw_lat, "op_rw_latency", "Latency of read-modify-write operation (including queue time)"); // client rmw latency
+ osd_plb.add_time_avg(l_osd_op_rw_process_lat, "op_rw_process_latency", "Latency of read-modify-write operation (excluding queue time)"); // client rmw process latency
osd_plb.add_u64_counter(l_osd_sop, "subop"); // subops
osd_plb.add_u64_counter(l_osd_sop_inb, "subop_in_bytes"); // subop in bytes
osd_plb.add_u64_counter(l_osd_sop_push_inb, "subop_push_in_bytes");
osd_plb.add_time_avg(l_osd_sop_push_lat, "subop_push_latency");
- osd_plb.add_u64_counter(l_osd_pull, "pull"); // pull requests sent
- osd_plb.add_u64_counter(l_osd_push, "push"); // push messages
- osd_plb.add_u64_counter(l_osd_push_outb, "push_out_bytes"); // pushed bytes
+ osd_plb.add_u64_counter(l_osd_pull, "pull", "Pull requests sent"); // pull requests sent
+ osd_plb.add_u64_counter(l_osd_push, "push", "Push messages sent"); // push messages
+ osd_plb.add_u64_counter(l_osd_push_outb, "push_out_bytes", "Pushed size"); // pushed bytes
- osd_plb.add_u64_counter(l_osd_push_in, "push_in"); // inbound push messages
- osd_plb.add_u64_counter(l_osd_push_inb, "push_in_bytes"); // inbound pushed bytes
+ osd_plb.add_u64_counter(l_osd_push_in, "push_in", "Inbound push messages"); // inbound push messages
+ osd_plb.add_u64_counter(l_osd_push_inb, "push_in_bytes", "Inbound pushed size"); // inbound pushed bytes
- osd_plb.add_u64_counter(l_osd_rop, "recovery_ops"); // recovery ops (started)
+ osd_plb.add_u64_counter(l_osd_rop, "recovery_ops", "Started recovery operations"); // recovery ops (started)
- osd_plb.add_u64(l_osd_loadavg, "loadavg");
- osd_plb.add_u64(l_osd_buf, "buffer_bytes"); // total ceph::buffer bytes
+ osd_plb.add_u64(l_osd_loadavg, "loadavg", "CPU load");
+ osd_plb.add_u64(l_osd_buf, "buffer_bytes", "Total allocated buffer size"); // total ceph::buffer bytes
- osd_plb.add_u64(l_osd_pg, "numpg"); // num pgs
- osd_plb.add_u64(l_osd_pg_primary, "numpg_primary"); // num primary pgs
- osd_plb.add_u64(l_osd_pg_replica, "numpg_replica"); // num replica pgs
- osd_plb.add_u64(l_osd_pg_stray, "numpg_stray"); // num stray pgs
- osd_plb.add_u64(l_osd_hb_to, "heartbeat_to_peers"); // heartbeat peers we send to
- osd_plb.add_u64(l_osd_hb_from, "heartbeat_from_peers"); // heartbeat peers we recv from
+ osd_plb.add_u64(l_osd_pg, "numpg", "Placement groups"); // num pgs
+ osd_plb.add_u64(l_osd_pg_primary, "numpg_primary", "Placement groups for which this osd is primary"); // num primary pgs
+ osd_plb.add_u64(l_osd_pg_replica, "numpg_replica", "Placement groups for which this osd is replica"); // num replica pgs
+ osd_plb.add_u64(l_osd_pg_stray, "numpg_stray", "Placement groups ready to be deleted from this osd"); // num stray pgs
+ osd_plb.add_u64(l_osd_hb_to, "heartbeat_to_peers", "Heartbeat (ping) peers we send to"); // heartbeat peers we send to
+ osd_plb.add_u64(l_osd_hb_from, "heartbeat_from_peers", "Heartbeat (ping) peers we recv from"); // heartbeat peers we recv from
osd_plb.add_u64_counter(l_osd_map, "map_messages"); // osdmap messages
osd_plb.add_u64_counter(l_osd_mape, "map_message_epochs"); // osdmap epochs
osd_plb.add_u64_counter(l_osd_mape_dup, "map_message_epoch_dups"); // dup osdmap epochs