summaryrefslogtreecommitdiffstats
path: root/exporting/prometheus/remote_write/remote_write.h
blob: d738f5126f74c7b1798493bbd17fc85b0053d1e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// SPDX-License-Identifier: GPL-3.0-or-later

#ifndef NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_H
#define NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_H

#include "exporting/exporting_engine.h"
#include "exporting/prometheus/prometheus.h"
#include "remote_write_request.h"

struct prometheus_remote_write_specific_data {
    void *write_request;
};

int init_prometheus_remote_write_instance(struct instance *instance);
extern void clean_prometheus_remote_write(struct instance *instance);

int format_host_prometheus_remote_write(struct instance *instance, RRDHOST *host);
int format_chart_prometheus_remote_write(struct instance *instance, RRDSET *st);
int format_dimension_prometheus_remote_write(struct instance *instance, RRDDIM *rd);
int format_batch_prometheus_remote_write(struct instance *instance);

void prometheus_remote_write_prepare_header(struct instance *instance);
int process_prometheus_remote_write_response(BUFFER *buffer, struct instance *instance);

#endif //NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_H