ebpf_filesystem.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_EBPF_FILESYSTEM_H
  3. #define NETDATA_EBPF_FILESYSTEM_H 1
  4. // Module name
  5. #define NETDATA_EBPF_MODULE_NAME_FILESYSTEM "filesystem"
  6. #include "ebpf.h"
  7. #define NETDATA_FS_MAX_DIST_NAME 64UL
  8. #define NETDATA_FILESYSTEM_CONFIG_NAME "filesystem"
  9. #define NETDATA_FILESYSTEM_READ_SLEEP_MS 600000ULL
  10. // Process configuration name
  11. #define NETDATA_FILESYSTEM_CONFIG_FILE "filesystem.conf"
  12. typedef struct netdata_fs_hist {
  13. uint32_t hist_id;
  14. uint32_t bin;
  15. } netdata_fs_hist_t;
  16. enum filesystem_limit {
  17. NETDATA_KEY_CALLS_READ = 24,
  18. NETDATA_KEY_CALLS_WRITE = 48,
  19. NETDATA_KEY_CALLS_OPEN = 72,
  20. NETDATA_KEY_CALLS_SYNC = 96
  21. };
  22. enum netdata_filesystem_flags {
  23. NETDATA_FILESYSTEM_FLAG_NO_PARTITION = 0,
  24. NETDATA_FILESYSTEM_LOAD_EBPF_PROGRAM = 1,
  25. NETDATA_FILESYSTEM_FLAG_HAS_PARTITION = 2,
  26. NETDATA_FILESYSTEM_FLAG_CHART_CREATED = 4,
  27. NETDATA_FILESYSTEM_FILL_ADDRESS_TABLE = 8,
  28. NETDATA_FILESYSTEM_REMOVE_CHARTS = 16,
  29. NETDATA_FILESYSTEM_ATTR_CHARTS = 32
  30. };
  31. enum netdata_filesystem_table {
  32. NETDATA_MAIN_FS_TABLE,
  33. NETDATA_ADDR_FS_TABLE
  34. };
  35. extern void *ebpf_filesystem_thread(void *ptr);
  36. extern struct config fs_config;
  37. #endif /* NETDATA_EBPF_FILESYSTEM_H */