| 1 | // SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | |
| 3 | #ifndef NETDATA_PLUGIN_PROC_H |
| 4 | #define NETDATA_PLUGIN_PROC_H 1 |
| 5 | |
| 6 | #include "database/rrd.h" |
| 7 | |
| 8 | #define PLUGIN_PROC_CONFIG_NAME "proc" |
| 9 | #define PLUGIN_PROC_NAME PLUGIN_PROC_CONFIG_NAME ".plugin" |
| 10 | |
| 11 | #define THREAD_NETDEV_NAME "P[proc netdev]" |
| 12 | void netdev_main(void *ptr_is_null); |
| 13 | |
| 14 | int do_proc_net_wireless(int update_every, usec_t dt); |
| 15 | int do_proc_diskstats(int update_every, usec_t dt); |
| 16 | int do_proc_mdstat(int update_every, usec_t dt); |
| 17 | int do_proc_net_netstat(int update_every, usec_t dt); |
| 18 | int do_proc_net_stat_conntrack(int update_every, usec_t dt); |
| 19 | int do_proc_net_ip_vs_stats(int update_every, usec_t dt); |
| 20 | int do_proc_stat(int update_every, usec_t dt); |
| 21 | int do_proc_meminfo(int update_every, usec_t dt); |
| 22 | int do_proc_vmstat(int update_every, usec_t dt); |
| 23 | int do_proc_net_rpc_nfs(int update_every, usec_t dt); |
| 24 | int do_proc_net_rpc_nfsd(int update_every, usec_t dt); |
| 25 | int do_proc_sys_fs_file_nr(int update_every, usec_t dt); |
| 26 | int do_proc_sys_kernel_random_entropy_avail(int update_every, usec_t dt); |
| 27 | int do_proc_interrupts(int update_every, usec_t dt); |
| 28 | int proc_interrupts_unittest(void); |
| 29 | int do_proc_softirqs(int update_every, usec_t dt); |
| 30 | int do_proc_pressure(int update_every, usec_t dt); |
| 31 | int do_sys_kernel_mm_ksm(int update_every, usec_t dt); |
| 32 | int do_sys_block_zram(int update_every, usec_t dt); |
| 33 | int do_proc_loadavg(int update_every, usec_t dt); |
| 34 | int do_proc_net_stat_synproxy(int update_every, usec_t dt); |
| 35 | int do_proc_net_softnet_stat(int update_every, usec_t dt); |
| 36 | int do_proc_uptime(int update_every, usec_t dt); |
| 37 | int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt); |
| 38 | int do_proc_sys_devices_pci_aer(int update_every, usec_t dt); |
| 39 | int do_proc_sys_devices_system_node(int update_every, usec_t dt); |
| 40 | int do_proc_spl_kstat_zfs_arcstats(int update_every, usec_t dt); |
| 41 | int do_sys_fs_btrfs(int update_every, usec_t dt); |
| 42 | int do_proc_net_sockstat(int update_every, usec_t dt); |
| 43 | int do_proc_net_sockstat6(int update_every, usec_t dt); |
| 44 | int do_proc_net_sctp_snmp(int update_every, usec_t dt); |
| 45 | int do_proc_ipc(int update_every, usec_t dt); |
| 46 | int do_sys_class_power_supply(int update_every, usec_t dt); |
| 47 | int do_proc_pagetypeinfo(int update_every, usec_t dt); |
| 48 | int do_sys_class_infiniband(int update_every, usec_t dt); |
| 49 | int do_sys_class_drm(int update_every, usec_t dt); |
| 50 | int get_numa_node_count(void); |
| 51 | int do_run_reboot_required(int update_every, usec_t dt); |
| 52 | |
| 53 | // Plugin cleanup functions |
| 54 | void proc_ipc_cleanup(void); |
| 55 | void proc_net_netstat_cleanup(void); |
| 56 | void proc_net_stat_conntrack_cleanup(void); |
| 57 | void proc_stat_plugin_cleanup(void); |
| 58 | void proc_net_sockstat_plugin_cleanup(void); |
| 59 | void proc_loadavg_plugin_cleanup(void); |
| 60 | void sys_class_infiniband_plugin_cleanup(void); |
| 61 | void pci_aer_plugin_cleanup(void); |
| 62 | |
| 63 | // metrics that need to be shared among data collectors |
| 64 | extern unsigned long long zfs_arcstats_shrinkable_cache_size_bytes; |
| 65 | extern bool inside_lxc_container; |
| 66 | bool is_lxcfs_proc_mounted(void); |
| 67 | |
| 68 | extern bool is_mem_swap_enabled; |
| 69 | extern bool is_mem_zswap_enabled; |
| 70 | extern bool is_mem_ksm_enabled; |
| 71 | |
| 72 | // netdev renames |
| 73 | void cgroup_rename_task_add( |
| 74 | const char *host_device, |
| 75 | const char *container_device, |
| 76 | const char *container_name, |
| 77 | RRDLABELS *labels, |
| 78 | const char *ctx_prefix, |
| 79 | const DICTIONARY_ITEM *cgroup_netdev_link); |
| 80 | |
| 81 | void cgroup_rename_task_device_del(const char *host_device); |
| 82 | |
| 83 | #include "proc_self_mountinfo.h" |
| 84 | #include "proc_pressure.h" |
| 85 | #include "zfs_common.h" |
| 86 | |
| 87 | #endif /* NETDATA_PLUGIN_PROC_H */ |