Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
8e627b6b
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8e627b6b
编写于
6月 28, 2019
作者:
Y
yu yunfeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code coverage
Former-commit-id: 803e6ab906f53dd62e9bcfaa19536b8c37892dc9
上级
41bfe4bf
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
62 addition
and
117 deletion
+62
-117
cpp/src/metrics/MetricBase.h
cpp/src/metrics/MetricBase.h
+4
-23
cpp/src/metrics/PrometheusMetrics.cpp
cpp/src/metrics/PrometheusMetrics.cpp
+1
-22
cpp/src/metrics/PrometheusMetrics.h
cpp/src/metrics/PrometheusMetrics.h
+0
-29
cpp/src/metrics/SystemInfo.cpp
cpp/src/metrics/SystemInfo.cpp
+0
-40
cpp/src/metrics/SystemInfo.h
cpp/src/metrics/SystemInfo.h
+0
-2
cpp/unittest/metrics/CMakeLists.txt
cpp/unittest/metrics/CMakeLists.txt
+1
-0
cpp/unittest/metrics/metrics_test.cpp
cpp/unittest/metrics/metrics_test.cpp
+0
-1
cpp/unittest/metrics/prometheus_test.cpp
cpp/unittest/metrics/prometheus_test.cpp
+56
-0
未找到文件。
cpp/src/metrics/MetricBase.h
浏览文件 @
8e627b6b
...
...
@@ -22,40 +22,21 @@ class MetricsBase{
}
virtual
ServerError
Init
()
{};
virtual
void
AddGroupSuccessTotalIncrement
(
double
value
=
1
)
{};
virtual
void
AddGroupFailTotalIncrement
(
double
value
=
1
)
{};
virtual
void
HasGroupSuccessTotalIncrement
(
double
value
=
1
)
{};
virtual
void
HasGroupFailTotalIncrement
(
double
value
=
1
)
{};
virtual
void
GetGroupSuccessTotalIncrement
(
double
value
=
1
)
{};
virtual
void
GetGroupFailTotalIncrement
(
double
value
=
1
)
{};
virtual
void
GetGroupFilesSuccessTotalIncrement
(
double
value
=
1
)
{};
virtual
void
GetGroupFilesFailTotalIncrement
(
double
value
=
1
)
{};
virtual
void
AddVectorsSuccessTotalIncrement
(
double
value
=
1
)
{};
virtual
void
AddVectorsFailTotalIncrement
(
double
value
=
1
)
{};
virtual
void
AddVectorsDurationHistogramOberve
(
double
value
)
{};
virtual
void
SearchSuccessTotalIncrement
(
double
value
=
1
)
{};
virtual
void
SearchFailTotalIncrement
(
double
value
=
1
)
{};
virtual
void
SearchDurationHistogramObserve
(
double
value
)
{};
virtual
void
RawFileSizeHistogramObserve
(
double
value
)
{};
virtual
void
IndexFileSizeHistogramObserve
(
double
value
)
{};
virtual
void
BuildIndexDurationSecondsHistogramObserve
(
double
value
)
{};
virtual
void
AllBuildIndexDurationSecondsHistogramObserve
(
double
value
)
{};
virtual
void
CacheUsageGaugeIncrement
(
double
value
=
1
)
{};
virtual
void
CacheUsageGaugeDecrement
(
double
value
=
1
)
{};
virtual
void
CacheUsageGaugeSet
(
double
value
)
{};
virtual
void
MetaVisitTotalIncrement
(
double
value
=
1
)
{};
virtual
void
MetaVisitDurationSecondsHistogramObserve
(
double
value
)
{};
virtual
void
MemUsagePercentGaugeSet
(
double
value
)
{};
virtual
void
MemUsagePercentGaugeIncrement
(
double
value
=
1
)
{};
virtual
void
MemUsagePercentGaugeDecrement
(
double
value
=
1
)
{};
virtual
void
MemUsageTotalGaugeSet
(
double
value
)
{};
virtual
void
MemUsageTotalGaugeIncrement
(
double
value
=
1
)
{};
virtual
void
MemUsageTotalGaugeDecrement
(
double
value
=
1
)
{};
virtual
void
MetaAccessTotalIncrement
(
double
value
=
1
)
{};
virtual
void
MetaAccessDurationSecondsHistogramObserve
(
double
value
)
{};
virtual
void
FaissDiskLoadDurationSecondsHistogramObserve
(
double
value
)
{};
virtual
void
FaissDiskLoadSizeBytesHistogramObserve
(
double
value
)
{};
virtual
void
FaissDiskLoadIOSpeedHistogramObserve
(
double
value
)
{};
virtual
void
CacheAccessTotalIncrement
(
double
value
=
1
)
{};
virtual
void
MemTableMergeDurationSecondsHistogramObserve
(
double
value
)
{};
virtual
void
SearchIndexDataDurationSecondsHistogramObserve
(
double
value
)
{};
...
...
cpp/src/metrics/PrometheusMetrics.cpp
浏览文件 @
8e627b6b
...
...
@@ -60,9 +60,6 @@ PrometheusMetrics::GPUPercentGaugeSet() {
if
(
!
startup_
)
return
;
int
numDevide
=
server
::
SystemInfo
::
GetInstance
().
num_device
();
std
::
vector
<
unsigned
int
>
values
=
server
::
SystemInfo
::
GetInstance
().
GPUPercent
();
// for (int i = 0; i < numDevide; ++i) {
// GPU_percent_gauges_[i].Set(static_cast<double>(values[i]));
// }
if
(
numDevide
>=
1
)
GPU0_percent_gauge_
.
Set
(
static_cast
<
double
>
(
values
[
0
]));
if
(
numDevide
>=
2
)
GPU1_percent_gauge_
.
Set
(
static_cast
<
double
>
(
values
[
1
]));
if
(
numDevide
>=
3
)
GPU2_percent_gauge_
.
Set
(
static_cast
<
double
>
(
values
[
2
]));
...
...
@@ -77,13 +74,10 @@ PrometheusMetrics::GPUPercentGaugeSet() {
void
PrometheusMetrics
::
GPUMemoryUsageGaugeSet
()
{
if
(
!
startup_
)
return
;
int
numDevide
=
server
::
SystemInfo
::
GetInstance
().
num_device
();
std
::
vector
<
unsigned
long
long
>
values
=
server
::
SystemInfo
::
GetInstance
().
GPUMemoryUsed
();
constexpr
unsigned
long
long
MtoB
=
1024
*
1024
;
int
numDevice
=
values
.
size
();
// for (int i = 0; i < numDevice; ++i) {
// GPU_memory_usage_gauges_[i].Set(values[i]/MtoB);
// }
if
(
numDevice
>=
1
)
GPU0_memory_usage_gauge_
.
Set
(
values
[
0
]
/
MtoB
);
if
(
numDevice
>=
2
)
GPU1_memory_usage_gauge_
.
Set
(
values
[
1
]
/
MtoB
);
if
(
numDevice
>=
3
)
GPU2_memory_usage_gauge_
.
Set
(
values
[
2
]
/
MtoB
);
...
...
@@ -146,21 +140,6 @@ void PrometheusMetrics::OctetsSet() {
outoctets_gauge_
.
Set
((
in_and_out_octets
.
second
-
old_outoctets
)
/
total_second
);
}
//void PrometheusMetrics::GpuPercentInit() {
// int num_device = SystemInfo::GetInstance().num_device();
// constexpr char device_number[] = "DeviceNum";
// for(int i = 0; i < num_device; ++ i) {
// GPU_percent_gauges_.emplace_back(GPU_percent_.Add({{device_number,std::to_string(i)}}));
// }
//
//}
//void PrometheusMetrics::GpuMemoryInit() {
// int num_device = SystemInfo::GetInstance().num_device();
// constexpr char device_number[] = "DeviceNum";
// for(int i = 0; i < num_device; ++ i) {
// GPU_memory_usage_gauges_.emplace_back(GPU_memory_usage_.Add({{device_number,std::to_string(i)}}));
// }
//}
}
...
...
cpp/src/metrics/PrometheusMetrics.h
浏览文件 @
8e627b6b
...
...
@@ -34,10 +34,6 @@ class PrometheusMetrics: public MetricsBase {
public:
static
PrometheusMetrics
&
GetInstance
()
{
// switch(MetricCollectorType) {
// case: prometheus::
// static
// }
static
PrometheusMetrics
instance
;
return
instance
;
}
...
...
@@ -49,46 +45,21 @@ class PrometheusMetrics: public MetricsBase {
std
::
shared_ptr
<
prometheus
::
Exposer
>
exposer_ptr_
;
std
::
shared_ptr
<
prometheus
::
Registry
>
registry_
=
std
::
make_shared
<
prometheus
::
Registry
>
();
bool
startup_
=
false
;
// void GpuPercentInit();
// void GpuMemoryInit();
public:
void
AddGroupSuccessTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
add_group_success_total_
.
Increment
(
value
);};
void
AddGroupFailTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
add_group_fail_total_
.
Increment
(
value
);};
void
HasGroupSuccessTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
has_group_success_total_
.
Increment
(
value
);};
void
HasGroupFailTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
has_group_fail_total_
.
Increment
(
value
);};
void
GetGroupSuccessTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
get_group_success_total_
.
Increment
(
value
);};
void
GetGroupFailTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
get_group_fail_total_
.
Increment
(
value
);};
void
GetGroupFilesSuccessTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
get_group_files_success_total_
.
Increment
(
value
);};
void
GetGroupFilesFailTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
get_group_files_fail_total_
.
Increment
(
value
);};
void
AddVectorsSuccessTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
add_vectors_success_total_
.
Increment
(
value
);};
void
AddVectorsFailTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
add_vectors_fail_total_
.
Increment
(
value
);};
void
AddVectorsDurationHistogramOberve
(
double
value
)
override
{
if
(
startup_
)
add_vectors_duration_histogram_
.
Observe
(
value
);};
void
SearchSuccessTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
search_success_total_
.
Increment
(
value
);};
void
SearchFailTotalIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
search_fail_total_
.
Increment
(
value
);
};
void
SearchDurationHistogramObserve
(
double
value
)
override
{
if
(
startup_
)
search_duration_histogram_
.
Observe
(
value
);};
void
RawFileSizeHistogramObserve
(
double
value
)
override
{
if
(
startup_
)
raw_files_size_histogram_
.
Observe
(
value
);};
void
IndexFileSizeHistogramObserve
(
double
value
)
override
{
if
(
startup_
)
index_files_size_histogram_
.
Observe
(
value
);};
void
BuildIndexDurationSecondsHistogramObserve
(
double
value
)
override
{
if
(
startup_
)
build_index_duration_seconds_histogram_
.
Observe
(
value
);};
void
AllBuildIndexDurationSecondsHistogramObserve
(
double
value
)
override
{
if
(
startup_
)
all_build_index_duration_seconds_histogram_
.
Observe
(
value
);};
void
CacheUsageGaugeIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
cache_usage_gauge_
.
Increment
(
value
);};
void
CacheUsageGaugeDecrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
cache_usage_gauge_
.
Decrement
(
value
);};
void
CacheUsageGaugeSet
(
double
value
)
override
{
if
(
startup_
)
cache_usage_gauge_
.
Set
(
value
);};
// void MetaVisitTotalIncrement(double value = 1.0) override { meta_visit_total_.Increment(value);};
// void MetaVisitDurationSecondsHistogramObserve(double value) override { meta_visit_duration_seconds_histogram_.Observe(value);};
void
MemUsagePercentGaugeSet
(
double
value
)
override
{
if
(
startup_
)
mem_usage_percent_gauge_
.
Set
(
value
);};
void
MemUsagePercentGaugeIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
mem_usage_percent_gauge_
.
Increment
(
value
);};
void
MemUsagePercentGaugeDecrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
mem_usage_percent_gauge_
.
Decrement
(
value
);};
void
MemUsageTotalGaugeSet
(
double
value
)
override
{
if
(
startup_
)
mem_usage_total_gauge_
.
Set
(
value
);};
void
MemUsageTotalGaugeIncrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
mem_usage_total_gauge_
.
Increment
(
value
);};
void
MemUsageTotalGaugeDecrement
(
double
value
=
1.0
)
override
{
if
(
startup_
)
mem_usage_total_gauge_
.
Decrement
(
value
);};
void
MetaAccessTotalIncrement
(
double
value
=
1
)
override
{
if
(
startup_
)
meta_access_total_
.
Increment
(
value
);};
void
MetaAccessDurationSecondsHistogramObserve
(
double
value
)
override
{
if
(
startup_
)
meta_access_duration_seconds_histogram_
.
Observe
(
value
);};
void
FaissDiskLoadDurationSecondsHistogramObserve
(
double
value
)
override
{
if
(
startup_
)
faiss_disk_load_duration_seconds_histogram_
.
Observe
(
value
);};
void
FaissDiskLoadSizeBytesHistogramObserve
(
double
value
)
override
{
if
(
startup_
)
faiss_disk_load_size_bytes_histogram_
.
Observe
(
value
);};
// void FaissDiskLoadIOSpeedHistogramObserve(double value) { if(startup_) faiss_disk_load_IO_speed_histogram_.Observe(value);};
void
FaissDiskLoadIOSpeedGaugeSet
(
double
value
)
override
{
if
(
startup_
)
faiss_disk_load_IO_speed_gauge_
.
Set
(
value
);};
void
CacheAccessTotalIncrement
(
double
value
=
1
)
override
{
if
(
startup_
)
cache_access_total_
.
Increment
(
value
);};
...
...
cpp/src/metrics/SystemInfo.cpp
浏览文件 @
8e627b6b
...
...
@@ -135,46 +135,6 @@ SystemInfo::CPUPercent() {
return
percent
;
}
//std::unordered_map<int,std::vector<double>>
//SystemInfo::GetGPUMemPercent(){
// // return GPUID: MEM%
//
// //write GPU info to a file
// system("nvidia-smi pmon -c 1 > GPUInfo.txt");
// int pid = (int)getpid();
//
// //parse line
// std::ifstream read_file;
// read_file.open("GPUInfo.txt");
// std::string line;
// while(getline(read_file, line)){
// std::vector<std::string> words = split(line);
// // 0 1 2 3 4 5 6 7
// //words stand for gpuindex, pid, type, sm, mem, enc, dec, command respectively
// if(std::stoi(words[1]) != pid) continue;
// int GPUindex = std::stoi(words[0]);
// double sm_percent = std::stod(words[3]);
// double mem_percent = std::stod(words[4]);
//
// }
//
//}
//std::vector<std::string>
//SystemInfo::split(std::string input) {
// std::vector<std::string> words;
// input += " ";
// int word_start = 0;
// for (int i = 0; i < input.size(); ++i) {
// if(input[i] != ' ') continue;
// if(input[i] == ' ') {
// word_start = i + 1;
// continue;
// }
// words.push_back(input.substr(word_start,i-word_start));
// }
// return words;
//}
std
::
vector
<
unsigned
int
>
SystemInfo
::
GPUPercent
()
{
...
...
cpp/src/metrics/SystemInfo.h
浏览文件 @
8e627b6b
...
...
@@ -59,8 +59,6 @@ class SystemInfo {
double
MemoryPercent
();
double
CPUPercent
();
std
::
pair
<
unsigned
long
long
,
unsigned
long
long
>
Octets
();
// std::unordered_map<int,std::vector<double>> GetGPUMemPercent() {};
// std::vector<std::string> split(std::string input) {};
std
::
vector
<
unsigned
int
>
GPUPercent
();
std
::
vector
<
unsigned
long
long
>
GPUMemoryUsed
();
...
...
cpp/unittest/metrics/CMakeLists.txt
浏览文件 @
8e627b6b
...
...
@@ -55,6 +55,7 @@ set(count_test_src
${
wrapper_src
}
${
metrics_src
}
metrics_test.cpp
prometheus_test.cpp
../db/utils.cpp
)
...
...
cpp/unittest/metrics/metrics_test.cpp
浏览文件 @
8e627b6b
...
...
@@ -24,7 +24,6 @@
using
namespace
zilliz
::
milvus
;
TEST_F
(
DBTest
,
Metric_Tes
)
{
server
::
SystemInfo
::
GetInstance
().
Init
();
...
...
cpp/unittest/metrics/prometheus_test.cpp
0 → 100644
浏览文件 @
8e627b6b
/*******************************************************************************
* Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
* Unauthorized copying of this file, via any medium is strictly prohibited.
* Proprietary and confidential.
******************************************************************************/
#include "metrics/PrometheusMetrics.h"
#include <gtest/gtest.h>
#include <iostream>
using
namespace
zilliz
::
milvus
;
TEST
(
PrometheusTest
,
Prometheus_Test
){
server
::
PrometheusMetrics
instance
=
server
::
PrometheusMetrics
::
GetInstance
();
instance
.
Init
();
server
::
SystemInfo
::
GetInstance
().
Init
();
instance
.
AddVectorsSuccessTotalIncrement
();
instance
.
AddVectorsFailTotalIncrement
();
instance
.
AddVectorsDurationHistogramOberve
(
1.0
);
instance
.
RawFileSizeHistogramObserve
(
1.0
);
instance
.
IndexFileSizeHistogramObserve
(
1.0
);
instance
.
BuildIndexDurationSecondsHistogramObserve
(
1.0
);
instance
.
CacheUsageGaugeSet
(
1.0
);
instance
.
MetaAccessTotalIncrement
();
instance
.
MetaAccessDurationSecondsHistogramObserve
(
1.0
);
instance
.
FaissDiskLoadDurationSecondsHistogramObserve
(
1.0
);
instance
.
FaissDiskLoadSizeBytesHistogramObserve
(
1.0
);
instance
.
FaissDiskLoadIOSpeedGaugeSet
(
1.0
);
instance
.
CacheAccessTotalIncrement
();
instance
.
MemTableMergeDurationSecondsHistogramObserve
(
1.0
);
instance
.
SearchIndexDataDurationSecondsHistogramObserve
(
1.0
);
instance
.
SearchRawDataDurationSecondsHistogramObserve
(
1.0
);
instance
.
IndexFileSizeTotalIncrement
();
instance
.
RawFileSizeTotalIncrement
();
instance
.
IndexFileSizeGaugeSet
(
1.0
);
instance
.
RawFileSizeGaugeSet
(
1.0
);
instance
.
QueryResponseSummaryObserve
(
1.0
);
instance
.
DiskStoreIOSpeedGaugeSet
(
1.0
);
instance
.
DataFileSizeGaugeSet
(
1.0
);
instance
.
AddVectorsSuccessGaugeSet
(
1.0
);
instance
.
AddVectorsFailGaugeSet
(
1.0
);
instance
.
QueryVectorResponseSummaryObserve
(
1.0
,
1
);
instance
.
QueryVectorResponsePerSecondGaugeSet
(
1.0
);
instance
.
CPUUsagePercentSet
();
instance
.
RAMUsagePercentSet
();
instance
.
QueryResponsePerSecondGaugeSet
(
1.0
);
instance
.
GPUPercentGaugeSet
();
instance
.
GPUMemoryUsageGaugeSet
();
instance
.
AddVectorsPerSecondGaugeSet
(
1
,
1
,
1
);
instance
.
QueryIndexTypePerSecondSet
(
"IVF"
,
1.0
);
instance
.
ConnectionGaugeIncrement
();
instance
.
ConnectionGaugeDecrement
();
instance
.
KeepingAliveCounterIncrement
();
instance
.
OctetsSet
();
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录