OPTION(osd_bench_max_block_size, OPT_U64, 64 << 20) // cap the block size at 64MB
OPTION(osd_bench_duration, OPT_U32, 30) // duration of 'osd bench', capped at 30s to avoid triggering timeouts
+OPTION(osd_blkin_trace_all, OPT_BOOL, false) // create a blkin trace for all osd requests
+
OPTION(osd_discard_disconnected_ops, OPT_BOOL, true)
OPTION(memstore_device_bytes, OPT_U64, 1024*1024*1024)
if (!connection)
return;
- const auto endpoint = connection->get_messenger()->get_trace_endpoint();
+ const auto msgr = connection->get_messenger();
+ const auto endpoint = msgr->get_trace_endpoint();
blkin_trace_info info = {};
// only decode a trace if both sides of the connection agree
if (info.trace_id) {
trace.init(get_type_name(), endpoint, &info, true);
trace.event("decoded trace");
- } else if (create) { // create a trace even if we didn't get one on the wire
+ } else if (create || (msgr->get_myname().is_osd() &&
+ msgr->cct->_conf->osd_blkin_trace_all)) {
+ // create a trace even if we didn't get one on the wire
trace.init(get_type_name(), endpoint);
trace.event("created trace");
}