ebpf_swap.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_EBPF_SWAP_H
  3. #define NETDATA_EBPF_SWAP_H 1
  4. #define NETDATA_SWAP_SLEEP_MS 850000ULL
  5. // charts
  6. #define NETDATA_MEM_SWAP_CHART "swapcalls"
  7. #define NETDATA_MEM_SWAP_READ_CHART "swap_read_call"
  8. #define NETDATA_MEM_SWAP_WRITE_CHART "swap_write_call"
  9. #define NETDATA_SWAP_SUBMENU "swap (eBPF)"
  10. // configuration file
  11. #define NETDATA_DIRECTORY_SWAP_CONFIG_FILE "swap.conf"
  12. typedef struct netdata_publish_swap {
  13. uint64_t read;
  14. uint64_t write;
  15. } netdata_publish_swap_t;
  16. enum swap_tables {
  17. NETDATA_PID_SWAP_TABLE,
  18. NETDATA_SWAP_GLOBAL_TABLE
  19. };
  20. enum swap_counters {
  21. NETDATA_KEY_SWAP_READPAGE_CALL,
  22. NETDATA_KEY_SWAP_WRITEPAGE_CALL,
  23. // Keep this as last and don't skip numbers as it is used as element counter
  24. NETDATA_SWAP_END
  25. };
  26. extern netdata_publish_swap_t **swap_pid;
  27. extern void *ebpf_swap_thread(void *ptr);
  28. extern void ebpf_swap_create_apps_charts(struct ebpf_module *em, void *ptr);
  29. extern void clean_swap_pid_structures();
  30. extern struct config swap_config;
  31. #endif