ceph_tid_t tid = 0;
if (!ptid)
ptid = &tid;
+ op->trace.event("op submit");
_op_submit_with_budget(op, rl, ptid, ctx_budget);
}
m->ops = op->ops;
m->set_mtime(op->mtime);
m->set_retry_attempt(op->attempts++);
- m->trace = op->trace;
- if (!m->trace && cct->_conf->osdc_blkin_trace_all)
- m->trace.init("objecter op", &trace_endpoint);
+
+ if (!op->trace.valid() && cct->_conf->osdc_blkin_trace_all) {
+ op->trace.init("op", &trace_endpoint);
+ }
if (op->priority)
m->set_priority(op->priority);
m->set_tid(op->tid);
+ if (op->trace.valid()) {
+ m->trace.init("op msg", nullptr, &op->trace);
+ }
op->session->con->send_message(m);
}
<< " attempt " << m->get_retry_attempt()
<< dendl;
Op *op = iter->second;
+ op->trace.event("osd op reply");
if (retry_writes_after_first_reply && op->attempts == 1 &&
(op->target.flags & CEPH_OSD_FLAG_WRITE)) {
if (target.base_oloc.key == o)
target.base_oloc.key.clear();
- if (parent_trace && parent_trace->valid())
+ if (parent_trace && parent_trace->valid()) {
trace.init("op", nullptr, parent_trace);
+ trace.event("start");
+ }
}
bool operator<(const Op& other) const {
delete out_handler.back();
out_handler.pop_back();
}
+ trace.event("finish");
}
};