@cryptotaxi247 / netdata-1 / commits / 090e36e79

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