Separate net.inet.ip.stats module
Vladimir Kobal committed
Mar 14, 2017 at 16:41 UTC
090e36e79457e84b67d5af860da1d614133db2de
3 files changed
+208
-141
src/freebsd_sysctl.c
+191
-126
@@ -1231,7 +1231,7 @@ int do_net_isr(int update_every, usec_t dt) {
1231
static int do_netisr = -1, do_netisr_per_core = -1;
1232
1233
if (unlikely(do_netisr == -1)) {
1234
- do_netisr = config_get_boolean("plugin:freebsd:sysctl", "netisr", 1);
1234
+ do_netisr = config_get_boolean("plugin:freebsd:sysctl", "netisr", 1);
1235
do_netisr_per_core = config_get_boolean("plugin:freebsd:sysctl", "netisr per core", 1);
1236
}
1237
@@ -1441,16 +1441,16 @@ int do_net_inet_tcp_stats(int update_every, usec_t dt) {
1441
static int do_tcp_packets = -1, do_tcp_errors = -1, do_tcp_handshake = -1, do_tcpext_connaborts = -1, do_tcpext_ofo = -1, do_tcpext_syncookies = -1, do_ecn = -1;
1442
1443
if (unlikely(do_tcp_packets == -1)) {
1444
- do_tcp_packets = config_get_boolean("plugin:freebsd:sysctl", "ipv4 TCP packets", 1);
1445
- do_tcp_errors = config_get_boolean("plugin:freebsd:sysctl", "ipv4 TCP errors", 1);
1446
- do_tcp_handshake = config_get_boolean("plugin:freebsd:sysctl", "ipv4 TCP handshake issues", 1);
1444
+ do_tcp_packets = config_get_boolean("plugin:freebsd:sysctl", "ipv4 TCP packets", 1);
1445
+ do_tcp_errors = config_get_boolean("plugin:freebsd:sysctl", "ipv4 TCP errors", 1);
1446
+ do_tcp_handshake = config_get_boolean("plugin:freebsd:sysctl", "ipv4 TCP handshake issues", 1);
1447
do_tcpext_connaborts = config_get_boolean_ondemand("plugin:freebsd:sysctl", "TCP connection aborts",
1448
CONFIG_BOOLEAN_AUTO);
1449
- do_tcpext_ofo = config_get_boolean_ondemand("plugin:freebsd:sysctl", "TCP out-of-order queue",
1449
+ do_tcpext_ofo = config_get_boolean_ondemand("plugin:freebsd:sysctl", "TCP out-of-order queue",
1450
CONFIG_BOOLEAN_AUTO);
1451
do_tcpext_syncookies = config_get_boolean_ondemand("plugin:freebsd:sysctl", "TCP SYN cookies",
1452
CONFIG_BOOLEAN_AUTO);
1453
- do_ecn = config_get_boolean_ondemand("plugin:freebsd:sysctl", "ECN packets",
1453
+ do_ecn = config_get_boolean_ondemand("plugin:freebsd:sysctl", "ECN packets",
1454
CONFIG_BOOLEAN_AUTO);
1455
}
1456
@@ -1835,9 +1835,9 @@ int do_net_inet_icmp_stats(int update_every, usec_t dt) {
1835
static int do_icmp_packets = -1, do_icmp_errors = -1, do_icmpmsg = -1;
1836
1837
if (unlikely(do_icmp_packets == -1)) {
1838
- do_icmp_packets = config_get_boolean("plugin:freebsd:sysctl", "ipv4 ICMP packets", 1);
1839
- do_icmp_errors = config_get_boolean("plugin:freebsd:sysctl", "ipv4 ICMP errors", 1);
1840
- do_icmpmsg = config_get_boolean("plugin:freebsd:sysctl", "ipv4 ICMP messages", 1);
1838
+ do_icmp_packets = config_get_boolean("plugin:freebsd:sysctl", "ipv4 ICMP packets", 1);
1839
+ do_icmp_errors = config_get_boolean("plugin:freebsd:sysctl", "ipv4 ICMP errors", 1);
1840
+ do_icmpmsg = config_get_boolean("plugin:freebsd:sysctl", "ipv4 ICMP messages", 1);
1841
}
1842
1843
if (likely(do_icmp_packets || do_icmp_errors || do_icmpmsg)) {
@@ -1953,13 +1953,194 @@ int do_net_inet_icmp_stats(int update_every, usec_t dt) {
1953
return 0;
1954
}
1955
1956
+// --------------------------------------------------------------------------------------------------------------------
1957
+// net.inet.ip.stats
1958
+
1959
+int do_net_inet_ip_stats(int update_every, usec_t dt) {
1960
+ static int do_ip_packets = -1, do_ip_fragsout = -1, do_ip_fragsin = -1, do_ip_errors = -1;
1961
+
1962
+ if (unlikely(do_ip_packets == -1)) {
1963
+ do_ip_packets = config_get_boolean("plugin:freebsd:sysctl", "ipv4 packets", 1);
1964
+ do_ip_fragsout = config_get_boolean("plugin:freebsd:sysctl", "ipv4 fragments sent", 1);
1965
+ do_ip_fragsin = config_get_boolean("plugin:freebsd:sysctl", "ipv4 fragments assembly", 1);
1966
+ do_ip_errors = config_get_boolean("plugin:freebsd:sysctl", "ipv4 errors", 1);
1967
+ }
1968
+
1969
+ // see also http://net-snmp.sourceforge.net/docs/mibs/ip.html
1970
+ if (likely(do_ip_packets || do_ip_fragsout || do_ip_fragsin || do_ip_errors)) {
1971
+ static int mib[4] = {0, 0, 0, 0};
1972
+ struct ipstat ipstat;
1973
+
1974
+ if (unlikely(GETSYSCTL_SIMPLE("net.inet.ip.stats", mib, ipstat))) {
1975
+ do_ip_packets = 0;
1976
+ error("DISABLED: ipv4.packets chart");
1977
+ do_ip_fragsout = 0;
1978
+ error("DISABLED: ipv4.fragsout chart");
1979
+ do_ip_fragsin = 0;
1980
+ error("DISABLED: ipv4.fragsin chart");
1981
+ do_ip_errors = 0;
1982
+ error("DISABLED: ipv4.errors chart");
1983
+ error("DISABLED: net.inet.ip.stats module");
1984
+ return 1;
1985
+ } else {
1986
+
1987
+ // --------------------------------------------------------------------
1988
+
1989
+ if (likely(do_ip_packets)) {
1990
+ static RRDSET *st = NULL;
1991
+ static RRDDIM *rd_in_receives = NULL, *rd_out_requests = NULL, *rd_forward_datagrams = NULL,
1992
+ *rd_in_delivers = NULL;
1993
+
1994
+ if (unlikely(!st)) {
1995
+ st = rrdset_create_localhost("ipv4",
1996
+ "packets",
1997
+ NULL,
1998
+ "packets",
1999
+ NULL,
2000
+ "IPv4 Packets",
2001
+ "packets/s",
2002
+ 3000,
2003
+ update_every,
2004
+ RRDSET_TYPE_LINE
2005
+ );
2006
+
2007
+ rd_in_receives = rrddim_add(st, "InReceives", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2008
+ rd_out_requests = rrddim_add(st, "OutRequests", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2009
+ rd_forward_datagrams = rrddim_add(st, "ForwDatagrams", "forwarded", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2010
+ rd_in_delivers = rrddim_add(st, "InDelivers", "delivered", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2011
+ } else
2012
+ rrdset_next(st);
2013
+
2014
+ rrddim_set_by_pointer(st, rd_in_receives, ipstat.ips_total);
2015
+ rrddim_set_by_pointer(st, rd_out_requests, ipstat.ips_localout);
2016
+ rrddim_set_by_pointer(st, rd_forward_datagrams, ipstat.ips_forward);
2017
+ rrddim_set_by_pointer(st, rd_in_delivers, ipstat.ips_delivered);
2018
+ rrdset_done(st);
2019
+ }
2020
+
2021
+ // --------------------------------------------------------------------
2022
+
2023
+ if (likely(do_ip_fragsout)) {
2024
+ static RRDSET *st = NULL;
2025
+ static RRDDIM *rd_ok = NULL, *rd_fails = NULL, *rd_created = NULL;
2026
+
2027
+ if (unlikely(!st)) {
2028
+ st = rrdset_create_localhost("ipv4",
2029
+ "fragsout",
2030
+ NULL,
2031
+ "fragments",
2032
+ NULL,
2033
+ "IPv4 Fragments Sent",
2034
+ "packets/s",
2035
+ 3010,
2036
+ update_every,
2037
+ RRDSET_TYPE_LINE
2038
+ );
2039
+
2040
+ rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
2041
+
2042
+ rd_ok = rrddim_add(st, "FragOKs", "ok", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2043
+ rd_fails = rrddim_add(st, "FragFails", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2044
+ rd_created = rrddim_add(st, "FragCreates", "created", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2045
+ } else
2046
+ rrdset_next(st);
2047
+
2048
+ rrddim_set_by_pointer(st, rd_ok, ipstat.ips_fragmented);
2049
+ rrddim_set_by_pointer(st, rd_fails, ipstat.ips_cantfrag);
2050
+ rrddim_set_by_pointer(st, rd_created, ipstat.ips_ofragments);
2051
+ rrdset_done(st);
2052
+ }
2053
+
2054
+ // --------------------------------------------------------------------
2055
+
2056
+ if (likely(do_ip_fragsin)) {
2057
+ static RRDSET *st = NULL;
2058
+ static RRDDIM *rd_ok = NULL, *rd_failed = NULL, *rd_all = NULL;
2059
+
2060
+ if (unlikely(!st)) {
2061
+ st = rrdset_create_localhost("ipv4",
2062
+ "fragsin",
2063
+ NULL,
2064
+ "fragments",
2065
+ NULL,
2066
+ "IPv4 Fragments Reassembly",
2067
+ "packets/s",
2068
+ 3011,
2069
+ update_every,
2070
+ RRDSET_TYPE_LINE
2071
+ );
2072
+
2073
+ rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
2074
+
2075
+ rd_ok = rrddim_add(st, "ReasmOKs", "ok", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2076
+ rd_failed = rrddim_add(st, "ReasmFails", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2077
+ rd_all = rrddim_add(st, "ReasmReqds", "all", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2078
+ } else
2079
+ rrdset_next(st);
2080
+
2081
+ rrddim_set_by_pointer(st, rd_ok, ipstat.ips_fragments);
2082
+ rrddim_set_by_pointer(st, rd_failed, ipstat.ips_fragdropped);
2083
+ rrddim_set_by_pointer(st, rd_all, ipstat.ips_reassembled);
2084
+ rrdset_done(st);
2085
+ }
2086
+
2087
+ // --------------------------------------------------------------------
2088
+
2089
+ if (likely(do_ip_errors)) {
2090
+ static RRDSET *st = NULL;
2091
+ static RRDDIM *rd_in_discards = NULL, *rd_out_discards = NULL,
2092
+ *rd_in_hdr_errors = NULL, *rd_out_no_routes = NULL,
2093
+ *rd_in_addr_errors = NULL, *rd_in_unknown_protos = NULL;
2094
+
2095
+ if (unlikely(!st)) {
2096
+ st = rrdset_create_localhost("ipv4",
2097
+ "errors",
2098
+ NULL,
2099
+ "errors",
2100
+ NULL,
2101
+ "IPv4 Errors",
2102
+ "packets/s",
2103
+ 3002,
2104
+ update_every,
2105
+ RRDSET_TYPE_LINE
2106
+ );
2107
+
2108
+ rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
2109
+
2110
+ rd_in_discards = rrddim_add(st, "InDiscards", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2111
+ rd_out_discards = rrddim_add(st, "OutDiscards", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2112
+ rd_in_hdr_errors = rrddim_add(st, "InHdrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2113
+ rd_out_no_routes = rrddim_add(st, "OutNoRoutes", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2114
+ rd_in_addr_errors = rrddim_add(st, "InAddrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2115
+ rd_in_unknown_protos = rrddim_add(st, "InUnknownProtos", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2116
+ } else
2117
+ rrdset_next(st);
2118
+
2119
+ rrddim_set_by_pointer(st, rd_in_discards, ipstat.ips_badsum + ipstat.ips_tooshort +
2120
+ ipstat.ips_toosmall + ipstat.ips_toolong);
2121
+ rrddim_set_by_pointer(st, rd_out_discards, ipstat.ips_odropped);
2122
+ rrddim_set_by_pointer(st, rd_in_hdr_errors, ipstat.ips_badhlen + ipstat.ips_badlen +
2123
+ ipstat.ips_badoptions + ipstat.ips_badvers);
2124
+ rrddim_set_by_pointer(st, rd_out_no_routes, ipstat.ips_noroute);
2125
+ rrddim_set_by_pointer(st, rd_in_addr_errors, ipstat.ips_badaddr);
2126
+ rrddim_set_by_pointer(st, rd_in_unknown_protos, ipstat.ips_noproto);
2127
+ rrdset_done(st);
2128
+ }
2129
+ }
2130
+ } else {
2131
+ error("DISABLED: net.inet.ip.stats module");
2132
+ return 1;
2133
+ }
2134
+
2135
+ return 0;
2136
+}
2137
+
2138
// --------------------------------------------------------------------------------------------------------------------
2139
// old sources
2140
2141
int do_freebsd_sysctl_old(int update_every, usec_t dt) {
2142
static int do_disk_io = -1,
2143
do_bandwidth = -1,
1962
- do_ip_packets = -1, do_ip_fragsout = -1, do_ip_fragsin = -1, do_ip_errors = -1,
2144
do_ip6_packets = -1, do_ip6_fragsout = -1, do_ip6_fragsin = -1, do_ip6_errors = -1,
2145
do_icmp6 = -1, do_icmp6_redir = -1, do_icmp6_errors = -1, do_icmp6_echos = -1, do_icmp6_router = -1,
2146
do_icmp6_neighbor = -1, do_icmp6_types = -1, do_space = -1, do_inodes = -1;
@@ -1967,10 +2148,6 @@ int do_freebsd_sysctl_old(int update_every, usec_t dt) {
2148
if (unlikely(do_disk_io == -1)) {
2149
do_disk_io = config_get_boolean("plugin:freebsd:sysctl", "stats for all disks", 1);
2150
do_bandwidth = config_get_boolean("plugin:freebsd:sysctl", "bandwidth", 1);
1970
- do_ip_packets = config_get_boolean("plugin:freebsd:sysctl", "ipv4 packets", 1);
1971
- do_ip_fragsout = config_get_boolean("plugin:freebsd:sysctl", "ipv4 fragments sent", 1);
1972
- do_ip_fragsin = config_get_boolean("plugin:freebsd:sysctl", "ipv4 fragments assembly", 1);
1973
- do_ip_errors = config_get_boolean("plugin:freebsd:sysctl", "ipv4 errors", 1);
2151
do_ip6_packets = config_get_boolean_ondemand("plugin:freebsd:sysctl", "ipv6 packets", CONFIG_BOOLEAN_AUTO);
2152
do_ip6_fragsout = config_get_boolean_ondemand("plugin:freebsd:sysctl", "ipv6 fragments sent", CONFIG_BOOLEAN_AUTO);
2153
do_ip6_fragsin = config_get_boolean_ondemand("plugin:freebsd:sysctl", "ipv6 fragments assembly", CONFIG_BOOLEAN_AUTO);
@@ -2021,9 +2198,6 @@ int do_freebsd_sysctl_old(int update_every, usec_t dt) {
2198
u_long ift_obytes;
2199
} iftot = {0, 0};
2200
2024
- // NEEDED BY: do_ip...
2025
- struct ipstat ipstat;
2026
-
2201
// NEEDED BY: do_ip6...
2202
struct ip6stat ip6stat;
2203
@@ -2367,115 +2541,6 @@ int do_freebsd_sysctl_old(int update_every, usec_t dt) {
2541
2542
// --------------------------------------------------------------------
2543
2370
- // see also http://net-snmp.sourceforge.net/docs/mibs/ip.html
2371
- if (likely(do_ip_packets || do_ip_fragsout || do_ip_fragsin || do_ip_errors)) {
2372
- if (unlikely(GETSYSCTL_BY_NAME("net.inet.ip.stats", ipstat))) {
2373
- do_ip_packets = 0;
2374
- error("DISABLED: ipv4.packets");
2375
- do_ip_fragsout = 0;
2376
- error("DISABLED: ipv4.fragsout");
2377
- do_ip_fragsin = 0;
2378
- error("DISABLED: ipv4.fragsin");
2379
- do_ip_errors = 0;
2380
- error("DISABLED: ipv4.errors");
2381
- } else {
2382
- if (likely(do_ip_packets)) {
2383
- st = rrdset_find_localhost("ipv4.packets");
2384
- if (unlikely(!st)) {
2385
- st = rrdset_create_localhost("ipv4", "packets", NULL, "packets", NULL, "IPv4 Packets", "packets/s",
2386
- 3000, update_every, RRDSET_TYPE_LINE);
2387
-
2388
- rrddim_add(st, "InReceives", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2389
- rrddim_add(st, "OutRequests", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2390
- rrddim_add(st, "ForwDatagrams", "forwarded", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2391
- rrddim_add(st, "InDelivers", "delivered", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2392
- } else
2393
- rrdset_next(st);
2394
-
2395
- rrddim_set(st, "OutRequests", ipstat.ips_localout);
2396
- rrddim_set(st, "InReceives", ipstat.ips_total);
2397
- rrddim_set(st, "ForwDatagrams", ipstat.ips_forward);
2398
- rrddim_set(st, "InDelivers", ipstat.ips_delivered);
2399
- rrdset_done(st);
2400
- }
2401
-
2402
- // --------------------------------------------------------------------
2403
-
2404
- if (likely(do_ip_fragsout)) {
2405
- st = rrdset_find_localhost("ipv4.fragsout");
2406
- if (unlikely(!st)) {
2407
- st = rrdset_create_localhost("ipv4", "fragsout", NULL, "fragments", NULL, "IPv4 Fragments Sent",
2408
- "packets/s", 3010, update_every, RRDSET_TYPE_LINE);
2409
- rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
2410
-
2411
- rrddim_add(st, "FragOKs", "ok", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2412
- rrddim_add(st, "FragFails", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2413
- rrddim_add(st, "FragCreates", "created", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2414
- } else
2415
- rrdset_next(st);
2416
-
2417
- rrddim_set(st, "FragOKs", ipstat.ips_fragmented);
2418
- rrddim_set(st, "FragFails", ipstat.ips_cantfrag);
2419
- rrddim_set(st, "FragCreates", ipstat.ips_ofragments);
2420
- rrdset_done(st);
2421
- }
2422
-
2423
- // --------------------------------------------------------------------
2424
-
2425
- if (likely(do_ip_fragsin)) {
2426
- st = rrdset_find_localhost("ipv4.fragsin");
2427
- if (unlikely(!st)) {
2428
- st = rrdset_create_localhost("ipv4", "fragsin", NULL, "fragments", NULL,
2429
- "IPv4 Fragments Reassembly",
2430
- "packets/s", 3011, update_every, RRDSET_TYPE_LINE);
2431
- rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
2432
-
2433
- rrddim_add(st, "ReasmOKs", "ok", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2434
- rrddim_add(st, "ReasmFails", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2435
- rrddim_add(st, "ReasmReqds", "all", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2436
- } else
2437
- rrdset_next(st);
2438
-
2439
- rrddim_set(st, "ReasmOKs", ipstat.ips_fragments);
2440
- rrddim_set(st, "ReasmFails", ipstat.ips_fragdropped);
2441
- rrddim_set(st, "ReasmReqds", ipstat.ips_reassembled);
2442
- rrdset_done(st);
2443
- }
2444
-
2445
- // --------------------------------------------------------------------
2446
-
2447
- if (likely(do_ip_errors)) {
2448
- st = rrdset_find_localhost("ipv4.errors");
2449
- if (unlikely(!st)) {
2450
- st = rrdset_create_localhost("ipv4", "errors", NULL, "errors", NULL, "IPv4 Errors", "packets/s",
2451
- 3002,
2452
- update_every, RRDSET_TYPE_LINE);
2453
- rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
2454
-
2455
- rrddim_add(st, "InDiscards", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2456
- rrddim_add(st, "OutDiscards", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2457
-
2458
- rrddim_add(st, "InHdrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2459
- rrddim_add(st, "OutNoRoutes", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2460
-
2461
- rrddim_add(st, "InAddrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2462
- rrddim_add(st, "InUnknownProtos", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2463
- } else
2464
- rrdset_next(st);
2465
-
2466
- rrddim_set(st, "InDiscards", ipstat.ips_badsum + ipstat.ips_tooshort + ipstat.ips_toosmall + ipstat.ips_toolong);
2467
- rrddim_set(st, "OutDiscards", ipstat.ips_odropped);
2468
- rrddim_set(st, "InHdrErrors", ipstat.ips_badhlen + ipstat.ips_badlen + ipstat.ips_badoptions + ipstat.ips_badvers);
2469
- rrddim_set(st, "InAddrErrors", ipstat.ips_badaddr);
2470
- rrddim_set(st, "InUnknownProtos", ipstat.ips_noproto);
2471
- rrddim_set(st, "OutNoRoutes", ipstat.ips_noroute);
2472
- rrdset_done(st);
2473
- }
2474
- }
2475
- }
2476
-
2477
- // --------------------------------------------------------------------
2478
-
2544
if (likely(do_ip6_packets || do_ip6_fragsout || do_ip6_fragsin || do_ip6_errors)) {
2545
if (unlikely(GETSYSCTL_BY_NAME("net.inet6.ip6.stats", ip6stat))) {
2546
do_ip6_packets = 0;
src/plugin_freebsd.c
+16
-15
@@ -16,28 +16,29 @@ static struct freebsd_module {
16
{ .name = "freebsd_old", .dim = "freebsd_old", .enabled = 1, .func = do_freebsd_sysctl_old },
17
18
// system metrics
19
- { .name = "vm.loadavg", .dim = "loadavg", .enabled = 1, .func = do_vm_loadavg },
20
- { .name = "vm.vmtotal", .dim = "vmtotal", .enabled = 1, .func = do_vm_vmtotal },
19
+ { .name = "vm.loadavg", .dim = "loadavg", .enabled = 1, .func = do_vm_loadavg },
20
+ { .name = "vm.vmtotal", .dim = "vmtotal", .enabled = 1, .func = do_vm_vmtotal },
21
{ .name = "kern.cp_time", .dim = "cp_time", .enabled = 1, .func = do_kern_cp_time },
22
- { .name = "hw.intrcnt", .dim = "hw_intr", .enabled = 1, .func = do_hw_intcnt },
23
- { .name = "vm.stats.sys.v_intr", .dim = "dev_intr", .enabled = 1, .func = do_vm_stats_sys_v_intr },
24
- { .name = "vm.stats.sys.v_soft", .dim = "soft_intr", .enabled = 1, .func = do_vm_stats_sys_v_soft },
22
+ { .name = "hw.intrcnt", .dim = "hw_intr", .enabled = 1, .func = do_hw_intcnt },
23
+ { .name = "vm.stats.sys.v_intr", .dim = "dev_intr", .enabled = 1, .func = do_vm_stats_sys_v_intr },
24
+ { .name = "vm.stats.sys.v_soft", .dim = "soft_intr", .enabled = 1, .func = do_vm_stats_sys_v_soft },
25
{ .name = "vm.stats.sys.v_swtch", .dim = "context_swtch", .enabled = 1, .func = do_vm_stats_sys_v_swtch },
26
- { .name = "vm.stats.vm.v_forks", .dim = "forks", .enabled = 1, .func = do_vm_stats_sys_v_forks },
27
- { .name = "vm.swap_info", .dim = "swap", .enabled = 1, .func = do_vm_swap_info },
28
- { .name = "system.ram", .dim = "system_ram", .enabled = 1, .func = do_system_ram },
26
+ { .name = "vm.stats.vm.v_forks", .dim = "forks", .enabled = 1, .func = do_vm_stats_sys_v_forks },
27
+ { .name = "vm.swap_info", .dim = "swap", .enabled = 1, .func = do_vm_swap_info },
28
+ { .name = "system.ram", .dim = "system_ram", .enabled = 1, .func = do_system_ram },
29
{ .name = "vm.stats.vm.v_swappgs", .dim = "swap_io", .enabled = 1, .func = do_vm_stats_sys_v_swappgs },
30
- { .name = "kern.ipc.sem", .dim = "semaphores", .enabled = 1, .func = do_kern_ipc_sem },
31
- { .name = "kern.ipc.shm", .dim = "shared_memory", .enabled = 1, .func = do_kern_ipc_shm },
30
+ { .name = "kern.ipc.sem", .dim = "semaphores", .enabled = 1, .func = do_kern_ipc_sem },
31
+ { .name = "kern.ipc.shm", .dim = "shared_memory", .enabled = 1, .func = do_kern_ipc_shm },
32
{ .name = "kern.ipc.msq", .dim = "message_queues", .enabled = 1, .func = do_kern_ipc_msq },
33
- { .name = "uptime", .dim = "uptime", .enabled = 1, .func = do_uptime },
33
+ { .name = "uptime", .dim = "uptime", .enabled = 1, .func = do_uptime },
34
{ .name = "net.isr", .dim = "net_isr", .enabled = 1, .func = do_net_isr },
35
36
// network metrics
37
- { .name = "net.inet.tcp.states", .dim = "tcp_states", .enabled = 1, .func = do_net_inet_tcp_states },
38
- { .name = "net.inet.tcp.stats", .dim = "tcp_stats", .enabled = 1, .func = do_net_inet_tcp_stats },
39
- { .name = "net.inet.udp.stats", .dim = "udp_stats", .enabled = 1, .func = do_net_inet_udp_stats },
40
- { .name = "net.inet.icmp.stats", .dim = "icmp_stats", .enabled = 1, .func = do_net_inet_icmp_stats },
37
+ { .name = "net.inet.tcp.states", .dim = "tcp_states", .enabled = 1, .func = do_net_inet_tcp_states },
38
+ { .name = "net.inet.tcp.stats", .dim = "tcp_stats", .enabled = 1, .func = do_net_inet_tcp_stats },
39
+ { .name = "net.inet.udp.stats", .dim = "udp_stats", .enabled = 1, .func = do_net_inet_udp_stats },
40
+ { .name = "net.inet.icmp.stats", .dim = "icmp_stats", .enabled = 1, .func = do_net_inet_icmp_stats },
41
+ { .name = "net.inet.ip.stats", .dim = "ip_stats", .enabled = 1, .func = do_net_inet_ip_stats },
42
43
// CPU metrics
44
{ .name = "kern.cp_times", .dim = "cp_times", .enabled = 1, .func = do_kern_cp_times },
src/plugin_freebsd.h
+1
@@ -29,6 +29,7 @@ extern int do_net_inet_tcp_states(int update_every, usec_t dt);
29
extern int do_net_inet_tcp_stats(int update_every, usec_t dt);
30
extern int do_net_inet_udp_stats(int update_every, usec_t dt);
31
extern int do_net_inet_icmp_stats(int update_every, usec_t dt);
32
+extern int do_net_inet_ip_stats(int update_every, usec_t dt);
33
34
extern int do_freebsd_sysctl_old(int update_every, usec_t dt);
35