diff options
author | vkalintiris <vasilis@netdata.cloud> | 2023-02-28 15:53:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-28 15:53:45 +0200 |
commit | 45981cb7347a5fed7ebbabba0fe193d0d9471eff (patch) | |
tree | dd5690ab7350d3885813bb3709b254e68c2ac7f4 /Makefile.am | |
parent | c8b4f19013182b03b6ba727dd784181e1beb8bf9 (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.am | 25 |
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 |