blob: 1fdc23a0eb48265f71c75d046daeff69fc221cd5 (
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef NETDATA_PLUGINSD_PARSER_H
#define NETDATA_PLUGINSD_PARSER_H
#include "daemon/common.h"
typedef enum __attribute__ ((__packed__)) {
PARSER_INIT_PLUGINSD = (1 << 1),
PARSER_INIT_STREAMING = (1 << 2),
} PLUGINSD_KEYWORDS;
typedef struct parser_user_object {
PARSER *parser;
RRDSET *st;
RRDHOST *host;
void *opaque;
struct plugind *cd;
int trust_durations;
DICTIONARY *new_host_labels;
DICTIONARY *chart_rrdlabels_linked_temporarily;
size_t data_collections_count;
int enabled;
STREAM_CAPABILITIES capabilities; // receiver capabilities
struct {
bool parsing_host;
uuid_t machine_guid;
char machine_guid_str[UUID_STR_LEN];
STRING *hostname;
DICTIONARY *rrdlabels;
} host_define;
struct parser_user_object_replay {
time_t start_time;
time_t end_time;
usec_t start_time_ut;
usec_t end_time_ut;
time_t wall_clock_time;
bool rset_enabled;
} replay;
struct parser_user_object_v2 {
bool locked_data_collection;
RRDSET_STREAM_BUFFER stream_buffer; // sender capabilities in this
time_t update_every;
time_t end_time;
time_t wall_clock_time;
bool ml_locked;
} v2;
} PARSER_USER_OBJECT;
PARSER_RC pluginsd_function(char **words, size_t num_words, void *user);
PARSER_RC pluginsd_function_result_begin(char **words, size_t num_words, void *user);
void inflight_functions_init(PARSER *parser);
void pluginsd_keywords_init(PARSER *parser, PLUGINSD_KEYWORDS types);
#endif //NETDATA_PLUGINSD_PARSER_H
|