plugin_proc.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_PLUGIN_PROC_H
  3. #define NETDATA_PLUGIN_PROC_H 1
  4. #include "../../daemon/common.h"
  5. #if (TARGET_OS == OS_LINUX)
  6. #define NETDATA_PLUGIN_HOOK_LINUX_PROC \
  7. { \
  8. .name = "PLUGIN[proc]", \
  9. .config_section = CONFIG_SECTION_PLUGINS, \
  10. .config_name = "proc", \
  11. .enabled = 1, \
  12. .thread = NULL, \
  13. .init_routine = NULL, \
  14. .start_routine = proc_main \
  15. },
  16. #define PLUGIN_PROC_CONFIG_NAME "proc"
  17. #define PLUGIN_PROC_NAME PLUGIN_PROC_CONFIG_NAME ".plugin"
  18. extern void *proc_main(void *ptr);
  19. extern int do_proc_net_dev(int update_every, usec_t dt);
  20. extern int do_proc_diskstats(int update_every, usec_t dt);
  21. extern int do_proc_net_snmp(int update_every, usec_t dt);
  22. extern int do_proc_net_snmp6(int update_every, usec_t dt);
  23. extern int do_proc_net_netstat(int update_every, usec_t dt);
  24. extern int do_proc_net_stat_conntrack(int update_every, usec_t dt);
  25. extern int do_proc_net_ip_vs_stats(int update_every, usec_t dt);
  26. extern int do_proc_stat(int update_every, usec_t dt);
  27. extern int do_proc_meminfo(int update_every, usec_t dt);
  28. extern int do_proc_vmstat(int update_every, usec_t dt);
  29. extern int do_proc_net_rpc_nfs(int update_every, usec_t dt);
  30. extern int do_proc_net_rpc_nfsd(int update_every, usec_t dt);
  31. extern int do_proc_sys_kernel_random_entropy_avail(int update_every, usec_t dt);
  32. extern int do_proc_interrupts(int update_every, usec_t dt);
  33. extern int do_proc_softirqs(int update_every, usec_t dt);
  34. extern int do_sys_kernel_mm_ksm(int update_every, usec_t dt);
  35. extern int do_proc_loadavg(int update_every, usec_t dt);
  36. extern int do_proc_net_stat_synproxy(int update_every, usec_t dt);
  37. extern int do_proc_net_softnet_stat(int update_every, usec_t dt);
  38. extern int do_proc_uptime(int update_every, usec_t dt);
  39. extern int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt);
  40. extern int do_proc_sys_devices_system_node(int update_every, usec_t dt);
  41. extern int do_proc_spl_kstat_zfs_arcstats(int update_every, usec_t dt);
  42. extern int do_sys_fs_btrfs(int update_every, usec_t dt);
  43. extern int do_proc_net_sockstat(int update_every, usec_t dt);
  44. extern int do_proc_net_sockstat6(int update_every, usec_t dt);
  45. extern int do_proc_net_sctp_snmp(int update_every, usec_t dt);
  46. extern int do_ipc(int update_every, usec_t dt);
  47. extern int get_numa_node_count(void);
  48. // metrics that need to be shared among data collectors
  49. extern unsigned long long tcpext_TCPSynRetrans;
  50. // netdev renames
  51. extern void netdev_rename_device_add(const char *host_device, const char *container_device, const char *container_name);
  52. extern void netdev_rename_device_del(const char *host_device);
  53. #include "proc_self_mountinfo.h"
  54. #include "zfs_common.h"
  55. #else // (TARGET_OS == OS_LINUX)
  56. #define NETDATA_PLUGIN_HOOK_LINUX_PROC
  57. #endif // (TARGET_OS == OS_LINUX)
  58. #endif /* NETDATA_PLUGIN_PROC_H */