summaryrefslogtreecommitdiffstats
path: root/daemon
diff options
context:
space:
mode:
authorVladimir Kobal <vlad@prokk.net>2019-12-12 21:41:11 +0200
committerGitHub <noreply@github.com>2019-12-12 21:41:11 +0200
commit6f270819121afb743d783f9a72786e367d1048a3 (patch)
tree6e17d6764e5c6d72bb53bbfcc35cecce4b18d325 /daemon
parent7278d5bcd987fb9646da4a8a837173bae3b68459 (diff)
Implement the main flow for the Exporting Engine (#7149)
* Add top level tests * Add a skeleton for preparing buffers * Initialize graphite instance * Prepare buffers for all instances * Add Grafite collected value formatter * Add support for exporting.conf read and parsing * - Use new exporting_config instead of netdata_config * Implement Grafite worker * Disable exporting engine compilation if libuv is not available * Add mutex locks - Configure connectors as connector_<type> in sections of exporting.conf - Change exporting_select_type to check for connector_ fields * - Override exporting_config structure if there no exporting.conf so that look ups don't fail and we maintain backwards compatibility * Separate fixtures in unit tests * Test exporting_discard_responce * Test response receiving * Test buffer sending * Test simple connector worker - Instance section has the format connector:instance_name e.g graphite:my_graphite_instance - Connectors with : in their name e.g graphite:plaintext are reserved So graphite:plaintext is not accepted because it would activate an instance with name "plaintext" It should be graphite:plaintext:instance_name * - Enable the add_connector_instance to cleanup the internal structure by passing NULL,not NULL arguments * Implement configurable update interval - Add additional check to verify instance uniqueness across connectors * Add host and chart filters * Add the value calculation over a database series * Add the calculated over stored data graphite connector * Add tests for graphite connector * Add JSON connector * Add tests for JSON formatting functions * Add OpenTSDB connector * Add tests for the OpenTSDB connector * Add temporaty notes to the documentation
Diffstat (limited to 'daemon')
-rw-r--r--daemon/common.h1
-rw-r--r--daemon/main.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/daemon/common.h b/daemon/common.h
index df36a49d4e..c04c8ad04f 100644
--- a/daemon/common.h
+++ b/daemon/common.h
@@ -27,7 +27,6 @@
#define config_generate(buffer, only_changed) appconfig_generate(&netdata_config, buffer, only_changed)
-
// ----------------------------------------------------------------------------
// netdata include files
diff --git a/daemon/main.c b/daemon/main.c
index ee2a437fd0..f8c6d84d45 100644
--- a/daemon/main.c
+++ b/daemon/main.c
@@ -75,6 +75,9 @@ struct netdata_static_thread static_threads[] = {
// common plugins for all systems
{"BACKENDS", NULL, NULL, 1, NULL, NULL, backends_main},
+#ifdef ENABLE_EXPORTING
+ {"EXPORTING", NULL, NULL, 1, NULL, NULL, exporting_main},
+#endif
{"WEB_SERVER[static1]", NULL, NULL, 0, NULL, NULL, socket_listen_main_static_threaded},
{"STREAM", NULL, NULL, 0, NULL, NULL, rrdpush_sender_thread},
@@ -1105,6 +1108,7 @@ int main(int argc, char **argv) {
if(!config_loaded)
load_netdata_conf(NULL, 0);
+
// ------------------------------------------------------------------------
// initialize netdata
{