b.add_time_avg(l_bluestore_remove_lat, "remove_lat",
"Average removal latency",
"rm_l", PerfCountersBuilder::PRIO_USEFUL);
+ b.add_time_avg(l_bluestore_truncate_lat, "truncate_lat",
+ "Average truncate latency",
+ "tr_l", PerfCountersBuilder::PRIO_USEFUL);
//****************************************
// Resulting size axis configuration for op histograms, values are in bytes
dout(15) << __func__ << " " << c->cid << " " << o->oid
<< " 0x" << std::hex << offset << std::dec
<< dendl;
+
+ auto start_time = mono_clock::now();
int r = 0;
if (offset >= OBJECT_MAX_SIZE) {
r = -E2BIG;
} else {
_do_truncate(txc, c, o, offset);
}
+ log_latency_fn(
+ __func__,
+ l_bluestore_truncate_lat,
+ mono_clock::now() - start_time,
+ cct->_conf->bluestore_log_op_age,
+ [&](const ceph::timespan& lat) {
+ ostringstream ostr;
+ ostr << ", lat = " << timespan_str(lat)
+ << " cid =" << c->cid
+ << " oid =" << o->oid;
+ return ostr.str();
+ }
+ );
dout(10) << __func__ << " " << c->cid << " " << o->oid
<< " 0x" << std::hex << offset << std::dec
<< " = " << r << dendl;
dout(15) << __func__ << " " << c->cid << " " << o->oid
<< " onode " << o.get()
<< " txc "<< txc << dendl;
-
- auto start_time = mono_clock::now();
+ auto start_time = mono_clock::now();
int r = _do_remove(txc, c, o);
+
log_latency_fn(
__func__,
l_bluestore_remove_lat,