]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
client,mds: add support for subvolume level metrics
authorIgor Golikov <igolikov@ibm.com>
Thu, 10 Jul 2025 10:17:36 +0000 (10:17 +0000)
committerVenky Shankar <vshankar@redhat.com>
Wed, 10 Sep 2025 16:42:45 +0000 (16:42 +0000)
commitc376635d5d5572d64fa76a82a7461ce917186047
tree7978824a68b3e64948f4342e6afcb5a763e8f0f6
parent23e12c7096172cfaa9c0f0075ea95d10c7149d94
client,mds: add support for subvolume level metrics

Add support for client side metrics collection using SimpleIOMetric
struct and aggregation using AggregatedIOMetrics struct,
Client holds SimpleIOMetrics vector per each subvolume it recognized
(via caps/metadata messages), aggregates them into the
AggregatedIOMetric struct, and sends  periodically to the MDS, along
with regulat client metrics.
MDS holds map of subvolume_path -> vector<AggregatedIOMetrics> and sends
it periodically to rank0, for further aggregation and exposure.

Fixes: https://tracker.ceph.com/issues/68929, https://tracker.ceph.com/issues/68930
Signed-off-by: Igor Golikov <igolikov@ibm.com>
17 files changed:
src/client/Client.cc
src/client/Client.h
src/common/Clock.h
src/include/cephfs/metrics/Types.h
src/mds/CInode.cc
src/mds/CInode.h
src/mds/Locker.cc
src/mds/Locker.h
src/mds/MDSRank.cc
src/mds/MDSRank.h
src/mds/MetricsHandler.cc
src/mds/MetricsHandler.h
src/mds/cephfs_features.h
src/mds/mdstypes.cc
src/mds/mdstypes.h
src/messages/MClientCaps.h
src/messages/MClientReply.h