master
h 38 lines 1.56 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #ifndef NETDATA_EXPORTING_PROMETHEUS_H
4 #define NETDATA_EXPORTING_PROMETHEUS_H 1
5
6 #include "exporting/exporting_engine.h"
7
8 #define PROMETHEUS_ELEMENT_MAX 256
9 #define PROMETHEUS_LABELS_MAX 1024
10 #define PROMETHEUS_VARIABLE_MAX 256
11
12 typedef enum prometheus_output_flags {
13 PROMETHEUS_OUTPUT_NONE = 0,
14 PROMETHEUS_OUTPUT_HELP_TYPE = (1 << 1),
15 PROMETHEUS_OUTPUT_NAMES = (1 << 2),
16 PROMETHEUS_OUTPUT_TIMESTAMPS = (1 << 3),
17 PROMETHEUS_OUTPUT_VARIABLES = (1 << 4),
18 PROMETHEUS_OUTPUT_OLDUNITS = (1 << 5),
19 PROMETHEUS_OUTPUT_HIDEUNITS = (1 << 6)
20 } PROMETHEUS_OUTPUT_OPTIONS;
21
22 void rrd_stats_api_v1_charts_allmetrics_prometheus_single_host(
23 RRDHOST *host, const char *filter_string, BUFFER *wb, const char *server, const char *prefix,
24 EXPORTING_OPTIONS exporting_options, PROMETHEUS_OUTPUT_OPTIONS output_options);
25 void rrd_stats_api_v1_charts_allmetrics_prometheus_all_hosts(
26 RRDHOST *host, const char *filter_string, BUFFER *wb, const char *server, const char *prefix,
27 EXPORTING_OPTIONS exporting_options, PROMETHEUS_OUTPUT_OPTIONS output_options);
28
29 int can_send_rrdset(struct instance *instance, RRDSET *st, SIMPLE_PATTERN *filter);
30 void prometheus_name_copy(char *d, const char *s, size_t size);
31 void prometheus_label_copy(char *d, const char *s, size_t size);
32 char *prometheus_units_copy(char *d, const char *s, size_t usable, int showoldunits);
33
34 void format_host_labels_prometheus(struct instance *instance, RRDHOST *host);
35
36 void prometheus_clean_server_root();
37
38 #endif //NETDATA_EXPORTING_PROMETHEUS_H