]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
OpTracker: Removed _dump_op_descriptor_unlocked call for log level < 5
authorSomnath Roy <somnath.roy@sandisk.com>
Tue, 9 Sep 2014 01:59:01 +0000 (18:59 -0700)
committerSomnath Roy <somnath.roy@sandisk.com>
Thu, 11 Sep 2014 18:22:59 +0000 (11:22 -0700)
_dump_op_descriptor_unlocked call within the function _mark_event()
was invoked unnecessarily every time for all log levels. This was
degrading performance significantly! The stream is only used during
log level 5 and thus the _dump_op_descriptor_unlocked() is only called
now if user sets the log level to 5 and beyond.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
src/common/TrackedOp.cc

index 8590c588f2de2bcfc363ac96a4185cf711adc6b8..d7a95b87ac1ff3b109ee3b2d4f3e9bd463aae08c 100644 (file)
@@ -283,12 +283,13 @@ void OpTracker::mark_event(TrackedOp *op, const string &dest, utime_t time)
 void OpTracker::_mark_event(TrackedOp *op, const string &evt,
                            utime_t time)
 {
-  stringstream ss;
-  op->_dump_op_descriptor_unlocked(ss);
-  dout(5) << //"reqid: " << op->get_reqid() <<
-            ", seq: " << op->seq
+  dout(5);
+  *_dout  <<  "seq: " << op->seq
          << ", time: " << time << ", event: " << evt
-         << ", op: " << ss.str() << dendl;
+         << ", op: ";
+  op->_dump_op_descriptor_unlocked(*_dout);
+  *_dout << dendl;
+     
 }
 
 void OpTracker::RemoveOnDelete::operator()(TrackedOp *op) {