]>
git.proxmox.com Git - ceph.git/blob - ceph/src/test/test_rewrite_latency.cc
6 #include "include/utime.h"
7 #include "common/Clock.h"
8 #include "common/errno.h"
12 int main(int argc
, const char **argv
)
14 const char *fn
= argv
[1];
15 multimap
<utime_t
, utime_t
> latency
;
18 int fd
= ::open(fn
, O_CREAT
|O_RDWR
, 0644);
21 cerr
<< "failed to open " << fn
<< " with " << cpp_strerror(err
) << std::endl
;
26 utime_t now
= ceph_clock_now();
27 int r
= ::pwrite(fd
, fn
, strlen(fn
), 0);
29 utime_t lat
= ceph_clock_now();
33 oldmin
= latency
.begin()->first
;
34 latency
.insert(make_pair(lat
, now
));
35 utime_t newmin
= latency
.begin()->first
;
36 while (latency
.size() > max
)
37 latency
.erase(latency
.begin());
38 if (oldmin
== newmin
) {
39 cout
<< "latency\tat" << std::endl
;
40 for (multimap
<utime_t
,utime_t
>::reverse_iterator p
= latency
.rbegin();
43 cout
<< p
->first
<< "\t" << p
->second
<< std::endl
;