Преглед изворни кода

HPCC-26461 Prometheus sink improvements

- Removes ununsed code
- Avoids copy of vector parameter

Signed-off-by: Rodrigo Pastrana <rodrigo.pastrana@lexisnexisrisk.com>
Rodrigo Pastrana пре 3 година
родитељ
комит
d00f30f7d7

+ 3 - 5
system/metrics/sinks/prometheus/prometheusSink.cpp

@@ -70,10 +70,7 @@ PrometheusMetricSink::PrometheusMetricSink(const char *name, const IPropertyTree
         m_server.Get(m_metricsServiceName.str(), [&](const Request& req, Response& res)
         {
             StringBuffer payload;
-            if (!m_metricsManager)
-                throw std::runtime_error("NULL MetricsManager detected!");
-            else
-                toPrometheusMetrics(m_metricsManager->queryMetricsForReport(std::string(m_metricsSinkName.str())), payload, m_verbose);
+            toPrometheusMetrics(m_metricsManager->queryMetricsForReport(std::string(m_metricsSinkName.str())), payload, m_verbose);
 
             res.set_content(payload.str(), PROMETHEUS_METRICS_SERVICE_RESP_TYPE);
             LOG(MCuserInfo, "TxSummary[status=%d;user=@%s:%d;contLen=%ld;req=GET;]\n",res.status, req.remote_addr.c_str(), req.remote_port, req.content_length);
@@ -95,7 +92,7 @@ const char * PrometheusMetricSink::mapHPCCMetricTypeToPrometheusStr(MetricType t
     }
 }
 
-void PrometheusMetricSink::toPrometheusMetrics(std::vector<std::shared_ptr<IMetric>> reportMetrics, StringBuffer & out, bool verbose)
+void PrometheusMetricSink::toPrometheusMetrics(const std::vector<std::shared_ptr<IMetric>> & reportMetrics, StringBuffer & out, bool verbose)
 {
     /*
      * [# HELP <metric name> <metric summary>\n]
@@ -136,6 +133,7 @@ void PrometheusMetricSink::startCollection(MetricsManager *_pManager)
 
 void PrometheusMetricSink::stopCollection()
 {
+	LOG(MCoperatorProgress, "PrometheusMetricsService stopping:  port: '%i' uri: '%s' sinkname: '%s'\n", m_port, m_metricsServiceName.str(), m_metricsSinkName.str());
     m_processing = false;
     m_server.stop();
     m_collectThread.join();

+ 2 - 2
system/metrics/sinks/prometheus/prometheusSink.hpp

@@ -59,7 +59,7 @@ public:
     void startServer();
 private:
     std::thread       m_collectThread;
-    MetricsManager * m_metricsManager;
+    MetricsManager *  m_metricsManager;
     StringBuffer      m_metricsSinkName;
 
     std::atomic<bool>               m_processing{false};
@@ -97,7 +97,7 @@ protected:
     virtual void stopCollection() override;
 
     static const char * mapHPCCMetricTypeToPrometheusStr(MetricType type);
-    static void toPrometheusMetrics(std::vector<std::shared_ptr<IMetric>>, StringBuffer & out, bool verbose);
+    static void toPrometheusMetrics(const std::vector<std::shared_ptr<IMetric>> &, StringBuffer & out, bool verbose);
 };
 
 extern "C" MetricSink* getSinkInstance(const char *name, const IPropertyTree *pSettingsTree);