提交 d416d1c6 编写于 作者: Y yudong.cai

opt metrics


Former-commit-id: 3455b1ffc9d401e8e689c5833fb5e1985b3dc7b5
上级 81cc572f
......@@ -3,36 +3,29 @@
* Unauthorized copying of this file, via any medium is strictly prohibited.
* Proprietary and confidential.
******************************************************************************/
#include "Metrics.h"
#include "PrometheusMetrics.h"
namespace zilliz {
namespace milvus {
namespace server {
MetricsBase &
Metrics::CreateMetricsCollector(MetricCollectorType collector_type) {
switch (collector_type) {
case MetricCollectorType::PROMETHEUS:
static PrometheusMetrics instance = PrometheusMetrics::GetInstance();
return instance;
default:return MetricsBase::GetInstance();
}
Metrics::GetInstance() {
static MetricsBase &instance = CreateMetricsCollector();
return instance;
}
MetricsBase &
Metrics::GetInstance() {
Metrics::CreateMetricsCollector() {
ConfigNode &config = ServerConfig::GetInstance().GetConfig(CONFIG_METRIC);
std::string collector_typr_str = config.GetValue(CONFIG_METRIC_COLLECTOR);
std::string collector_type_str = config.GetValue(CONFIG_METRIC_COLLECTOR);
if (collector_typr_str == "prometheus") {
return CreateMetricsCollector(MetricCollectorType::PROMETHEUS);
} else if (collector_typr_str == "zabbix") {
return CreateMetricsCollector(MetricCollectorType::ZABBIX);
if (collector_type_str == "prometheus") {
return PrometheusMetrics::GetInstance();
} else {
return CreateMetricsCollector(MetricCollectorType::INVALID);
return MetricsBase::GetInstance();
}
}
......
......@@ -5,22 +5,14 @@
******************************************************************************/
#pragma once
#include "utils/Error.h"
#include <memory>
#include <vector>
#pragma once
#include "MetricBase.h"
//#include "PrometheusMetrics.h"
namespace zilliz {
namespace milvus {
namespace server {
#define METRICS_NOW_TIME std::chrono::system_clock::now()
//#define server::Metrics::GetInstance() server::Metrics::GetInstance()
#define METRICS_MICROSECONDS(a, b) (std::chrono::duration_cast<std::chrono::microseconds> (b-a)).count();
enum class MetricCollectorType {
......@@ -31,15 +23,13 @@ enum class MetricCollectorType {
class Metrics {
public:
static MetricsBase &
CreateMetricsCollector(MetricCollectorType collector_type);
static MetricsBase &GetInstance();
static MetricsBase &
GetInstance();
private:
static MetricsBase &CreateMetricsCollector();
};
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册