summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/TrackedOp.cc20
-rw-r--r--src/common/TrackedOp.h4
-rw-r--r--src/osd/OpRequest.cc9
-rw-r--r--src/osd/OpRequest.h2
4 files changed, 7 insertions, 28 deletions
diff --git a/src/common/TrackedOp.cc b/src/common/TrackedOp.cc
index f2413d6fc7a..2c19c9ec0f3 100644
--- a/src/common/TrackedOp.cc
+++ b/src/common/TrackedOp.cc
@@ -257,25 +257,9 @@ void TrackedOp::dump(utime_t now, Formatter *f) const
f->dump_stream("received_at") << get_arrived();
f->dump_float("age", now - get_arrived());
f->dump_float("duration", get_duration());
- f->dump_string("current_state", state_string());
- if (m->get_orig_source().is_client()) {
- f->open_object_section("client_info");
- stringstream client_name;
- client_name << m->get_orig_source();
- f->dump_string("client", client_name.str());
- f->dump_int("tid", m->get_tid());
- f->close_section(); // client_info
- }
{
- f->open_array_section("events");
- for (list<pair<utime_t, string> >::const_iterator i = events.begin();
- i != events.end();
- ++i) {
- f->open_object_section("event");
- f->dump_stream("time") << i->first;
- f->dump_string("event", i->second);
- f->close_section();
- }
+ f->open_array_section("type_data");
+ _dump(now, f);
f->close_section();
}
}
diff --git a/src/common/TrackedOp.h b/src/common/TrackedOp.h
index 88c3cb632a0..1734fddda0c 100644
--- a/src/common/TrackedOp.h
+++ b/src/common/TrackedOp.h
@@ -133,6 +133,8 @@ protected:
}
virtual void init_from_message() {};
+ /// output any type-specific data you want to get when dump() is called
+ virtual void _dump(utime_t now, Formatter *f) const {}
public:
virtual ~TrackedOp() { assert(request); request->put(); }
@@ -152,7 +154,7 @@ public:
virtual const char *state_string() const {
return events.rbegin()->second.c_str();
}
- virtual void dump(utime_t now, Formatter *f) const;
+ void dump(utime_t now, Formatter *f) const;
};
#endif
diff --git a/src/osd/OpRequest.cc b/src/osd/OpRequest.cc
index 1c523585a8e..2ed7a23086f 100644
--- a/src/osd/OpRequest.cc
+++ b/src/osd/OpRequest.cc
@@ -23,16 +23,9 @@ OpRequest::OpRequest(Message *req, OpTracker *tracker) :
}
}
-void OpRequest::dump(utime_t now, Formatter *f) const
+void OpRequest::_dump(utime_t now, Formatter *f) const
{
Message *m = request;
- stringstream name;
- m->print(name);
- f->dump_string("description", name.str().c_str()); // this OpRequest
- f->dump_unsigned("rmw_flags", rmw_flags);
- f->dump_stream("received_at") << get_arrived();
- f->dump_float("age", now - get_arrived());
- f->dump_float("duration", get_duration());
f->dump_string("flag_point", state_string());
if (m->get_orig_source().is_client()) {
f->open_object_section("client_info");
diff --git a/src/osd/OpRequest.h b/src/osd/OpRequest.h
index 6131aae0d2d..87571f58787 100644
--- a/src/osd/OpRequest.h
+++ b/src/osd/OpRequest.h
@@ -59,7 +59,7 @@ struct OpRequest : public TrackedOp {
void set_class_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_WRITE; }
void set_pg_op() { rmw_flags |= CEPH_OSD_RMW_FLAG_PGOP; }
- void dump(utime_t now, Formatter *f) const;
+ void _dump(utime_t now, Formatter *f) const;
private:
osd_reqid_t reqid;