Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
c55a70dc
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,发现更多精彩内容 >>
提交
c55a70dc
编写于
6月 10, 2019
作者:
Y
yu yunfeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix codestyle
Former-commit-id: 10caa1a57e07115fd3eab3f3a23eaebda6b8ecf2
上级
07b85d3b
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
39 addition
and
42 deletion
+39
-42
cpp/src/metrics/PrometheusMetrics.cpp
cpp/src/metrics/PrometheusMetrics.cpp
+1
-0
cpp/src/metrics/SystemInfo.cpp
cpp/src/metrics/SystemInfo.cpp
+30
-36
cpp/src/metrics/SystemInfo.h
cpp/src/metrics/SystemInfo.h
+8
-6
未找到文件。
cpp/src/metrics/PrometheusMetrics.cpp
浏览文件 @
c55a70dc
...
...
@@ -87,6 +87,7 @@ void PrometheusMetrics::AddVectorsPerSecondGaugeSet(int num_vector, int dim, dou
}
void
PrometheusMetrics
::
QueryIndexTypePerSecondSet
(
std
::
string
type
,
double
value
)
{
if
(
!
startup_
)
return
;
if
(
type
==
"IVF"
){
query_index_IVF_type_per_second_gauge_
.
Set
(
value
);
}
else
if
(
type
==
"IDMap"
){
...
...
cpp/src/metrics/SystemInfo.cpp
浏览文件 @
c55a70dc
...
...
@@ -21,23 +21,23 @@ namespace vecwise {
namespace
server
{
void
SystemInfo
::
Init
()
{
if
(
initialized
)
return
;
// mutex.lock();
initialized
=
true
;
// mutex.unlock();
if
(
initialized
_
)
return
;
initialized
_
=
true
;
// initialize CPU information
FILE
*
file
;
struct
tms
time
S
ample
;
struct
tms
time
_s
ample
;
char
line
[
128
];
last
CPU_
=
times
(
&
timeS
ample
);
last
SysCPU_
=
timeS
ample
.
tms_stime
;
last
UserCPU_
=
timeS
ample
.
tms_utime
;
last
_cpu_
=
times
(
&
time_s
ample
);
last
_sys_cpu_
=
time_s
ample
.
tms_stime
;
last
_user_cpu_
=
time_s
ample
.
tms_utime
;
file
=
fopen
(
"/proc/cpuinfo"
,
"r"
);
num
Processors
=
0
;
num
_processors_
=
0
;
while
(
fgets
(
line
,
128
,
file
)
!=
NULL
){
if
(
strncmp
(
line
,
"processor"
,
9
)
==
0
)
num
Processors
++
;
if
(
strncmp
(
line
,
"processor"
,
9
)
==
0
)
num
_processors_
++
;
}
total_
RAM
_
=
GetPhysicalMemory
();
total_
ram
_
=
GetPhysicalMemory
();
fclose
(
file
);
//initialize GPU information
...
...
@@ -47,7 +47,7 @@ void SystemInfo::Init() {
printf
(
"System information initilization failed"
);
return
;
}
nvmlresult
=
nvmlDeviceGetCount
(
&
num
Device
);
nvmlresult
=
nvmlDeviceGetCount
(
&
num
_device_
);
if
(
NVML_SUCCESS
!=
nvmlresult
)
{
printf
(
"Unable to get devidce number"
);
return
;
...
...
@@ -90,7 +90,6 @@ SystemInfo::GetProcessUsedMemory() {
}
}
fclose
(
file
);
// printf("RAM is %d",result);
// return value in Byte
return
(
result
*
1024
);
...
...
@@ -98,33 +97,33 @@ SystemInfo::GetProcessUsedMemory() {
double
SystemInfo
::
MemoryPercent
()
{
if
(
!
initialized
)
Init
();
return
GetProcessUsedMemory
()
*
100
/
total_
RAM
_
;
if
(
!
initialized
_
)
Init
();
return
GetProcessUsedMemory
()
*
100
/
total_
ram
_
;
}
double
SystemInfo
::
CPUPercent
()
{
if
(
!
initialized
)
Init
();
struct
tms
time
S
ample
;
if
(
!
initialized
_
)
Init
();
struct
tms
time
_s
ample
;
clock_t
now
;
double
percent
;
now
=
times
(
&
time
S
ample
);
if
(
now
<=
last
CPU_
||
timeSample
.
tms_stime
<
lastSysCPU
_
||
time
Sample
.
tms_utime
<
lastUserCPU
_
){
now
=
times
(
&
time
_s
ample
);
if
(
now
<=
last
_cpu_
||
time_sample
.
tms_stime
<
last_sys_cpu
_
||
time
_sample
.
tms_utime
<
last_user_cpu
_
){
//Overflow detection. Just skip this value.
percent
=
-
1.0
;
}
else
{
percent
=
(
time
Sample
.
tms_stime
-
lastSysCPU
_
)
+
(
time
Sample
.
tms_utime
-
lastUserCPU
_
);
percent
/=
(
now
-
last
CPU
_
);
percent
/=
num
Processors
;
percent
=
(
time
_sample
.
tms_stime
-
last_sys_cpu
_
)
+
(
time
_sample
.
tms_utime
-
last_user_cpu
_
);
percent
/=
(
now
-
last
_cpu
_
);
percent
/=
num
_processors_
;
percent
*=
100
;
}
last
CPU
_
=
now
;
last
SysCPU_
=
timeS
ample
.
tms_stime
;
last
UserCPU_
=
timeS
ample
.
tms_utime
;
last
_cpu
_
=
now
;
last
_sys_cpu_
=
time_s
ample
.
tms_stime
;
last
_user_cpu_
=
time_s
ample
.
tms_utime
;
return
percent
;
}
...
...
@@ -173,31 +172,26 @@ SystemInfo::split(std::string input) {
std
::
vector
<
unsigned
int
>
SystemInfo
::
GPUPercent
()
{
// get GPU usage percent
if
(
!
initialized
)
Init
();
if
(
!
initialized
_
)
Init
();
std
::
vector
<
unsigned
int
>
result
;
nvmlUtilization_t
utilization
;
for
(
int
i
=
0
;
i
<
num
Device
;
++
i
)
{
for
(
int
i
=
0
;
i
<
num
_device_
;
++
i
)
{
nvmlDevice_t
device
;
nvmlDeviceGetHandleByIndex
(
i
,
&
device
);
nvmlDeviceGetUtilizationRates
(
device
,
&
utilization
);
result
.
push_back
(
utilization
.
gpu
);
}
return
result
;
// nvmlDevice_t device;
// nvmlUtilization_t utilization;
// nvmlDeviceGetHandleByIndex(device_index, &device);
// nvmlDeviceGetUtilizationRates(device, &utilization);
// return utilization.gpu;
}
std
::
vector
<
unsigned
long
long
>
SystemInfo
::
GPUMemoryUsed
()
{
// get GPU memory used
if
(
!
initialized
)
Init
();
if
(
!
initialized
_
)
Init
();
std
::
vector
<
unsigned
long
long
int
>
result
;
nvmlMemory_t
nvmlMemory
;
for
(
int
i
=
0
;
i
<
num
Device
;
++
i
)
{
for
(
int
i
=
0
;
i
<
num
_device_
;
++
i
)
{
nvmlDevice_t
device
;
nvmlDeviceGetHandleByIndex
(
i
,
&
device
);
nvmlDeviceGetMemoryInfo
(
device
,
&
nvmlMemory
);
...
...
cpp/src/metrics/SystemInfo.h
浏览文件 @
c55a70dc
...
...
@@ -25,12 +25,14 @@ namespace server {
class
SystemInfo
{
private:
unsigned
long
total_RAM_
;
clock_t
lastCPU_
,
lastSysCPU_
,
lastUserCPU_
;
int
numProcessors
;
unsigned
long
total_ram_
=
0
;
clock_t
last_cpu_
=
clock_t
();
clock_t
last_sys_cpu_
=
clock_t
();
clock_t
last_user_cpu_
=
clock_t
();
int
num_processors_
=
0
;
//number of GPU
unsigned
int
num
Device
;
bool
initialized
=
false
;
unsigned
int
num
_device_
=
0
;
bool
initialized
_
=
false
;
public:
static
SystemInfo
&
...
...
@@ -40,7 +42,7 @@ class SystemInfo {
}
void
Init
();
int
NumDevice
()
{
return
num
Device
;};
int
NumDevice
()
{
return
num
_device_
;};
long
long
parseLine
(
char
*
line
);
unsigned
long
GetPhysicalMemory
();
unsigned
long
GetProcessUsedMemory
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录