mbox series

[v2,0/4] ceph: forward average read/write/metadata latency

Message ID 20220308124219.771527-1-vshankar@redhat.com (mailing list archive)
Headers show
Series ceph: forward average read/write/metadata latency | expand

Message

Venky Shankar March 8, 2022, 12:42 p.m. UTC
v2
  - rename to_ceph_timespec() to ktime_to_ceph_timespec()
  - use ceph_encode_timespec64() helper

Jeff,

To apply these, please drop commit range f4bf256..840d9f0 from testing branch.

Right now, cumulative read/write/metadata latencies are tracked
and are periodically forwarded to the MDS. These meterics are not
particularly useful. A much more useful metric is the average latency
and standard deviation (stdev) which is what this series of patches
aims to do.

The userspace (libcephfs+tool) changes are here::

          https://github.com/ceph/ceph/pull/41397

Note that the cumulative latencies are still forwarded to the MDS but
the tool (cephfs-top) ignores it altogether.

Latency standard deviation is calculated in `cephfs-top` tool.

Venky Shankar (4):
  ceph: use ktime_to_timespec64() rather than jiffies_to_timespec64()
  ceph: track average r/w/m latency
  ceph: include average/stdev r/w/m latency in mds metrics
  ceph: use tracked average r/w/m latencies to display metrics in
    debugfs

 fs/ceph/debugfs.c |  5 ++--
 fs/ceph/metric.c  | 63 +++++++++++++++++++++++++++--------------------
 fs/ceph/metric.h  | 63 ++++++++++++++++++++++++++++++-----------------
 3 files changed, 79 insertions(+), 52 deletions(-)

Comments

Xiubo Li March 8, 2022, 12:57 p.m. UTC | #1
On 3/8/22 8:42 PM, Venky Shankar wrote:
> v2
>    - rename to_ceph_timespec() to ktime_to_ceph_timespec()
>    - use ceph_encode_timespec64() helper
>
> Jeff,
>
> To apply these, please drop commit range f4bf256..840d9f0 from testing branch.
>
> Right now, cumulative read/write/metadata latencies are tracked
> and are periodically forwarded to the MDS. These meterics are not
> particularly useful. A much more useful metric is the average latency
> and standard deviation (stdev) which is what this series of patches
> aims to do.
>
> The userspace (libcephfs+tool) changes are here::
>
>            https://github.com/ceph/ceph/pull/41397
>
> Note that the cumulative latencies are still forwarded to the MDS but
> the tool (cephfs-top) ignores it altogether.
>
> Latency standard deviation is calculated in `cephfs-top` tool.
>
> Venky Shankar (4):
>    ceph: use ktime_to_timespec64() rather than jiffies_to_timespec64()
>    ceph: track average r/w/m latency
>    ceph: include average/stdev r/w/m latency in mds metrics
>    ceph: use tracked average r/w/m latencies to display metrics in
>      debugfs
>
>   fs/ceph/debugfs.c |  5 ++--
>   fs/ceph/metric.c  | 63 +++++++++++++++++++++++++++--------------------
>   fs/ceph/metric.h  | 63 ++++++++++++++++++++++++++++++-----------------
>   3 files changed, 79 insertions(+), 52 deletions(-)
>
The series LGTM.

Reviewed-by: Xiubo Li <xiubli@redhat.com>
Jeff Layton March 8, 2022, 3:58 p.m. UTC | #2
On Tue, 2022-03-08 at 07:42 -0500, Venky Shankar wrote:
> v2
>   - rename to_ceph_timespec() to ktime_to_ceph_timespec()
>   - use ceph_encode_timespec64() helper
> 
> Jeff,
> 
> To apply these, please drop commit range f4bf256..840d9f0 from testing branch.
> 
> Right now, cumulative read/write/metadata latencies are tracked
> and are periodically forwarded to the MDS. These meterics are not
> particularly useful. A much more useful metric is the average latency
> and standard deviation (stdev) which is what this series of patches
> aims to do.
> 
> The userspace (libcephfs+tool) changes are here::
> 
>           https://github.com/ceph/ceph/pull/41397
> 
> Note that the cumulative latencies are still forwarded to the MDS but
> the tool (cephfs-top) ignores it altogether.
> 
> Latency standard deviation is calculated in `cephfs-top` tool.
> 
> Venky Shankar (4):
>   ceph: use ktime_to_timespec64() rather than jiffies_to_timespec64()
>   ceph: track average r/w/m latency
>   ceph: include average/stdev r/w/m latency in mds metrics
>   ceph: use tracked average r/w/m latencies to display metrics in
>     debugfs
> 
>  fs/ceph/debugfs.c |  5 ++--
>  fs/ceph/metric.c  | 63 +++++++++++++++++++++++++++--------------------
>  fs/ceph/metric.h  | 63 ++++++++++++++++++++++++++++++-----------------
>  3 files changed, 79 insertions(+), 52 deletions(-)
> 

Thanks Venky. New version is now merged into testing.