master
h 41 lines 1.59 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #ifndef NETDATA_STREAMING_PROTCOL_COMMANDS_H
4 #define NETDATA_STREAMING_PROTCOL_COMMANDS_H
5
6 #include "database/rrd.h"
7 #include "../stream.h"
8
9 typedef struct rrdset_stream_buffer {
10 STREAM_CAPABILITIES capabilities;
11 bool v2;
12 bool begin_v2_added;
13 time_t wall_clock_time;
14 RRDSET_FLAGS rrdset_flags;
15 time_t last_point_end_time_s;
16 BUFFER *wb;
17 } RRDSET_STREAM_BUFFER;
18
19 RRDSET_STREAM_BUFFER stream_send_metrics_init(RRDSET *st, time_t wall_clock_time);
20
21 void stream_sender_get_node_and_claim_id_from_parent(struct sender_state *s, const char *claim_id_str, const char *node_id_str, const char *url);
22 void stream_receiver_send_node_and_claim_id_to_child(RRDHOST *host);
23 void stream_sender_clear_parent_claim_id(RRDHOST *host);
24
25 void stream_sender_send_claimed_id(RRDHOST *host);
26
27 void stream_send_global_functions(RRDHOST *host);
28 void stream_send_host_labels(RRDHOST *host);
29
30 void stream_sender_send_custom_host_variables(RRDHOST *host);
31 void stream_sender_send_this_host_variable_now(RRDHOST *host, const RRDVAR_ACQUIRED *rva);
32
33 bool stream_sender_send_rrdset_definition(BUFFER *wb, RRDSET *st);
34 bool stream_sender_send_rrdset_definition_now(RRDSET *st);
35 bool should_send_rrdset_matching(RRDSET *st, RRDSET_FLAGS flags);
36
37 void stream_send_rrdset_metrics_v1(RRDSET_STREAM_BUFFER *rsb, RRDSET *st);
38 void stream_send_rrddim_metrics_v2(RRDSET_STREAM_BUFFER *rsb, RRDDIM *rd, usec_t point_end_time_ut, NETDATA_DOUBLE n, SN_FLAGS flags);
39 void stream_send_rrdset_metrics_finished(RRDSET_STREAM_BUFFER *rsb, RRDSET *st);
40
41 #endif //NETDATA_STREAMING_PROTCOL_COMMANDS_H