aclk_api.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef ACLK_API_H
  3. #define ACLK_API_H
  4. #include "libnetdata/libnetdata.h"
  5. #include "aclk_proxy.h"
  6. // TODO get rid global vars as soon as
  7. // ACLK Legacy is removed
  8. extern int aclk_connected;
  9. extern int aclk_kill_link;
  10. extern usec_t aclk_session_us;
  11. extern time_t aclk_session_sec;
  12. extern int aclk_disable_runtime;
  13. extern int aclk_disable_single_updates;
  14. extern int aclk_stats_enabled;
  15. extern int aclk_alert_reloaded;
  16. extern int aclk_ng;
  17. extern int use_mqtt_5;
  18. #ifdef ENABLE_ACLK
  19. void *aclk_starter(void *ptr);
  20. void aclk_single_update_disable();
  21. void aclk_single_update_enable();
  22. void aclk_alarm_reload(void);
  23. int aclk_update_chart(RRDHOST *host, char *chart_name, int create);
  24. int aclk_update_alarm(RRDHOST *host, ALARM_ENTRY *ae);
  25. void aclk_add_collector(RRDHOST *host, const char *plugin_name, const char *module_name);
  26. void aclk_del_collector(RRDHOST *host, const char *plugin_name, const char *module_name);
  27. #ifdef ENABLE_NEW_CLOUD_PROTOCOL
  28. void aclk_host_state_update(RRDHOST *host, int connect);
  29. #endif
  30. #define NETDATA_ACLK_HOOK \
  31. { .name = "ACLK_Main", \
  32. .config_section = NULL, \
  33. .config_name = NULL, \
  34. .enabled = 1, \
  35. .thread = NULL, \
  36. .init_routine = NULL, \
  37. .start_routine = aclk_starter },
  38. #endif
  39. struct label *add_aclk_host_labels(struct label *label);
  40. char *aclk_state(void);
  41. char *aclk_state_json(void);
  42. #endif /* ACLK_API_H */