remote_write.h 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_H
  3. #define NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_H
  4. #include "exporting/exporting_engine.h"
  5. #include "exporting/prometheus/prometheus.h"
  6. #include "remote_write_request.h"
  7. struct prometheus_remote_write_specific_data {
  8. void *write_request;
  9. };
  10. struct prometheus_remote_write_variables_callback_options {
  11. RRDHOST *host;
  12. time_t now;
  13. struct instance *instance;
  14. };
  15. int init_prometheus_remote_write_instance(struct instance *instance);
  16. void clean_prometheus_remote_write(struct instance *instance);
  17. int format_host_prometheus_remote_write(struct instance *instance, RRDHOST *host);
  18. int format_chart_prometheus_remote_write(struct instance *instance, RRDSET *st);
  19. int format_dimension_prometheus_remote_write(struct instance *instance, RRDDIM *rd);
  20. int format_variables_prometheus_remote_write(struct instance *instance, RRDHOST *host);
  21. int format_batch_prometheus_remote_write(struct instance *instance);
  22. void prometheus_remote_write_prepare_header(struct instance *instance);
  23. int process_prometheus_remote_write_response(BUFFER *buffer, struct instance *instance);
  24. #endif //NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_H