ebpf_swap.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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
  5. #define NETDATA_EBPF_MODULE_NAME_SWAP "swap"
  6. #define NETDATA_SWAP_SLEEP_MS 850000ULL
  7. // charts
  8. #define NETDATA_MEM_SWAP_CHART "swapcalls"
  9. #define NETDATA_MEM_SWAP_READ_CHART "swap_read_call"
  10. #define NETDATA_MEM_SWAP_WRITE_CHART "swap_write_call"
  11. #define NETDATA_SWAP_SUBMENU "swap"
  12. // configuration file
  13. #define NETDATA_DIRECTORY_SWAP_CONFIG_FILE "swap.conf"
  14. // Contexts
  15. #define NETDATA_CGROUP_SWAP_READ_CONTEXT "cgroup.swap_read"
  16. #define NETDATA_CGROUP_SWAP_WRITE_CONTEXT "cgroup.swap_write"
  17. #define NETDATA_SYSTEMD_SWAP_READ_CONTEXT "services.swap_read"
  18. #define NETDATA_SYSTEMD_SWAP_WRITE_CONTEXT "services.swap_write"
  19. typedef struct netdata_publish_swap {
  20. uint64_t read;
  21. uint64_t write;
  22. } netdata_publish_swap_t;
  23. enum swap_tables {
  24. NETDATA_PID_SWAP_TABLE,
  25. NETDATA_SWAP_CONTROLLER,
  26. NETDATA_SWAP_GLOBAL_TABLE
  27. };
  28. enum swap_counters {
  29. NETDATA_KEY_SWAP_READPAGE_CALL,
  30. NETDATA_KEY_SWAP_WRITEPAGE_CALL,
  31. // Keep this as last and don't skip numbers as it is used as element counter
  32. NETDATA_SWAP_END
  33. };
  34. void *ebpf_swap_thread(void *ptr);
  35. void ebpf_swap_create_apps_charts(struct ebpf_module *em, void *ptr);
  36. extern struct config swap_config;
  37. extern netdata_ebpf_targets_t swap_targets[];
  38. #endif