ebpf_swap.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_EBPF_SWAP_H
  3. #define NETDATA_EBPF_SWAP_H 1
  4. // Module name & description
  5. #define NETDATA_EBPF_MODULE_NAME_SWAP "swap"
  6. #define NETDATA_EBPF_SWAP_MODULE_DESC "Monitor swap space usage. This thread is integrated with apps and cgroup."
  7. #define NETDATA_SWAP_SLEEP_MS 850000ULL
  8. // charts
  9. #define NETDATA_MEM_SWAP_CHART "swapcalls"
  10. #define NETDATA_MEM_SWAP_READ_CHART "swap_read_call"
  11. #define NETDATA_MEM_SWAP_WRITE_CHART "swap_write_call"
  12. #define NETDATA_SWAP_SUBMENU "swap"
  13. // configuration file
  14. #define NETDATA_DIRECTORY_SWAP_CONFIG_FILE "swap.conf"
  15. // Contexts
  16. #define NETDATA_CGROUP_SWAP_READ_CONTEXT "cgroup.swap_read"
  17. #define NETDATA_CGROUP_SWAP_WRITE_CONTEXT "cgroup.swap_write"
  18. #define NETDATA_SYSTEMD_SWAP_READ_CONTEXT "services.swap_read"
  19. #define NETDATA_SYSTEMD_SWAP_WRITE_CONTEXT "services.swap_write"
  20. typedef struct netdata_publish_swap {
  21. uint64_t read;
  22. uint64_t write;
  23. } netdata_publish_swap_t;
  24. enum swap_tables {
  25. NETDATA_PID_SWAP_TABLE,
  26. NETDATA_SWAP_CONTROLLER,
  27. NETDATA_SWAP_GLOBAL_TABLE
  28. };
  29. enum swap_counters {
  30. NETDATA_KEY_SWAP_READPAGE_CALL,
  31. NETDATA_KEY_SWAP_WRITEPAGE_CALL,
  32. // Keep this as last and don't skip numbers as it is used as element counter
  33. NETDATA_SWAP_END
  34. };
  35. void *ebpf_swap_thread(void *ptr);
  36. void ebpf_swap_create_apps_charts(struct ebpf_module *em, void *ptr);
  37. extern struct config swap_config;
  38. extern netdata_ebpf_targets_t swap_targets[];
  39. #endif