elapsed = ceph_clock_now(ictx->cct) - start_time;
switch (aio_type) {
case AIO_TYPE_READ:
- ictx->perfcounter->tinc(l_librbd_aio_rd_latency, elapsed); break;
+ ictx->perfcounter->tinc(l_librbd_rd_latency, elapsed); break;
case AIO_TYPE_WRITE:
- ictx->perfcounter->tinc(l_librbd_aio_wr_latency, elapsed); break;
+ ictx->perfcounter->tinc(l_librbd_wr_latency, elapsed); break;
case AIO_TYPE_DISCARD:
- ictx->perfcounter->tinc(l_librbd_aio_discard_latency, elapsed); break;
+ ictx->perfcounter->tinc(l_librbd_discard_latency, elapsed); break;
case AIO_TYPE_FLUSH:
ictx->perfcounter->tinc(l_librbd_aio_flush_latency, elapsed); break;
default:
plb.add_u64_counter(l_librbd_discard_bytes, "discard_bytes", "Discarded data");
plb.add_time_avg(l_librbd_discard_latency, "discard_latency", "Discard latency");
plb.add_u64_counter(l_librbd_flush, "flush", "Flushes");
- plb.add_u64_counter(l_librbd_aio_rd, "aio_rd", "Async reads");
- plb.add_u64_counter(l_librbd_aio_rd_bytes, "aio_rd_bytes", "Data size in async reads");
- plb.add_time_avg(l_librbd_aio_rd_latency, "aio_rd_latency", "Latency of async reads");
- plb.add_u64_counter(l_librbd_aio_wr, "aio_wr", "Async writes");
- plb.add_u64_counter(l_librbd_aio_wr_bytes, "aio_wr_bytes", "Data size in async writes");
- plb.add_time_avg(l_librbd_aio_wr_latency, "aio_wr_latency", "Latency of async writes");
- plb.add_u64_counter(l_librbd_aio_discard, "aio_discard", "Async discards");
- plb.add_u64_counter(l_librbd_aio_discard_bytes, "aio_discard_bytes", "Data size in async discards");
- plb.add_time_avg(l_librbd_aio_discard_latency, "aio_discard_latency", "Latency of async discards");
plb.add_u64_counter(l_librbd_aio_flush, "aio_flush", "Async flushes");
plb.add_time_avg(l_librbd_aio_flush_latency, "aio_flush_latency", "Latency of async flushes");
plb.add_u64_counter(l_librbd_snap_create, "snap_create", "Snap creations");
ssize_t read(ImageCtx *ictx, uint64_t ofs, size_t len, char *buf, int op_flags)
{
- utime_t start_time, elapsed;
ssize_t ret;
ldout(ictx->cct, 20) << "read " << ictx << " off = " << ofs << " len = "
<< len << dendl;
- start_time = ceph_clock_now(ictx->cct);
vector<pair<uint64_t,uint64_t> > extents;
extents.push_back(make_pair(ofs, len));
if (ret < 0)
return ret;
- elapsed = ceph_clock_now(ictx->cct) - start_time;
- ictx->perfcounter->tinc(l_librbd_rd_latency, elapsed);
- ictx->perfcounter->inc(l_librbd_rd);
- ictx->perfcounter->inc(l_librbd_rd_bytes, ret);
return ret;
}
ssize_t write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf, int op_flags)
{
- utime_t start_time, elapsed;
ldout(ictx->cct, 20) << "write " << ictx << " off = " << off << " len = "
<< len << dendl;
- start_time = ceph_clock_now(ictx->cct);
Mutex mylock("librbd::write::mylock");
Cond cond;
bool done;
return ret;
}
- elapsed = ceph_clock_now(ictx->cct) - start_time;
- ictx->perfcounter->tinc(l_librbd_wr_latency, elapsed);
- ictx->perfcounter->inc(l_librbd_wr);
- ictx->perfcounter->inc(l_librbd_wr_bytes, mylen);
return mylen;
}
int discard(ImageCtx *ictx, uint64_t off, uint64_t len)
{
- utime_t start_time, elapsed;
ldout(ictx->cct, 20) << "discard " << ictx << " off = " << off << " len = "
<< len << dendl;
- start_time = ceph_clock_now(ictx->cct);
Mutex mylock("librbd::discard::mylock");
Cond cond;
bool done;
return ret;
}
- elapsed = ceph_clock_now(ictx->cct) - start_time;
- ictx->perfcounter->inc(l_librbd_discard_latency, elapsed);
- ictx->perfcounter->inc(l_librbd_discard);
- ictx->perfcounter->inc(l_librbd_discard_bytes, mylen);
return mylen;
}
c->finish_adding_requests(ictx->cct);
c->put();
- ictx->perfcounter->inc(l_librbd_aio_wr);
- ictx->perfcounter->inc(l_librbd_aio_wr_bytes, clip_len);
+ ictx->perfcounter->inc(l_librbd_wr);
+ ictx->perfcounter->inc(l_librbd_wr_bytes, clip_len);
return r;
}
c->finish_adding_requests(ictx->cct);
c->put();
- ictx->perfcounter->inc(l_librbd_aio_discard);
- ictx->perfcounter->inc(l_librbd_aio_discard_bytes, clip_len);
return r;
}
c->finish_adding_requests(ictx->cct);
c->put();
- ictx->perfcounter->inc(l_librbd_aio_rd);
- ictx->perfcounter->inc(l_librbd_aio_rd_bytes, buffer_ofs);
+ ictx->perfcounter->inc(l_librbd_rd);
+ ictx->perfcounter->inc(l_librbd_rd_bytes, buffer_ofs);
return ret;
}
l_librbd_discard_latency,
l_librbd_flush,
- l_librbd_aio_rd, // read ops
- l_librbd_aio_rd_bytes, // bytes read
- l_librbd_aio_rd_latency,
- l_librbd_aio_wr,
- l_librbd_aio_wr_bytes,
- l_librbd_aio_wr_latency,
- l_librbd_aio_discard,
- l_librbd_aio_discard_bytes,
- l_librbd_aio_discard_latency,
l_librbd_aio_flush,
l_librbd_aio_flush_latency,