]> arthur.barton.de Git - netdata.git/blobdiff - src/proc_net_netstat.c
Merge pull request #17 from alonbl/build
[netdata.git] / src / proc_net_netstat.c
index e910cf6071d3cbfc606adcb8158ef0312d7cbb87..35535265e37198a88ee8722adc9ed2cf54b8b6d9 100755 (executable)
@@ -1,10 +1,13 @@
-#include <inttypes.h>
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
+#include "common.h"
 #include "log.h"
-#include "config.h"
+#include "appconfig.h"
 #include "procfile.h"
 #include "rrd.h"
 #include "plugin_proc.h"
@@ -22,7 +25,11 @@ int do_proc_net_netstat(int update_every, unsigned long long dt) {
 
        if(dt) {};
 
-       if(!ff) ff = procfile_open("/proc/net/netstat", " \t:");
+       if(!ff) {
+               char filename[FILENAME_MAX + 1];
+               snprintf(filename, FILENAME_MAX, "%s%s", global_host_prefix, "/proc/net/netstat");
+               ff = procfile_open(config_get("plugin:proc:/proc/net/netstat", "filename to monitor", filename), " \t:", PROCFILE_FLAG_DEFAULT);
+       }
        if(!ff) return 1;
 
        ff = procfile_readall(ff);
@@ -63,113 +70,113 @@ int do_proc_net_netstat(int update_every, unsigned long long dt) {
                        InBcastOctets           = strtoull(procfile_lineword(ff, l, 11), NULL, 10);
                        OutBcastOctets          = strtoull(procfile_lineword(ff, l, 12), NULL, 10);
 
-                       RRD_STATS *st;
+                       RRDSET *st;
 
                        // --------------------------------------------------------------------
 
                        if(do_bandwidth) {
-                               st = rrd_stats_find("system.ipv4");
+                               st = rrdset_find("system.ipv4");
                                if(!st) {
-                                       st = rrd_stats_create("system", "ipv4", NULL, "ipv4", "IPv4 Bandwidth", "kilobits/s", 2000, update_every, CHART_TYPE_AREA);
+                                       st = rrdset_create("system", "ipv4", NULL, "ipv4", "IPv4 Bandwidth", "kilobits/s", 2000, update_every, RRDSET_TYPE_AREA);
 
-                                       rrd_stats_dimension_add(st, "received", NULL, 8, 1024 * update_every, RRD_DIMENSION_INCREMENTAL);
-                                       rrd_stats_dimension_add(st, "sent", NULL, -8, 1024 * update_every, RRD_DIMENSION_INCREMENTAL);
+                                       rrddim_add(st, "received", NULL, 8, 1024 * update_every, RRDDIM_INCREMENTAL);
+                                       rrddim_add(st, "sent", NULL, -8, 1024 * update_every, RRDDIM_INCREMENTAL);
                                }
-                               else rrd_stats_next(st);
+                               else rrdset_next(st);
 
-                               rrd_stats_dimension_set(st, "sent", OutOctets);
-                               rrd_stats_dimension_set(st, "received", InOctets);
-                               rrd_stats_done(st);
+                               rrddim_set(st, "sent", OutOctets);
+                               rrddim_set(st, "received", InOctets);
+                               rrdset_done(st);
                        }
 
                        // --------------------------------------------------------------------
 
                        if(do_inerrors) {
-                               st = rrd_stats_find("ipv4.inerrors");
+                               st = rrdset_find("ipv4.inerrors");
                                if(!st) {
-                                       st = rrd_stats_create("ipv4", "inerrors", NULL, "ipv4", "IPv4 Input Errors", "packets/s", 4000, update_every, CHART_TYPE_LINE);
+                                       st = rrdset_create("ipv4", "inerrors", NULL, "ipv4", "IPv4 Input Errors", "packets/s", 4000, update_every, RRDSET_TYPE_LINE);
                                        st->isdetail = 1;
 
-                                       rrd_stats_dimension_add(st, "noroutes", NULL, 1, 1 * update_every, RRD_DIMENSION_INCREMENTAL);
-                                       rrd_stats_dimension_add(st, "trunkated", NULL, 1, 1 * update_every, RRD_DIMENSION_INCREMENTAL);
+                                       rrddim_add(st, "noroutes", NULL, 1, 1 * update_every, RRDDIM_INCREMENTAL);
+                                       rrddim_add(st, "trunkated", NULL, 1, 1 * update_every, RRDDIM_INCREMENTAL);
                                }
-                               else rrd_stats_next(st);
+                               else rrdset_next(st);
 
-                               rrd_stats_dimension_set(st, "noroutes", InNoRoutes);
-                               rrd_stats_dimension_set(st, "trunkated", InTruncatedPkts);
-                               rrd_stats_done(st);
+                               rrddim_set(st, "noroutes", InNoRoutes);
+                               rrddim_set(st, "trunkated", InTruncatedPkts);
+                               rrdset_done(st);
                        }
 
                        // --------------------------------------------------------------------
 
                        if(do_mcast) {
-                               st = rrd_stats_find("ipv4.mcast");
+                               st = rrdset_find("ipv4.mcast");
                                if(!st) {
-                                       st = rrd_stats_create("ipv4", "mcast", NULL, "ipv4", "IPv4 Multicast Bandwidth", "kilobits/s", 9000, update_every, CHART_TYPE_AREA);
+                                       st = rrdset_create("ipv4", "mcast", NULL, "ipv4", "IPv4 Multicast Bandwidth", "kilobits/s", 9000, update_every, RRDSET_TYPE_AREA);
                                        st->isdetail = 1;
 
-                                       rrd_stats_dimension_add(st, "received", NULL, 8, 1024 * update_every, RRD_DIMENSION_INCREMENTAL);
-                                       rrd_stats_dimension_add(st, "sent", NULL, -8, 1024 * update_every, RRD_DIMENSION_INCREMENTAL);
+                                       rrddim_add(st, "received", NULL, 8, 1024 * update_every, RRDDIM_INCREMENTAL);
+                                       rrddim_add(st, "sent", NULL, -8, 1024 * update_every, RRDDIM_INCREMENTAL);
                                }
-                               else rrd_stats_next(st);
+                               else rrdset_next(st);
 
-                               rrd_stats_dimension_set(st, "sent", OutMcastOctets);
-                               rrd_stats_dimension_set(st, "received", InMcastOctets);
-                               rrd_stats_done(st);
+                               rrddim_set(st, "sent", OutMcastOctets);
+                               rrddim_set(st, "received", InMcastOctets);
+                               rrdset_done(st);
                        }
 
                        // --------------------------------------------------------------------
 
                        if(do_bcast) {
-                               st = rrd_stats_find("ipv4.bcast");
+                               st = rrdset_find("ipv4.bcast");
                                if(!st) {
-                                       st = rrd_stats_create("ipv4", "bcast", NULL, "ipv4", "IPv4 Broadcast Bandwidth", "kilobits/s", 8000, update_every, CHART_TYPE_AREA);
+                                       st = rrdset_create("ipv4", "bcast", NULL, "ipv4", "IPv4 Broadcast Bandwidth", "kilobits/s", 8000, update_every, RRDSET_TYPE_AREA);
                                        st->isdetail = 1;
 
-                                       rrd_stats_dimension_add(st, "received", NULL, 8, 1024 * update_every, RRD_DIMENSION_INCREMENTAL);
-                                       rrd_stats_dimension_add(st, "sent", NULL, -8, 1024 * update_every, RRD_DIMENSION_INCREMENTAL);
+                                       rrddim_add(st, "received", NULL, 8, 1024 * update_every, RRDDIM_INCREMENTAL);
+                                       rrddim_add(st, "sent", NULL, -8, 1024 * update_every, RRDDIM_INCREMENTAL);
                                }
-                               else rrd_stats_next(st);
+                               else rrdset_next(st);
 
-                               rrd_stats_dimension_set(st, "sent", OutBcastOctets);
-                               rrd_stats_dimension_set(st, "received", InBcastOctets);
-                               rrd_stats_done(st);
+                               rrddim_set(st, "sent", OutBcastOctets);
+                               rrddim_set(st, "received", InBcastOctets);
+                               rrdset_done(st);
                        }
 
                        // --------------------------------------------------------------------
 
                        if(do_mcast_p) {
-                               st = rrd_stats_find("ipv4.mcastpkts");
+                               st = rrdset_find("ipv4.mcastpkts");
                                if(!st) {
-                                       st = rrd_stats_create("ipv4", "mcastpkts", NULL, "ipv4", "IPv4 Multicast Packets", "packets/s", 9500, update_every, CHART_TYPE_LINE);
+                                       st = rrdset_create("ipv4", "mcastpkts", NULL, "ipv4", "IPv4 Multicast Packets", "packets/s", 9500, update_every, RRDSET_TYPE_LINE);
                                        st->isdetail = 1;
 
-                                       rrd_stats_dimension_add(st, "received", NULL, 1, 1 * update_every, RRD_DIMENSION_INCREMENTAL);
-                                       rrd_stats_dimension_add(st, "sent", NULL, -1, 1 * update_every, RRD_DIMENSION_INCREMENTAL);
+                                       rrddim_add(st, "received", NULL, 1, 1 * update_every, RRDDIM_INCREMENTAL);
+                                       rrddim_add(st, "sent", NULL, -1, 1 * update_every, RRDDIM_INCREMENTAL);
                                }
-                               else rrd_stats_next(st);
+                               else rrdset_next(st);
 
-                               rrd_stats_dimension_set(st, "sent", OutMcastPkts);
-                               rrd_stats_dimension_set(st, "received", InMcastPkts);
-                               rrd_stats_done(st);
+                               rrddim_set(st, "sent", OutMcastPkts);
+                               rrddim_set(st, "received", InMcastPkts);
+                               rrdset_done(st);
                        }
 
                        // --------------------------------------------------------------------
 
                        if(do_bcast_p) {
-                               st = rrd_stats_find("ipv4.bcastpkts");
+                               st = rrdset_find("ipv4.bcastpkts");
                                if(!st) {
-                                       st = rrd_stats_create("ipv4", "bcastpkts", NULL, "ipv4", "IPv4 Broadcast Packets", "packets/s", 8500, update_every, CHART_TYPE_LINE);
+                                       st = rrdset_create("ipv4", "bcastpkts", NULL, "ipv4", "IPv4 Broadcast Packets", "packets/s", 8500, update_every, RRDSET_TYPE_LINE);
                                        st->isdetail = 1;
 
-                                       rrd_stats_dimension_add(st, "received", NULL, 1, 1 * update_every, RRD_DIMENSION_INCREMENTAL);
-                                       rrd_stats_dimension_add(st, "sent", NULL, -1, 1 * update_every, RRD_DIMENSION_INCREMENTAL);
+                                       rrddim_add(st, "received", NULL, 1, 1 * update_every, RRDDIM_INCREMENTAL);
+                                       rrddim_add(st, "sent", NULL, -1, 1 * update_every, RRDDIM_INCREMENTAL);
                                }
-                               else rrd_stats_next(st);
+                               else rrdset_next(st);
 
-                               rrd_stats_dimension_set(st, "sent", OutBcastPkts);
-                               rrd_stats_dimension_set(st, "received", InBcastPkts);
-                               rrd_stats_done(st);
+                               rrddim_set(st, "sent", OutBcastPkts);
+                               rrddim_set(st, "received", InBcastPkts);
+                               rrdset_done(st);
                        }
                }
        }