0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-13 17:19:11 +00:00
netdata_netdata/src/exporting/prometheus/prometheus.h
2024-02-05 11:16:59 +02:00

39 lines
1.6 KiB
C

// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef NETDATA_EXPORTING_PROMETHEUS_H
#define NETDATA_EXPORTING_PROMETHEUS_H 1
#include "exporting/exporting_engine.h"
#define PROMETHEUS_ELEMENT_MAX 256
#define PROMETHEUS_LABELS_MAX 1024
#define PROMETHEUS_VARIABLE_MAX 256
typedef enum prometheus_output_flags {
PROMETHEUS_OUTPUT_NONE = 0,
PROMETHEUS_OUTPUT_HELP = (1 << 0),
PROMETHEUS_OUTPUT_TYPES = (1 << 1),
PROMETHEUS_OUTPUT_NAMES = (1 << 2),
PROMETHEUS_OUTPUT_TIMESTAMPS = (1 << 3),
PROMETHEUS_OUTPUT_VARIABLES = (1 << 4),
PROMETHEUS_OUTPUT_OLDUNITS = (1 << 5),
PROMETHEUS_OUTPUT_HIDEUNITS = (1 << 6)
} PROMETHEUS_OUTPUT_OPTIONS;
void rrd_stats_api_v1_charts_allmetrics_prometheus_single_host(
RRDHOST *host, const char *filter_string, BUFFER *wb, const char *server, const char *prefix,
EXPORTING_OPTIONS exporting_options, PROMETHEUS_OUTPUT_OPTIONS output_options);
void rrd_stats_api_v1_charts_allmetrics_prometheus_all_hosts(
RRDHOST *host, const char *filter_string, BUFFER *wb, const char *server, const char *prefix,
EXPORTING_OPTIONS exporting_options, PROMETHEUS_OUTPUT_OPTIONS output_options);
int can_send_rrdset(struct instance *instance, RRDSET *st, SIMPLE_PATTERN *filter);
size_t prometheus_name_copy(char *d, const char *s, size_t usable);
size_t prometheus_label_copy(char *d, const char *s, size_t usable);
char *prometheus_units_copy(char *d, const char *s, size_t usable, int showoldunits);
void format_host_labels_prometheus(struct instance *instance, RRDHOST *host);
void prometheus_clean_server_root();
#endif //NETDATA_EXPORTING_PROMETHEUS_H