]> git.proxmox.com Git - ceph.git/blob - ceph/src/mgr/MDSPerfMetricCollector.h
import quincy beta 17.1.0
[ceph.git] / ceph / src / mgr / MDSPerfMetricCollector.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3
4 #ifndef CEPH_MGR_MDS_PERF_COLLECTOR_H
5 #define CEPH_MGR_MDS_PERF_COLLECTOR_H
6
7 #include "mgr/MetricCollector.h"
8 #include "mgr/MDSPerfMetricTypes.h"
9
10 // MDS performance query class
11 class MDSPerfMetricCollector
12 : public MetricCollector<MDSPerfMetricQuery, MDSPerfMetricLimit, MDSPerfMetricKey,
13 MDSPerfMetrics> {
14 private:
15 std::set<mds_rank_t> delayed_ranks;
16
17 void get_delayed_ranks(std::set<mds_rank_t> *ranks);
18
19 public:
20 MDSPerfMetricCollector(MetricListener &listener);
21
22 void process_reports(const MetricPayload &payload) override;
23 int get_counters(PerfCollector *collector) override;
24 };
25
26 #endif // CEPH_MGR_MDS_PERF_COLLECTOR_H