From: Sage Weil Date: Sat, 10 Dec 2016 23:00:46 +0000 (-0600) Subject: osd: remove 'rlat' read latency metrics X-Git-Tag: v12.0.0~334^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e94521638b13eccb7ad94c89d36b66b52fe7002a;p=ceph.git osd: remove 'rlat' read latency metrics These are measuring how long of a delay we see before ops are readable. They are calculated in the on_applied path, which we'd like to remove, and weren't reliably calculated anyway. Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 9c795aff7a4a..4f430384c5dc 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2521,8 +2521,6 @@ void OSD::create_logger() "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", @@ -2535,8 +2533,6 @@ void OSD::create_logger() "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", diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 7e089c9868be..28ecab2a5d6a 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -73,14 +73,12 @@ enum { l_osd_op_r_prepare_lat, l_osd_op_w, l_osd_op_w_inb, - l_osd_op_w_rlat, l_osd_op_w_lat, l_osd_op_w_process_lat, l_osd_op_w_prepare_lat, l_osd_op_rw, l_osd_op_rw_inb, l_osd_op_rw_outb, - l_osd_op_rw_rlat, l_osd_op_rw_lat, l_osd_op_rw_process_lat, l_osd_op_rw_prepare_lat, diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index c218f8cd1500..b89c30146806 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -3279,13 +3279,6 @@ void PrimaryLogPG::execute_ctx(OpContext *ctx) osd->send_message_osd_client(reply, m->get_connection()); ctx->sent_ack = true; } - - // note the write is now readable (for rlatency calc). note - // that this will only be defined if the write is readable - // _prior_ to being committed; it will not get set with - // writeahead journaling, for instance. - if (ctx->readable_stamp == utime_t()) - ctx->readable_stamp = ceph_clock_now(); }); ctx->register_on_commit( [m, ctx, this](){ @@ -3357,12 +3350,6 @@ void PrimaryLogPG::log_op_stats(OpContext *ctx) utime_t process_latency = now; process_latency -= ctx->op->get_dequeued_time(); - utime_t rlatency; - if (ctx->readable_stamp != utime_t()) { - rlatency = ctx->readable_stamp; - rlatency -= ctx->op->get_req()->get_recv_stamp(); - } - uint64_t inb = ctx->bytes_written; uint64_t outb = ctx->bytes_read; @@ -3379,8 +3366,6 @@ void PrimaryLogPG::log_op_stats(OpContext *ctx) osd->logger->inc(l_osd_op_rw_outb, outb); osd->logger->tinc(l_osd_op_rw_lat, latency); osd->logger->tinc(l_osd_op_rw_process_lat, process_latency); - if (rlatency != utime_t()) - osd->logger->tinc(l_osd_op_rw_rlat, rlatency); } else if (op->may_read()) { osd->logger->inc(l_osd_op_r); osd->logger->inc(l_osd_op_r_outb, outb); @@ -3391,15 +3376,12 @@ void PrimaryLogPG::log_op_stats(OpContext *ctx) osd->logger->inc(l_osd_op_w_inb, inb); osd->logger->tinc(l_osd_op_w_lat, latency); osd->logger->tinc(l_osd_op_w_process_lat, process_latency); - if (rlatency != utime_t()) - osd->logger->tinc(l_osd_op_w_rlat, rlatency); } else ceph_abort(); dout(15) << "log_op_stats " << *m << " inb " << inb << " outb " << outb - << " rlat " << rlatency << " lat " << latency << dendl; } diff --git a/src/osd/PrimaryLogPG.h b/src/osd/PrimaryLogPG.h index dee65e3024cd..943045667245 100644 --- a/src/osd/PrimaryLogPG.h +++ b/src/osd/PrimaryLogPG.h @@ -512,7 +512,6 @@ public: MOSDOpReply *reply; - utime_t readable_stamp; // when applied on all replicas PrimaryLogPG *pg; int num_read; ///< count read ops