master
h 42 lines 1.18 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #ifndef NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_REQUEST_H
4 #define NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_REQUEST_H
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 void *init_write_request();
11
12 void add_host_info(
13 void *write_request_p,
14 const char *name, const char *instance, const char *application, const char *version, const int64_t timestamp);
15
16 void add_label(void *write_request_p, char *key, char *value);
17
18 void add_metric(
19 void *write_request_p,
20 const char *name, const char *chart, const char *family, const char *dimension,
21 const char *instance, const double value, const int64_t timestamp);
22
23 void add_variable(
24 void *write_request_p, const char *name, const char *instance, const double value, const int64_t timestamp);
25
26 size_t get_write_request_size(void *write_request_p);
27
28 int pack_and_clear_write_request(void *write_request_p, char *buffer, size_t *size);
29
30 int convert_write_request_to_string(
31 const char *compressed_write_request,
32 size_t compressed_size,
33 char *buffer,
34 size_t size);
35
36 void protocol_buffers_shutdown();
37
38 #ifdef __cplusplus
39 }
40 #endif
41
42 #endif //NETDATA_EXPORTING_PROMETHEUS_REMOTE_WRITE_REQUEST_H