Module: check_mk
Branch: master
Commit: 4a25a3f6f75eb34d8a5198de3cd5057f3fa2549d
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=4a25a3f6f75eb3…
Author: Sven Panne <sp(a)mathias-kettner.de>
Date: Mon Nov 6 10:50:30 2017 +0100
Unify MetricsColumn implementations.
Change-Id: I1da8f8f8d8924e31f98a83e513116d073c61ab0f
---
livestatus/src/MetricsColumn.cc | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/livestatus/src/MetricsColumn.cc b/livestatus/src/MetricsColumn.cc
index c2c11da..c347b54 100644
--- a/livestatus/src/MetricsColumn.cc
+++ b/livestatus/src/MetricsColumn.cc
@@ -25,9 +25,35 @@
#include "MetricsColumn.h"
#include "Row.h"
+#ifdef CMC
+#include <algorithm>
+#include <iterator>
+#include "Core.h"
+#include "Metric.h"
+#include "MonitoringCore.h"
+#include "Object.h"
+#include "RRDBackend.h"
+#include "RRDInfoCache.h"
+#include "State.h"
+#include "cmc.h"
+#endif
+
std::vector<std::string> MetricsColumn::getValue(
- Row /*row*/, const contact* /*auth_user*/,
+ Row row, const contact * /*auth_user*/,
std::chrono::seconds /*timezone_offset*/) const {
+ std::vector<std::string> metrics;
+#ifdef CMC
+ if (auto object = columnData<Object>(row)) {
+ if (object->isEnabled(State::Enable::performance_data)) {
+ auto names =
_mc->impl<Core>()->_rrd_backend.infoFor(object)._names;
+ std::transform(
+ names.begin(), names.end(), std::back_inserter(metrics),
+ [](const Metric::MangledName &name) { return name.string(); });
+ }
+ }
+#else
(void)_mc;
- return {};
+ (void)row;
+#endif
+ return metrics;
}