[PATCH v13 0/4] ceph: add perf metrics support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Xiubo Li <xiubli@xxxxxxxxxx>

# cat /sys/kernel/debug/ceph/9a972bfc-68cb-4d52-a610-7cd9a9adbbdd.client52904/metrics
item          total       avg_lat(us)     min_lat(us)     max_lat(us)     stdev(us)
-----------------------------------------------------------------------------------
read          21979       2093            765             248778          2771
write         1129        45184           30252           368629          20437
metadata      3           6462            1674            14260           6811

item          total           miss            hit
-------------------------------------------------
d_lease       2               0               1
caps          2               4               24248


Chnaged in V13:
- [3/4] and [4/4] switch jiffies to ktime_t for the start/end time stamp, which
  will make it much preciser, such as when the IO latency(end - start) < 1ms and
  if the HZ==1000, then we will always get end == start in jiffies, and the min
  will always be 0, actually it should be in range (0, 1000)us.
- [3/4] since by using ktime helpers we are calculating the stdev in nanosecond,
  then switch to us, so to compute the reminder make no sense any more, remove it
  from stdev.

Changed in V12:
- [3/4] and [4/4] switch atomic64_t type to u64 for lat sum and total numbers

Changed in V11:
- [3/4] and [4/4] fold the min/max/stdev factors

Changed in V10:
- rebase to the latest testing branch
- merge all the metric related patches into one
- [1/6] move metric helpers into a new file metric.c
- [2/6] move metric helpers into metric.c
- [3/6] merge the read/write patches into a signal patch and move metric helpers to metric.c
- [4/6] move metric helpers to metric.c
- [5/6] min/max latency support
- [6/6] standard deviation support

Changed in V9:
- add an r_ended field to the mds request struct and use that to calculate the metric
- fix some commit comments

Xiubo Li (4):
  ceph: add dentry lease metric support
  ceph: add caps perf metric for each superblock
  ceph: add read/write latency metric support
  ceph: add metadata perf metric support

 fs/ceph/Makefile                |   2 +-
 fs/ceph/acl.c                   |   2 +-
 fs/ceph/addr.c                  |  20 ++++++
 fs/ceph/caps.c                  |  19 ++++++
 fs/ceph/debugfs.c               | 100 +++++++++++++++++++++++++--
 fs/ceph/dir.c                   |  17 ++++-
 fs/ceph/file.c                  |  30 ++++++++
 fs/ceph/inode.c                 |   4 +-
 fs/ceph/mds_client.c            |  23 ++++++-
 fs/ceph/mds_client.h            |   7 ++
 fs/ceph/metric.c                | 148 ++++++++++++++++++++++++++++++++++++++++
 fs/ceph/metric.h                |  62 +++++++++++++++++
 fs/ceph/super.h                 |   9 ++-
 fs/ceph/xattr.c                 |   4 +-
 include/linux/ceph/osd_client.h |   3 +
 net/ceph/osd_client.c           |   3 +
 16 files changed, 436 insertions(+), 17 deletions(-)
 create mode 100644 fs/ceph/metric.c
 create mode 100644 fs/ceph/metric.h

-- 
1.8.3.1




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Ceph Dev]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux