]> arthur.barton.de Git - netdata.git/blobdiff - src/plugin_proc.c
added support for monitoring cgroups
[netdata.git] / src / plugin_proc.c
old mode 100755 (executable)
new mode 100644 (file)
index af679de..20e8552
@@ -43,9 +43,11 @@ void *proc_main(void *ptr)
        int vdo_proc_net_dev                    = !config_get_boolean("plugin:proc", "/proc/net/dev", 1);
        int vdo_proc_diskstats                  = !config_get_boolean("plugin:proc", "/proc/diskstats", 1);
        int vdo_proc_net_snmp                   = !config_get_boolean("plugin:proc", "/proc/net/snmp", 1);
+       int vdo_proc_net_snmp6                  = !config_get_boolean("plugin:proc", "/proc/net/snmp6", 1);
        int vdo_proc_net_netstat                = !config_get_boolean("plugin:proc", "/proc/net/netstat", 1);
        int vdo_proc_net_stat_conntrack = !config_get_boolean("plugin:proc", "/proc/net/stat/conntrack", 1);
        int vdo_proc_net_ip_vs_stats    = !config_get_boolean("plugin:proc", "/proc/net/ip_vs/stats", 1);
+       int vdo_proc_net_stat_synproxy  = !config_get_boolean("plugin:proc", "/proc/net/stat/synproxy", 1);
        int vdo_proc_stat                               = !config_get_boolean("plugin:proc", "/proc/stat", 1);
        int vdo_proc_meminfo                    = !config_get_boolean("plugin:proc", "/proc/meminfo", 1);
        int vdo_proc_vmstat                     = !config_get_boolean("plugin:proc", "/proc/vmstat", 1);
@@ -56,14 +58,17 @@ void *proc_main(void *ptr)
        int vdo_proc_loadavg                    = !config_get_boolean("plugin:proc", "/proc/loadavg", 1);
        int vdo_sys_kernel_mm_ksm               = !config_get_boolean("plugin:proc", "/sys/kernel/mm/ksm", 1);
        int vdo_cpu_netdata                     = !config_get_boolean("plugin:proc", "netdata server resources", 1);
+       int vdo_sys_fs_cgroup                   = !config_get_boolean("plugin:proc", "cgroups", 1);
 
        // keep track of the time each module was called
        unsigned long long sutime_proc_net_dev = 0ULL;
        unsigned long long sutime_proc_diskstats = 0ULL;
        unsigned long long sutime_proc_net_snmp = 0ULL;
+       unsigned long long sutime_proc_net_snmp6 = 0ULL;
        unsigned long long sutime_proc_net_netstat = 0ULL;
        unsigned long long sutime_proc_net_stat_conntrack = 0ULL;
        unsigned long long sutime_proc_net_ip_vs_stats = 0ULL;
+       unsigned long long sutime_proc_net_stat_synproxy = 0ULL;
        unsigned long long sutime_proc_stat = 0ULL;
        unsigned long long sutime_proc_meminfo = 0ULL;
        unsigned long long sutime_proc_vmstat = 0ULL;
@@ -73,6 +78,7 @@ void *proc_main(void *ptr)
        unsigned long long sutime_proc_softirqs = 0ULL;
        unsigned long long sutime_proc_loadavg = 0ULL;
        unsigned long long sutime_sys_kernel_mm_ksm = 0ULL;
+       unsigned long long sutime_sys_fs_cgroup = 0ULL;
 
        // the next time we will run - aligned properly
        unsigned long long sunext = (time(NULL) - (time(NULL) % rrd_update_every) + rrd_update_every) * 1000000ULL;
@@ -160,6 +166,14 @@ void *proc_main(void *ptr)
                }
                if(unlikely(netdata_exit)) break;
 
+               if(!vdo_proc_net_snmp6) {
+                       debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_snmp6().");
+                       sunow = sutime();
+                       vdo_proc_net_snmp6 = do_proc_net_snmp6(rrd_update_every, (sutime_proc_net_snmp6 > 0)?sunow - sutime_proc_net_snmp6:0ULL);
+                       sutime_proc_net_snmp6 = sunow;
+               }
+               if(unlikely(netdata_exit)) break;
+
                if(!vdo_proc_net_netstat) {
                        debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_netstat().");
                        sunow = sutime();
@@ -184,6 +198,14 @@ void *proc_main(void *ptr)
                }
                if(unlikely(netdata_exit)) break;
 
+               if(!vdo_proc_net_stat_synproxy) {
+                       debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling vdo_proc_net_stat_synproxy().");
+                       sunow = sutime();
+                       vdo_proc_net_stat_synproxy = do_proc_net_stat_synproxy(rrd_update_every, (sutime_proc_net_stat_synproxy > 0)?sunow - sutime_proc_net_stat_synproxy:0ULL);
+                       sutime_proc_net_stat_synproxy = sunow;
+               }
+               if(unlikely(netdata_exit)) break;
+
                if(!vdo_proc_stat) {
                        debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_stat().");
                        sunow = sutime();
@@ -216,6 +238,14 @@ void *proc_main(void *ptr)
                }
                if(unlikely(netdata_exit)) break;
 
+               if(!vdo_sys_fs_cgroup) {
+                       debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_sys_fs_cgroup().");
+                       sunow = sutime();
+                       vdo_sys_fs_cgroup = do_sys_fs_cgroup(rrd_update_every, (sutime_sys_fs_cgroup > 0)?sunow - sutime_sys_fs_cgroup:0ULL);
+                       sutime_sys_fs_cgroup = sunow;
+               }
+               if(unlikely(netdata_exit)) break;
+
                // END -- the job is done
 
                // --------------------------------------------------------------------