| 1 | // SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | |
| 3 | #ifndef NETDATA_EBPF_FUNCTIONS_H |
| 4 | #define NETDATA_EBPF_FUNCTIONS_H 1 |
| 5 | |
| 6 | // Common |
| 7 | static inline void EBPF_PLUGIN_FUNCTIONS(const char *NAME, const char *DESC, int update_every) |
| 8 | { |
| 9 | fprintf( |
| 10 | stdout, |
| 11 | PLUGINSD_KEYWORD_FUNCTION " GLOBAL \"%s\" %d \"%s\" \"top\" " HTTP_ACCESS_FORMAT " %d\n", |
| 12 | NAME, |
| 13 | update_every, |
| 14 | DESC, |
| 15 | (HTTP_ACCESS_FORMAT_CAST)(HTTP_ACCESS_SIGNED_ID | HTTP_ACCESS_SAME_SPACE | HTTP_ACCESS_SENSITIVE_DATA), |
| 16 | RRDFUNCTIONS_PRIORITY_DEFAULT); |
| 17 | } |
| 18 | |
| 19 | // configuration file & description |
| 20 | #define NETDATA_DIRECTORY_FUNCTIONS_CONFIG_FILE "functions.conf" |
| 21 | #define NETDATA_EBPF_FUNCTIONS_MODULE_DESC "Show information about current function status." |
| 22 | |
| 23 | // function list |
| 24 | #define EBPF_FUNCTION_SOCKET "network-sockets-tracing" |
| 25 | |
| 26 | // socket constants |
| 27 | #define EBPF_PLUGIN_SOCKET_FUNCTION_DESCRIPTION "Detailed information about open sockets." |
| 28 | #define EBPF_FUNCTION_SOCKET_FAMILY "family:" |
| 29 | #define EBPF_FUNCTION_SOCKET_PERIOD "period:" |
| 30 | #define EBPF_FUNCTION_SOCKET_RESOLVE "resolve:" |
| 31 | #define EBPF_FUNCTION_SOCKET_RANGE "range:" |
| 32 | #define EBPF_FUNCTION_SOCKET_PORT "port:" |
| 33 | #define EBPF_FUNCTION_SOCKET_RESET "reset" |
| 34 | #define EBPF_FUNCTION_SOCKET_INTERFACES "interfaces" |
| 35 | |
| 36 | void ebpf_function_thread(void *ptr); |
| 37 | |
| 38 | #endif |