]> git.proxmox.com Git - ceph.git/blame - ceph/src/mgr/MDSPerfMetricCollector.h
import ceph quincy 17.2.1
[ceph.git] / ceph / src / mgr / MDSPerfMetricCollector.h
CommitLineData
f67539c2
TL
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
11class MDSPerfMetricCollector
12 : public MetricCollector<MDSPerfMetricQuery, MDSPerfMetricLimit, MDSPerfMetricKey,
13 MDSPerfMetrics> {
14private:
15 std::set<mds_rank_t> delayed_ranks;
33c7a0ef 16 struct timespec last_updated_mono;
f67539c2
TL
17
18 void get_delayed_ranks(std::set<mds_rank_t> *ranks);
19
33c7a0ef 20 void get_last_updated(utime_t *ts);
f67539c2
TL
21public:
22 MDSPerfMetricCollector(MetricListener &listener);
23
24 void process_reports(const MetricPayload &payload) override;
25 int get_counters(PerfCollector *collector) override;
26};
27
28#endif // CEPH_MGR_MDS_PERF_COLLECTOR_H