Metrics.h 831 字节
Newer Older
Y
yu yunfeng 已提交
1 2 3 4 5 6 7
/*******************************************************************************
 * Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
 * Unauthorized copying of this file, via any medium is strictly prohibited.
 * Proprietary and confidential.
 ******************************************************************************/
#pragma once

Y
yu yunfeng 已提交
8
#include "MetricBase.h"
Y
yudong.cai 已提交
9

Y
yu yunfeng 已提交
10 11

namespace zilliz {
J
jinhai 已提交
12
namespace milvus {
Y
yu yunfeng 已提交
13 14
namespace server {

Y
yu yunfeng 已提交
15 16
#define METRICS_NOW_TIME std::chrono::system_clock::now()
#define METRICS_MICROSECONDS(a, b) (std::chrono::duration_cast<std::chrono::microseconds> (b-a)).count();
Y
yu yunfeng 已提交
17

Y
yu yunfeng 已提交
18
enum class MetricCollectorType {
Y
yu yunfeng 已提交
19 20 21 22 23
    INVALID,
    PROMETHEUS,
    ZABBIX
};

Y
yu yunfeng 已提交
24
class Metrics {
Y
yu yunfeng 已提交
25
 public:
Y
yudong.cai 已提交
26
    static MetricsBase &GetInstance();
Y
yu yunfeng 已提交
27

Y
yudong.cai 已提交
28 29
 private:
    static MetricsBase &CreateMetricsCollector();
Y
yu yunfeng 已提交
30 31 32 33 34 35 36 37 38
};


}
}
}