summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
authorvkalintiris <vasilis@netdata.cloud>2023-02-28 15:53:45 +0200
committerGitHub <noreply@github.com>2023-02-28 15:53:45 +0200
commit45981cb7347a5fed7ebbabba0fe193d0d9471eff (patch)
treedd5690ab7350d3885813bb3709b254e68c2ac7f4 /Makefile.am
parentc8b4f19013182b03b6ba727dd784181e1beb8bf9 (diff)
Port ML from C++ to C. (#14567)
* Port ML from C++ to C. Pretty much everything is a non-functional change, ie. the functionality is identical to the one provided by the existing implementation that is written in C++. Performance-wise, this implementation: - Eliminates/reduces the number of allocations and deallocations we have to do for training/detection, - Uses just a single thread to perform detection for *all* the hosts (ie. reduces the number of required threads by 50% on parents), and - Allows training, prediction and detection of dimensions that have an update_every that is different from that of the localhost. The only C++ functionality that we still use is vectors, because they make our life easier and they are pretty much a requirement imposed by dlib. * Remove profile.plugin It was useful only for testing during development. * Limit logs to 200 lines per period * Properly generate ml_info in /api/v1/info endpoint. * Remove resource usage charts since we use worker charts. * Use a temporary to make linters happy. * Rebase. * Fix builds that have ML functionality disabled.
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am25
1 files changed, 4 insertions, 21 deletions
diff --git a/Makefile.am b/Makefile.am
index ead4b54719..a592c1a321 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -235,37 +235,20 @@ ML_FILES = \
if ENABLE_ML
ML_FILES += \
- ml/ADCharts.h \
- ml/ADCharts.cc \
- ml/Config.h \
+ ml/ad_charts.h \
+ ml/ad_charts.cc \
ml/Config.cc \
- ml/Chart.cc \
- ml/Chart.h \
- ml/Stats.h \
- ml/Dimension.cc \
- ml/Dimension.h \
- ml/Host.h \
- ml/Host.cc \
- ml/Mutex.h \
- ml/Queue.h \
- ml/Query.h \
- ml/KMeans.h \
- ml/KMeans.cc \
- ml/SamplesBuffer.h \
- ml/SamplesBuffer.cc \
ml/dlib/dlib/all/source.cpp \
ml/json/single_include/nlohmann/json.hpp \
+ ml/nml.h \
+ ml/nml.cc \
ml/ml.cc \
- ml/ml-private.h \
$(NULL)
# Disable warnings from dlib library
ml/dlib/dlib/all/source.$(OBJEXT) : CXXFLAGS += -Wno-sign-compare -Wno-type-limits -Wno-aggressive-loop-optimizations -Wno-stringop-overflow -Wno-psabi
# Disable ml warnings
-ml/Dimension.$(OBJEXT) : CXXFLAGS += -Wno-psabi
-ml/Host.$(OBJEXT) : CXXFLAGS += -Wno-psabi
-ml/KMeans.$(OBJEXT) : CXXFLAGS += -Wno-psabi
ml/ml.$(OBJEXT) : CXXFLAGS += -Wno-psabi
endif