summaryrefslogtreecommitdiffstats
path: root/collectors/proc.plugin/plugin_proc.h
blob: 18714b548eb9a5f3644fa17508e8fb7e96e8b10c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// SPDX-License-Identifier: GPL-3.0-or-later

#ifndef NETDATA_PLUGIN_PROC_H
#define NETDATA_PLUGIN_PROC_H 1

#include "daemon/common.h"

#if (TARGET_OS == OS_LINUX)

#define NETDATA_PLUGIN_HOOK_LINUX_PROC \
    { \
        .name = "PLUGIN[proc]", \
        .config_section = CONFIG_SECTION_PLUGINS, \
        .config_name = "proc", \
        .enabled = 1, \
        .thread = NULL, \
        .init_routine = NULL, \
        .start_routine = proc_main \
    },


#define PLUGIN_PROC_CONFIG_NAME "proc"
#define PLUGIN_PROC_NAME PLUGIN_PROC_CONFIG_NAME ".plugin"

extern void *proc_main(void *ptr);

extern int do_proc_net_dev(int update_every, usec_t dt);
extern int do_proc_net_wireless(int update_every, usec_t dt);
extern int do_proc_diskstats(int update_every, usec_t dt);
extern int do_proc_mdstat(int update_every, usec_t dt);
extern int do_proc_net_snmp(int update_every, usec_t dt);
extern int do_proc_net_snmp6(int update_every, usec_t dt);
extern int do_proc_net_netstat(int update_every, usec_t dt);
extern int do_proc_net_stat_conntrack(int update_every, usec_t dt);
extern int do_proc_net_ip_vs_stats(int update_every, usec_t dt);
extern int do_proc_stat(int update_every, usec_t dt);
extern int do_proc_meminfo(int update_every, usec_t dt);
extern int do_proc_vmstat(int update_every, usec_t dt);
extern int do_proc_net_rpc_nfs(int update_every, usec_t dt);
extern int do_proc_net_rpc_nfsd(int update_every, usec_t dt);
extern int do_proc_sys_kernel_random_entropy_avail(int update_every, usec_t dt);
extern int do_proc_interrupts(int update_every, usec_t dt);
extern int do_proc_softirqs(int update_every, usec_t dt);
extern int do_proc_pressure(int update_every, usec_t dt);
extern int do_sys_kernel_mm_ksm(int update_every, usec_t dt);
extern int do_sys_block_zram(int update_every, usec_t dt);
extern int do_proc_loadavg(int update_every, usec_t dt);
extern int do_proc_net_stat_synproxy(int update_every, usec_t dt);
extern int do_proc_net_softnet_stat(int update_every, usec_t dt);
extern int do_proc_uptime(int update_every, usec_t dt);
extern int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt);
extern int do_proc_sys_devices_system_node(int update_every, usec_t dt);
extern int do_proc_spl_kstat_zfs_arcstats(int update_every, usec_t dt);
extern int do_proc_spl_kstat_zfs_pool_state(int update_every, usec_t dt);
extern int do_sys_fs_btrfs(int update_every, usec_t dt);
extern int do_proc_net_sockstat(int update_every, usec_t dt);
extern int do_proc_net_sockstat6(int update_every, usec_t dt);
extern int do_proc_net_sctp_snmp(int update_every, usec_t dt);
extern int do_ipc(int update_every, usec_t dt);
extern int do_sys_class_power_supply(int update_every, usec_t dt);
extern int do_proc_pagetypeinfo(int update_every, usec_t dt);
extern int do_sys_class_infiniband(int update_every, usec_t dt);
extern int get_numa_node_count(void);

// metrics that need to be shared among data collectors
extern unsigned long long tcpext_TCPSynRetrans;

// netdev renames
extern void netdev_rename_device_add(
    const char *host_device, const char *container_device, const char *container_name, struct label *labels);
extern void netdev_rename_device_del(const char *host_device);

#include "proc_self_mountinfo.h"
#include "proc_pressure.h"
#include "zfs_common.h"

#else // (TARGET_OS == OS_LINUX)

#define NETDATA_PLUGIN_HOOK_LINUX_PROC

#endif // (TARGET_OS == OS_LINUX)


#endif /* NETDATA_PLUGIN_PROC_H */