plb.add_time_avg(l_c_reply, "reply", "Latency of receiving a reply on metadata request");
plb.add_time_avg(l_c_lat, "lat", "Latency of processing a metadata request");
plb.add_time_avg(l_c_wrlat, "wrlat", "Latency of a file data write operation");
+ plb.add_time_avg(l_c_read, "rdlat", "Latency of a file data read operation");
+ plb.add_time_avg(l_c_fsync, "fsync", "Latency of a file sync operation");
logger.reset(plb.create_perf_counters());
cct->get_perfcounters_collection()->add(logger.get());
int64_t r = 0;
const auto& conf = cct->_conf;
Inode *in = f->inode.get();
+ utime_t lat;
+ utime_t start = ceph_clock_now();
if ((f->mode & CEPH_FILE_MODE_RD) == 0)
return -EBADF;
// adjust fd pos
f->pos = start_pos + r;
}
+
+ lat = ceph_clock_now();
+ lat -= start;
+ logger->tinc(l_c_read, lat);
done:
// done!
-
+
if (onuninline) {
client_lock.Unlock();
int ret = onuninline->wait();
std::unique_ptr<C_SaferCond> object_cacher_completion = nullptr;
ceph_tid_t flush_tid = 0;
InodeRef tmp_ref;
+ utime_t lat;
+ utime_t start = ceph_clock_now();
ldout(cct, 8) << "_fsync on " << *in << " " << (syncdataonly ? "(dataonly)":"(data+metadata)") << dendl;
ldout(cct, 8) << "ino " << in->ino << " failed to commit to disk! "
<< cpp_strerror(-r) << dendl;
}
+
+ lat = ceph_clock_now();
+ lat -= start;
+ logger->tinc(l_c_fsync, lat);
return r;
}