// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
+#include "MetricsHandler.h"
+
#include "common/debug.h"
#include "common/errno.h"
+#include "include/cephfs/metrics/Types.h"
+#include "messages/MClientMetrics.h"
#include "messages/MMDSMetrics.h"
+#include "messages/MMDSPing.h"
#include "MDSRank.h"
#include "SessionMap.h"
-#include "MetricsHandler.h"
#define dout_context g_ceph_context
#define dout_subsys ceph_subsys_mds
#ifndef CEPH_MDS_METRICS_HANDLER_H
#define CEPH_MDS_METRICS_HANDLER_H
+#include <map>
#include <thread>
#include <utility>
-#include <boost/variant.hpp>
#include "msg/Dispatcher.h"
#include "common/ceph_mutex.h"
-#include "include/common_fwd.h"
-#include "include/cephfs/metrics/Types.h"
-
-#include "messages/MMDSPing.h"
-#include "messages/MClientMetrics.h"
#include "MDSPerfMetricTypes.h"
+#include <boost/optional.hpp>
+#include <boost/variant/static_visitor.hpp>
+
+struct CapInfoPayload;
+struct ReadLatencyPayload;
+struct WriteLatencyPayload;
+struct MetadataLatencyPayload;
+struct DentryLeasePayload;
+struct OpenedFilesPayload;
+struct PinnedIcapsPayload;
+struct OpenedInodesPayload;
+struct ReadIoSizesPayload;
+struct WriteIoSizesPayload;
+struct UnknownPayload;
+class MClientMetrics;
+class MDSMap;
class MDSRank;
+class MMDSPing;
class Session;
class MetricsHandler : public Dispatcher {