summaryrefslogtreecommitdiffstats
path: root/metrics
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2016-11-28 21:16:26 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2016-12-12 02:55:40 +0100
commite1a678feb2deddeab5a78be77e16f3cdf0a614a9 (patch)
tree342fdd803d4597d05e2cef34d667fba2541f9f50 /metrics
parente7195ab5e2d76848c1d3ac1004f54edf19dfb72d (diff)
Loosen up the metrics stuff further.
Diffstat (limited to 'metrics')
-rw-r--r--metrics/src/vespa/metrics/metricmanager.h16
-rw-r--r--metrics/src/vespa/metrics/metrics.h1
-rw-r--r--metrics/src/vespa/metrics/state_api_adapter.cpp1
-rw-r--r--metrics/src/vespa/metrics/state_api_adapter.h3
-rw-r--r--metrics/src/vespa/metrics/updatehook.h27
5 files changed, 31 insertions, 17 deletions
diff --git a/metrics/src/vespa/metrics/metricmanager.h b/metrics/src/vespa/metrics/metricmanager.h
index ffa73c5eff1..28e03b01aff 100644
--- a/metrics/src/vespa/metrics/metricmanager.h
+++ b/metrics/src/vespa/metrics/metricmanager.h
@@ -50,6 +50,7 @@
#include <vespa/metrics/metricsnapshot.h>
#include <vespa/metrics/namehash.h>
#include <vespa/metrics/valuemetric.h>
+#include <vespa/metrics/updatehook.h>
#include <vespa/vespalib/stllike/hash_set.h>
#include <vespa/vespalib/util/sync.h>
#include <map>
@@ -64,21 +65,6 @@ typedef vespalib::MonitorGuard MetricLockGuard;
class MetricManager : private document::Runnable
{
public:
- class UpdateHook {
- const char* _name;
- time_t _nextCall;
- uint32_t _period;
- friend class MetricManager;
-
- public:
- typedef vespalib::LinkedPtr<UpdateHook> LP;
- using MetricLockGuard = metrics::MetricLockGuard;
-
- UpdateHook(const char* name) : _name(name), _nextCall(0), _period(0) {}
- virtual ~UpdateHook() {}
- virtual void updateMetrics(const MetricLockGuard & guard) = 0;
- const char* getName() const { return _name; }
- };
struct Timer {
virtual ~Timer() {}
diff --git a/metrics/src/vespa/metrics/metrics.h b/metrics/src/vespa/metrics/metrics.h
index 4b21dfb8579..db18bbefdbf 100644
--- a/metrics/src/vespa/metrics/metrics.h
+++ b/metrics/src/vespa/metrics/metrics.h
@@ -11,7 +11,6 @@
#include <vespa/metrics/loadmetric.h>
#include <vespa/metrics/summetric.h>
#include <vespa/metrics/metricset.h>
-#include <vespa/metrics/metricmanager.h>
#include <vespa/metrics/metricsnapshot.h>
#include <vespa/metrics/metrictimer.h>
diff --git a/metrics/src/vespa/metrics/state_api_adapter.cpp b/metrics/src/vespa/metrics/state_api_adapter.cpp
index 606f57a87fe..28e0e277af7 100644
--- a/metrics/src/vespa/metrics/state_api_adapter.cpp
+++ b/metrics/src/vespa/metrics/state_api_adapter.cpp
@@ -1,5 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "state_api_adapter.h"
+#include <vespa/metrics/metricmanager.h>
#include "jsonwriter.h"
namespace metrics {
diff --git a/metrics/src/vespa/metrics/state_api_adapter.h b/metrics/src/vespa/metrics/state_api_adapter.h
index dd041a3c37c..df3175dd614 100644
--- a/metrics/src/vespa/metrics/state_api_adapter.h
+++ b/metrics/src/vespa/metrics/state_api_adapter.h
@@ -3,10 +3,11 @@
#pragma once
#include <vespa/vespalib/net/metrics_producer.h>
-#include "metricmanager.h"
namespace metrics {
+class MetricManager;
+
/**
* This is an adapter class that implements the metrics producer
* interface defined by the state api implementation in vespalib by
diff --git a/metrics/src/vespa/metrics/updatehook.h b/metrics/src/vespa/metrics/updatehook.h
new file mode 100644
index 00000000000..2b2f4466b54
--- /dev/null
+++ b/metrics/src/vespa/metrics/updatehook.h
@@ -0,0 +1,27 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#pragma once
+
+#include <vespa/vespalib/util/sync.h>
+#include <vespa/vespalib/util/linkedptr.h>
+
+namespace metrics {
+
+class MetricManager;
+
+class UpdateHook {
+ const char* _name;
+ time_t _nextCall;
+ uint32_t _period;
+ friend class MetricManager;
+
+public:
+ typedef vespalib::LinkedPtr<UpdateHook> LP;
+ using MetricLockGuard = vespalib::MonitorGuard;
+
+ UpdateHook(const char* name) : _name(name), _nextCall(0), _period(0) {}
+ virtual ~UpdateHook() {}
+ virtual void updateMetrics(const MetricLockGuard & guard) = 0;
+ const char* getName() const { return _name; }
+};
+
+}