123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // SPDX-License-Identifier: GPL-3.0-or-later
- #ifndef NETDATA_EBPF_SYNC_H
- #define NETDATA_EBPF_SYNC_H 1
- // charts
- #define NETDATA_EBPF_SYNC_CHART "sync"
- #define NETDATA_EBPF_MSYNC_CHART "memory_map"
- #define NETDATA_EBPF_FILE_SYNC_CHART "file_sync"
- #define NETDATA_EBPF_FILE_SEGMENT_CHART "file_segment"
- #define NETDATA_EBPF_SYNC_SUBMENU "synchronization (eBPF)"
- #define NETDATA_EBPF_SYNC_SLEEP_MS 800000ULL
- // configuration file
- #define NETDATA_SYNC_CONFIG_FILE "sync.conf"
- #define NETDATA_SYNC_CONFIG_NAME "syscalls"
- enum sync_syscalls_index {
- NETDATA_SYNC_SYNC_IDX,
- NETDATA_SYNC_SYNCFS_IDX,
- NETDATA_SYNC_MSYNC_IDX,
- NETDATA_SYNC_FSYNC_IDX,
- NETDATA_SYNC_FDATASYNC_IDX,
- NETDATA_SYNC_SYNC_FILE_RANGE_IDX,
- NETDATA_SYNC_IDX_END
- };
- typedef struct ebpf_sync_syscalls {
- char *syscall;
- int enabled;
- uint32_t flags;
- struct bpf_object *objects;
- struct bpf_link **probe_links;
- ebpf_data_t kernel_info;
- } ebpf_sync_syscalls_t;
- enum netdata_sync_charts {
- NETDATA_SYNC_CALL,
- // Keep this as last and don't skip numbers as it is used as element counter
- NETDATA_SYNC_END
- };
- enum netdata_sync_table {
- NETDATA_SYNC_GLOBLAL_TABLE
- };
- extern void *ebpf_sync_thread(void *ptr);
- #endif /* NETDATA_EBPF_SYNC_H */
|