summaryrefslogtreecommitdiffstats
path: root/src/mgr/OSDPerfMetricCollector.h
blob: c531dbf6303541ea88f79cd75bb08b4c8c40de67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab

#ifndef OSD_PERF_METRIC_COLLECTOR_H_
#define OSD_PERF_METRIC_COLLECTOR_H_

#include "mgr/MetricCollector.h"
#include "mgr/OSDPerfMetricTypes.h"

/**
 * OSD performance query class.
 */
class OSDPerfMetricCollector
  : public MetricCollector<OSDPerfMetricQuery, OSDPerfMetricLimit, OSDPerfMetricKey,
                           OSDPerfMetricReport> {
public:
  OSDPerfMetricCollector(MetricListener &listener);

  void process_reports(const MetricPayload &payload) override;
  int get_counters(PerfCollector *collector) override;
};

#endif // OSD_PERF_METRIC_COLLECTOR_H_