Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
2e62a052
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
Fork自
milvus / milvus
通知
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,发现更多精彩内容 >>
未验证
提交
2e62a052
编写于
11月 15, 2019
作者:
J
Jin Hai
提交者:
GitHub
11月 15, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #332 from youny626/0.6.0
Add option to enable / disable prometheus
上级
651f5e91
8ae3a839
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
85 addition
and
37 deletion
+85
-37
CHANGELOG.md
CHANGELOG.md
+1
-0
core/CMakeLists.txt
core/CMakeLists.txt
+18
-14
core/build.sh
core/build.sh
+10
-4
core/src/CMakeLists.txt
core/src/CMakeLists.txt
+24
-4
core/src/metrics/Metrics.cpp
core/src/metrics/Metrics.cpp
+7
-1
core/src/metrics/prometheus/PrometheusMetrics.cpp
core/src/metrics/prometheus/PrometheusMetrics.cpp
+2
-2
core/src/metrics/prometheus/PrometheusMetrics.h
core/src/metrics/prometheus/PrometheusMetrics.h
+1
-1
core/unittest/CMakeLists.txt
core/unittest/CMakeLists.txt
+12
-6
core/unittest/metrics/CMakeLists.txt
core/unittest/metrics/CMakeLists.txt
+9
-4
core/unittest/metrics/test_prometheus.cpp
core/unittest/metrics/test_prometheus.cpp
+1
-1
未找到文件。
CHANGELOG.md
浏览文件 @
2e62a052
...
...
@@ -18,6 +18,7 @@ Please mark all change in change log and use the ticket from JIRA.
-
\#
260 - C++ SDK README
-
\#
314 - add Find FAISS in CMake
-
\#
310 - Add Q&A for 'protocol https not supported or disable in libcurl' issue
-
\#
322 - Add option to enable / disable prometheus
## Task
...
...
core/CMakeLists.txt
浏览文件 @
2e62a052
...
...
@@ -33,7 +33,7 @@ message(STATUS "Build time = ${BUILD_TIME}")
MACRO
(
GET_GIT_BRANCH_NAME GIT_BRANCH_NAME
)
execute_process
(
COMMAND sh
"-c"
"git log --decorate | head -n 1 | sed 's/.*(
\\
(.*
\\
))/
\\
1/' | sed 's/.*
\\
(.*
\\
),.*/
\\
1/' | sed 's=[a-zA-Z]*\/==g'"
OUTPUT_VARIABLE
${
GIT_BRANCH_NAME
}
)
OUTPUT_VARIABLE
${
GIT_BRANCH_NAME
}
)
ENDMACRO
(
GET_GIT_BRANCH_NAME
)
GET_GIT_BRANCH_NAME
(
GIT_BRANCH_NAME
)
...
...
@@ -117,17 +117,17 @@ include(DefineOptions)
include
(
BuildUtils
)
include
(
ThirdPartyPackages
)
if
(
MILVUS_USE_CCACHE
)
find_program
(
CCACHE_FOUND ccache
)
if
(
CCACHE_FOUND
)
message
(
STATUS
"Using ccache:
${
CCACHE_FOUND
}
"
)
set_property
(
GLOBAL PROPERTY RULE_LAUNCH_COMPILE
${
CCACHE_FOUND
}
)
set_property
(
GLOBAL PROPERTY RULE_LAUNCH_LINK
${
CCACHE_FOUND
}
)
# let ccache preserve C++ comments, because some of them may be
# meaningful to the compiler
set
(
ENV{CCACHE_COMMENTS}
"1"
)
endif
(
CCACHE_FOUND
)
endif
()
if
(
MILVUS_USE_CCACHE
)
find_program
(
CCACHE_FOUND ccache
)
if
(
CCACHE_FOUND
)
message
(
STATUS
"Using ccache:
${
CCACHE_FOUND
}
"
)
set_property
(
GLOBAL PROPERTY RULE_LAUNCH_COMPILE
${
CCACHE_FOUND
}
)
set_property
(
GLOBAL PROPERTY RULE_LAUNCH_LINK
${
CCACHE_FOUND
}
)
# let ccache preserve C++ comments, because some of them may be
# meaningful to the compiler
set
(
ENV{CCACHE_COMMENTS}
"1"
)
endif
(
CCACHE_FOUND
)
endif
()
set
(
MILVUS_CPU_VERSION false
)
if
(
MILVUS_GPU_VERSION
)
...
...
@@ -142,6 +142,10 @@ else ()
add_compile_definitions
(
"MILVUS_CPU_VERSION"
)
endif
()
if
(
MILVUS_WITH_PROMETHEUS
)
add_compile_definitions
(
"MILVUS_WITH_PROMETHEUS"
)
endif
()
if
(
CMAKE_BUILD_TYPE STREQUAL
"Release"
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-O3 -fPIC -DELPP_THREAD_SAFE -fopenmp"
)
if
(
MILVUS_GPU_VERSION
)
...
...
@@ -176,9 +180,9 @@ endif ()
if
(
MILVUS_GPU_VERSION
)
configure_file
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/conf/server_gpu_config.template
${
CMAKE_CURRENT_SOURCE_DIR
}
/conf/server_config.yaml
)
else
()
else
()
configure_file
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/conf/server_cpu_config.template
${
CMAKE_CURRENT_SOURCE_DIR
}
/conf/server_config.yaml
)
endif
()
endif
()
configure_file
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/conf/log_config.template
${
CMAKE_CURRENT_SOURCE_DIR
}
/conf/log_config.conf
)
...
...
core/build.sh
浏览文件 @
2e62a052
...
...
@@ -14,10 +14,11 @@ CUSTOMIZATION="OFF" # default use ori faiss
CUDA_COMPILER
=
/usr/local/cuda/bin/nvcc
GPU_VERSION
=
"OFF"
#defaults to CPU version
WITH_MKL
=
"OFF"
FAISS_ROOT
=
""
FAISS_ROOT
=
""
#FAISS root path
FAISS_SOURCE
=
"BUNDLED"
WITH_PROMETHEUS
=
"ON"
while
getopts
"p:d:t:f:ulrcgjhxzm"
arg
while
getopts
"p:d:t:f:ulrcgjhxzm
e
"
arg
do
case
$arg
in
p
)
...
...
@@ -63,7 +64,10 @@ do
;;
m
)
WITH_MKL
=
"ON"
;;
;;
e
)
WITH_PROMETHEUS
=
"OFF"
;;
h
)
# help
echo
"
...
...
@@ -80,10 +84,11 @@ parameter:
-j: use jfrog cache build directory(default: OFF)
-g: build GPU version(default: OFF)
-m: build with MKL(default: OFF)
-e: build without prometheus
-h: help
usage:
./build.sh -p
\$
{INSTALL_PREFIX} -t
\$
{BUILD_TYPE} -f
\$
{FAISS_ROOT} [-u] [-l] [-r] [-c] [-z] [-j] [-g] [-m] [-h]
./build.sh -p
\$
{INSTALL_PREFIX} -t
\$
{BUILD_TYPE} -f
\$
{FAISS_ROOT} [-u] [-l] [-r] [-c] [-z] [-j] [-g] [-m] [-
e] [-
h]
"
exit
0
;;
...
...
@@ -118,6 +123,7 @@ CMAKE_CMD="cmake \
-DCUSTOMIZATION=
${
CUSTOMIZATION
}
\
-DMILVUS_GPU_VERSION=
${
GPU_VERSION
}
\
-DFAISS_WITH_MKL=
${
WITH_MKL
}
\
-DMILVUS_WITH_PROMETHEUS=
${
WITH_PROMETHEUS
}
\
../"
echo
${
CMAKE_CMD
}
${
CMAKE_CMD
}
...
...
core/src/CMakeLists.txt
浏览文件 @
2e62a052
...
...
@@ -37,6 +37,7 @@ endforeach ()
aux_source_directory
(
${
MILVUS_ENGINE_SRC
}
/cache cache_files
)
aux_source_directory
(
${
MILVUS_ENGINE_SRC
}
/config config_files
)
aux_source_directory
(
${
MILVUS_ENGINE_SRC
}
/metrics metrics_files
)
aux_source_directory
(
${
MILVUS_ENGINE_SRC
}
/metrics/prometheus metrics_prometheus_files
)
aux_source_directory
(
${
MILVUS_ENGINE_SRC
}
/db db_main_files
)
aux_source_directory
(
${
MILVUS_ENGINE_SRC
}
/db/engine db_engine_files
)
aux_source_directory
(
${
MILVUS_ENGINE_SRC
}
/db/insert db_insert_files
)
...
...
@@ -91,6 +92,11 @@ set(engine_files
${
wrapper_files
}
)
if
(
MILVUS_WITH_PROMETHEUS
)
set
(
engine_files
${
engine_files
}
${
metrics_prometheus_files
}
)
endif
()
set
(
client_grpc_lib
grpcpp_channelz
grpc++
...
...
@@ -115,7 +121,6 @@ set(third_party_libs
sqlite
${
client_grpc_lib
}
yaml-cpp
${
prometheus_lib
}
mysqlpp
zlib
${
boost_lib
}
...
...
@@ -138,13 +143,19 @@ if (MILVUS_GPU_VERSION)
)
endif
()
if
(
MILVUS_ENABLE_PROFILING
STREQUAL
"ON"
)
if
(
MILVUS_ENABLE_PROFILING
)
set
(
third_party_libs
${
third_party_libs
}
gperftools
libunwind
)
endif
()
if
(
MILVUS_WITH_PROMETHEUS
)
set
(
third_party_libs
${
third_party_libs
}
${
prometheus_lib
}
)
endif
()
set
(
engine_libs
pthread
libgomp.a
...
...
@@ -166,13 +177,22 @@ target_link_libraries(milvus_engine
${
engine_libs
}
)
add_library
(
metrics STATIC
${
metrics_files
}
)
if
(
MILVUS_WITH_PROMETHEUS
)
add_library
(
metrics STATIC
${
metrics_files
}
${
metrics_prometheus_files
}
)
else
()
add_library
(
metrics STATIC
${
metrics_files
}
)
endif
()
set
(
metrics_lib
yaml-cpp
${
prometheus_lib
}
)
if
(
MILVUS_WITH_PROMETHEUS
)
set
(
metrics_lib
${
metrics_lib
}
${
prometheus_lib
}
)
endif
()
target_link_libraries
(
metrics
${
metrics_lib
}
)
set
(
server_libs
...
...
core/src/metrics/Metrics.cpp
浏览文件 @
2e62a052
...
...
@@ -16,8 +16,10 @@
// under the License.
#include "metrics/Metrics.h"
#include "PrometheusMetrics.h"
#include "server/Config.h"
#ifdef MILVUS_WITH_PROMETHEUS
#include "metrics/prometheus/PrometheusMetrics.h"
#endif
#include <string>
...
...
@@ -37,11 +39,15 @@ Metrics::CreateMetricsCollector() {
config
.
GetMetricConfigCollector
(
collector_type_str
);
#ifdef MILVUS_WITH_PROMETHEUS
if
(
collector_type_str
==
"prometheus"
)
{
return
PrometheusMetrics
::
GetInstance
();
}
else
{
return
MetricsBase
::
GetInstance
();
}
#else
return
MetricsBase
::
GetInstance
();
#endif
}
}
// namespace server
...
...
core/src/metrics/PrometheusMetrics.cpp
→
core/src/metrics/
prometheus/
PrometheusMetrics.cpp
浏览文件 @
2e62a052
...
...
@@ -15,9 +15,9 @@
// specific language governing permissions and limitations
// under the License.
#include "metrics/PrometheusMetrics.h"
#include "SystemInfo.h"
#include "metrics/prometheus/PrometheusMetrics.h"
#include "cache/GpuCacheMgr.h"
#include "metrics/SystemInfo.h"
#include "server/Config.h"
#include "utils/Log.h"
...
...
core/src/metrics/PrometheusMetrics.h
→
core/src/metrics/
prometheus/
PrometheusMetrics.h
浏览文件 @
2e62a052
...
...
@@ -24,7 +24,7 @@
#include <string>
#include <vector>
#include "MetricBase.h"
#include "
metrics/
MetricBase.h"
#include "utils/Error.h"
#define METRICS_NOW_TIME std::chrono::system_clock::now()
...
...
core/unittest/CMakeLists.txt
浏览文件 @
2e62a052
...
...
@@ -110,12 +110,18 @@ set(unittest_libs
pthread
metrics
gfortran
prometheus-cpp-pull
prometheus-cpp-push
prometheus-cpp-core
dl
z
)
if
(
MILVUS_WITH_PROMETHEUS
)
set
(
unittest_libs
${
unittest_libs
}
prometheus-cpp-push
prometheus-cpp-pull
prometheus-cpp-core
)
endif
()
set
(
unittest_libs
${
unittest_libs
}
dl
z
)
if
(
MILVUS_GPU_VERSION
)
include_directories
(
"
${
CUDA_INCLUDE_DIRS
}
"
)
...
...
@@ -135,4 +141,4 @@ add_subdirectory(db)
add_subdirectory
(
wrapper
)
add_subdirectory
(
metrics
)
add_subdirectory
(
scheduler
)
add_subdirectory
(
server
)
\ No newline at end of file
add_subdirectory
(
server
)
core/unittest/metrics/CMakeLists.txt
浏览文件 @
2e62a052
...
...
@@ -18,10 +18,15 @@
#-------------------------------------------------------------------------------
set
(
test_files
${
CMAKE_CURRENT_SOURCE_DIR
}
/test_metricbase.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/test_metrics.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/test_prometheus.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/utils.cpp
)
test_metricbase.cpp
test_metrics.cpp
utils.cpp
)
if
(
MILVUS_WITH_PROMETHEUS
)
set
(
test_files
${
test_files
}
test_prometheus.cpp
)
endif
()
add_executable
(
test_metrics
${
common_files
}
...
...
core/unittest/metrics/test_prometheus.cpp
浏览文件 @
2e62a052
...
...
@@ -15,8 +15,8 @@
// specific language governing permissions and limitations
// under the License.
#include "metrics/PrometheusMetrics.h"
#include "server/Config.h"
#include "metrics/prometheus/PrometheusMetrics.h"
#include <gtest/gtest.h>
#include <iostream>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录