master
h 87 lines 3.37 KB
Raw
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 */