summaryrefslogtreecommitdiffstats
path: root/src/ml/ml.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 12:08:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 12:08:18 +0000
commit5da14042f70711ea5cf66e034699730335462f66 (patch)
tree0f6354ccac934ed87a2d555f45be4c831cf92f4a /src/ml/ml.h
parentReleasing debian version 1.44.3-2. (diff)
downloadnetdata-5da14042f70711ea5cf66e034699730335462f66.tar.xz
netdata-5da14042f70711ea5cf66e034699730335462f66.zip
Merging upstream version 1.45.3+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/ml/ml.h')
-rw-r--r--src/ml/ml.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/ml/ml.h b/src/ml/ml.h
new file mode 100644
index 000000000..5fe333bf7
--- /dev/null
+++ b/src/ml/ml.h
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#ifndef NETDATA_ML_H
+#define NETDATA_ML_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "daemon/common.h"
+#include "web/api/queries/rrdr.h"
+#include "database/sqlite/sqlite_db_migration.h"
+
+bool ml_capable();
+bool ml_enabled(RRDHOST *rh);
+bool ml_streaming_enabled();
+
+void ml_init(void);
+void ml_fini(void);
+
+void ml_start_threads(void);
+void ml_stop_threads(void);
+
+void ml_host_new(RRDHOST *rh);
+void ml_host_delete(RRDHOST *rh);
+
+void ml_host_start(RRDHOST *RH);
+void ml_host_stop(RRDHOST *RH);
+
+void ml_host_get_info(RRDHOST *RH, BUFFER *wb);
+void ml_host_get_detection_info(RRDHOST *RH, BUFFER *wb);
+void ml_host_get_models(RRDHOST *RH, BUFFER *wb);
+
+void ml_chart_new(RRDSET *rs);
+void ml_chart_delete(RRDSET *rs);
+bool ml_chart_update_begin(RRDSET *rs);
+void ml_chart_update_end(RRDSET *rs);
+
+void ml_dimension_new(RRDDIM *rd);
+void ml_dimension_delete(RRDDIM *rd);
+bool ml_dimension_is_anomalous(RRDDIM *rd, time_t curr_time, double value, bool exists);
+
+int ml_dimension_load_models(RRDDIM *rd, sqlite3_stmt **stmt);
+
+void ml_update_global_statistics_charts(uint64_t models_consulted);
+
+bool ml_host_get_host_status(RRDHOST *rh, struct ml_metrics_statistics *mlm);
+bool ml_host_running(RRDHOST *rh);
+uint64_t sqlite_get_ml_space(void);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* NETDATA_ML_H */