mbox series

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

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


Venky Shankar Sept. 21, 2021, 1:07 p.m. UTC
  - rework average/stdev handling by maintaining sum of squares
    and calculating standard deviation when sending metrics

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::


The math involved in keeping track of the average latency and stdev
are adjusted to closely mimic how its done in user space ceph (with
some restrictions obviously) as per::

          NEW_AVG = OLD_AVG + ((latency - OLD_AVG) / total_ops)
          NEW_STDEV = SQRT(SQ_SUM / (total_ops - 1))

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

Venky Shankar (4):
  ceph: use "struct ceph_timespec" for r/w/m latencies
  ceph: track average/stdev r/w/m latency
  ceph: include average/stddev r/w/m latency in mds metrics
  ceph: use tracked average r/w/m latencies to display metrics in

 fs/ceph/debugfs.c |   6 +--
 fs/ceph/metric.c  | 109 ++++++++++++++++++++++++----------------------
 fs/ceph/metric.h  |  62 ++++++++++++++++----------
 3 files changed, 101 insertions(+), 76 deletions(-)