From: Sage Weil Date: Fri, 16 Dec 2016 17:35:48 +0000 (-0500) Subject: common/TrackedOp: take option time arg X-Git-Tag: v12.0.0~45^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6ecea2165fe8f32a78cafe86b52915bd36856b4f;p=ceph.git common/TrackedOp: take option time arg Fix the callers to use this instead of calling into Tracker directly. Signed-off-by: Sage Weil --- diff --git a/src/common/TrackedOp.cc b/src/common/TrackedOp.cc index 82aa7881ac88..08a56a0af8a2 100644 --- a/src/common/TrackedOp.cc +++ b/src/common/TrackedOp.cc @@ -330,29 +330,27 @@ void OpTracker::mark_event(TrackedOp *op, const char *evt, *_dout << dendl; } -void TrackedOp::mark_event(const string &event) +void TrackedOp::mark_event_string(const string &event, utime_t stamp) { if (!state) return; - utime_t now = ceph_clock_now(); { Mutex::Locker l(lock); - events.push_back(Event(now, event)); + events.push_back(Event(stamp, event)); } tracker->mark_event(this, event.c_str()); _event_marked(); } -void TrackedOp::mark_event(const char *event) +void TrackedOp::mark_event(const char *event, utime_t stamp) { if (!state) return; - utime_t now = ceph_clock_now(g_ceph_context); { Mutex::Locker l(lock); - events.push_back(Event(now, event)); + events.push_back(Event(stamp, event)); } tracker->mark_event(this, event); _event_marked(); diff --git a/src/common/TrackedOp.h b/src/common/TrackedOp.h index 8dda99c65623..04c997bb2fff 100644 --- a/src/common/TrackedOp.h +++ b/src/common/TrackedOp.h @@ -249,8 +249,10 @@ public: return ceph_clock_now() - get_initiated(); } - void mark_event(const string &event); - void mark_event(const char *event); + void mark_event_string(const string &event, + utime_t stamp=ceph_clock_now()); + void mark_event(const char *event, + utime_t stamp=ceph_clock_now()); virtual const char *state_string() const { Mutex::Locker l(lock); diff --git a/src/mds/Mutation.h b/src/mds/Mutation.h index 8711d9f50a9b..a8f66465edf7 100644 --- a/src/mds/Mutation.h +++ b/src/mds/Mutation.h @@ -305,11 +305,11 @@ struct MDRequestImpl : public MutationImpl { waited_for_osdmap(false), _more(NULL) { in[0] = in[1] = NULL; if (!params.throttled.is_zero()) - tracker->mark_event(this, "throttled", params.throttled); + mark_event("throttled", params.throttled); if (!params.all_read.is_zero()) - tracker->mark_event(this, "all_read", params.all_read); + mark_event("all_read", params.all_read); if (!params.dispatched.is_zero()) - tracker->mark_event(this, "dispatched", params.dispatched); + mark_event("dispatched", params.dispatched); } ~MDRequestImpl(); diff --git a/src/mon/MonOpRequest.h b/src/mon/MonOpRequest.h index af7b23f6bb56..09ac511700e4 100644 --- a/src/mon/MonOpRequest.h +++ b/src/mon/MonOpRequest.h @@ -95,10 +95,10 @@ private: forwarded_to_leader(false), op_type(OP_TYPE_NONE) { - tracker->mark_event(this, "header_read", request->get_recv_stamp()); - tracker->mark_event(this, "throttled", request->get_throttle_stamp()); - tracker->mark_event(this, "all_read", request->get_recv_complete_stamp()); - tracker->mark_event(this, "dispatched", request->get_dispatch_stamp()); + mark_event("header_read", request->get_recv_stamp()); + mark_event("throttled", request->get_throttle_stamp()); + mark_event("all_read", request->get_recv_complete_stamp()); + mark_event("dispatched", request->get_dispatch_stamp()); if (req) { con = req->get_connection(); diff --git a/src/osd/OpRequest.cc b/src/osd/OpRequest.cc index 099ca5f3d454..bd4c82b6e132 100644 --- a/src/osd/OpRequest.cc +++ b/src/osd/OpRequest.cc @@ -40,10 +40,10 @@ OpRequest::OpRequest(Message *req, OpTracker *tracker) : } else if (req->get_type() == MSG_OSD_REPOP) { reqid = static_cast(req)->reqid; } - tracker->mark_event(this, "header_read", request->get_recv_stamp()); - tracker->mark_event(this, "throttled", request->get_throttle_stamp()); - tracker->mark_event(this, "all_read", request->get_recv_complete_stamp()); - tracker->mark_event(this, "dispatched", request->get_dispatch_stamp()); + mark_event("header_read", request->get_recv_stamp()); + mark_event("throttled", request->get_throttle_stamp()); + mark_event("all_read", request->get_recv_complete_stamp()); + mark_event("dispatched", request->get_dispatch_stamp()); } void OpRequest::_dump(Formatter *f) const