@cryptotaxi247 / netdata-1 / commits / 38ba87238

Separate vm.stats.vm.v_swappgs module

Vladimir Kobal committed Mar 9, 2017 at 16:59 UTC 38ba87238755bb0adceef06cb23483c728fd5fee
3 files changed +49 -24
src/freebsd_sysctl.c
+47 -24
@@ -796,6 +796,52 @@ int do_system_ram(int update_every, usec_t dt) {
796 return 0;
797 }
798
799 +// --------------------------------------------------------------------------------------------------------------------
800 +// vm.stats.vm.v_swappgs
801 +
802 +int do_vm_stats_sys_v_swappgs(int update_every, usec_t dt) {
803 + static int mib_swappgsin[4] = {0, 0, 0, 0};
804 + static int mib_swappgsout[4] = {0, 0, 0, 0};
805 + struct vmmeter vmmeter_data;
806 +
807 + if (unlikely(GETSYSCTL_SIMPLE("vm.stats.vm.v_swappgsin", mib_swappgsin, vmmeter_data.v_swappgsin) ||
808 + GETSYSCTL_SIMPLE("vm.stats.vm.v_swappgsout", mib_swappgsout, vmmeter_data.v_swappgsout))) {
809 + error("DISABLED: system.swapio chart");
810 + error("DISABLED: vm.stats.vm.v_swappgs module");
811 + return 1;
812 + } else {
813 +
814 + // --------------------------------------------------------------------
815 +
816 + static RRDSET *st = NULL;
817 + static RRDDIM *rd_in = NULL, *rd_out = NULL;
818 +
819 + if (unlikely(!st)) {
820 + st = rrdset_create_localhost("system",
821 + "swapio",
822 + NULL,
823 + "swap",
824 + NULL,
825 + "Swap I/O",
826 + "kilobytes/s",
827 + 250,
828 + update_every,
829 + RRDSET_TYPE_AREA
830 + );
831 +
832 + rd_in = rrddim_add(st, "in", NULL, system_pagesize, KILO_FACTOR, RRD_ALGORITHM_INCREMENTAL);
833 + rd_out = rrddim_add(st, "out", NULL, -system_pagesize, KILO_FACTOR, RRD_ALGORITHM_INCREMENTAL);
834 + }
835 + else rrdset_next(st);
836 +
837 + rrddim_set_by_pointer(st, rd_in, vmmeter_data.v_swappgsin);
838 + rrddim_set_by_pointer(st, rd_out, vmmeter_data.v_swappgsout);
839 + rrdset_done(st);
840 + }
841 +
842 + return 0;
843 +}
844 +
845 // --------------------------------------------------------------------------------------------------------------------
846 // old sources
847
@@ -806,7 +852,7 @@ int do_system_ram(int update_every, usec_t dt) {
852 #define IFA_DATA(s) (((struct if_data *)ifa->ifa_data)->ifi_ ## s)
853
854 int do_freebsd_sysctl_old(int update_every, usec_t dt) {
809 - static int do_disk_io = -1, do_swapio = -1,
855 + static int do_disk_io = -1,
856 do_pgfaults = -1, do_ipc_semaphores = -1, do_ipc_shared_mem = -1, do_ipc_msg_queues = -1,
857 do_netisr = -1, do_netisr_per_core = -1, do_bandwidth = -1,
858 do_tcp_sockets = -1, do_tcp_packets = -1, do_tcp_errors = -1, do_tcp_handshake = -1,
@@ -819,7 +865,6 @@ int do_freebsd_sysctl_old(int update_every, usec_t dt) {
865
866 if (unlikely(do_uptime == -1)) {
867 do_disk_io = config_get_boolean("plugin:freebsd:sysctl", "stats for all disks", 1);
822 - do_swapio = config_get_boolean("plugin:freebsd:sysctl", "swap i/o", 1);
868 do_pgfaults = config_get_boolean("plugin:freebsd:sysctl", "memory page faults", 1);
869 do_ipc_semaphores = config_get_boolean("plugin:freebsd:sysctl", "ipc semaphores", 1);
870 do_ipc_shared_mem = config_get_boolean("plugin:freebsd:sysctl", "ipc shared memory", 1);
@@ -1158,28 +1203,6 @@ int do_freebsd_sysctl_old(int update_every, usec_t dt) {
1203
1204 // --------------------------------------------------------------------
1205
1161 - if (likely(do_swapio)) {
1162 - if (unlikely(GETSYSCTL_BY_NAME("vm.stats.vm.v_swappgsin", vmmeter_data.v_swappgsin) || GETSYSCTL_BY_NAME("vm.stats.vm.v_swappgsout", vmmeter_data.v_swappgsout))) {
1163 - do_swapio = 0;
1164 - error("DISABLED: system.swapio");
1165 - } else {
1166 - st = rrdset_find_localhost("system.swapio");
1167 - if (unlikely(!st)) {
1168 - st = rrdset_create_localhost("system", "swapio", NULL, "swap", NULL, "Swap I/O", "kilobytes/s", 250, update_every, RRDSET_TYPE_AREA);
1169 -
1170 - rrddim_add(st, "in", NULL, system_pagesize, 1024, RRD_ALGORITHM_INCREMENTAL);
1171 - rrddim_add(st, "out", NULL, -system_pagesize, 1024, RRD_ALGORITHM_INCREMENTAL);
1172 - }
1173 - else rrdset_next(st);
1174 -
1175 - rrddim_set(st, "in", vmmeter_data.v_swappgsin);
1176 - rrddim_set(st, "out", vmmeter_data.v_swappgsout);
1177 - rrdset_done(st);
1178 - }
1179 - }
1180 -
1181 - // --------------------------------------------------------------------
1182 -
1206 if (likely(do_pgfaults)) {
1207 if (unlikely(GETSYSCTL_BY_NAME("vm.stats.vm.v_vm_faults", vmmeter_data.v_vm_faults) ||
1208 GETSYSCTL_BY_NAME("vm.stats.vm.v_io_faults", vmmeter_data.v_io_faults) ||
src/plugin_freebsd.c
+1
@@ -27,6 +27,7 @@ static struct freebsd_module {
27 { .name = "vm.stats.vm.v_forks", .dim = "forks", .enabled = 1, .func = do_vm_stats_sys_v_forks },
28 { .name = "vm.swap_info", .dim = "swap", .enabled = 1, .func = do_vm_swap_info },
29 { .name = "system.ram", .dim = "system_ram", .enabled = 1, .func = do_system_ram },
30 + { .name = "vm.stats.vm.v_swappgs", .dim = "swap_io", .enabled = 1, .func = do_vm_stats_sys_v_swappgs },
31
32 // the terminator of this array
33 { .name = NULL, .dim = NULL, .enabled = 0, .func = NULL }
src/plugin_freebsd.h
+1
@@ -18,6 +18,7 @@ extern int do_vm_stats_sys_v_swtch(int update_every, usec_t dt);
18 extern int do_vm_stats_sys_v_forks(int update_every, usec_t dt);
19 extern int do_vm_swap_info(int update_every, usec_t dt);
20 extern int do_system_ram(int update_every, usec_t dt);
21 +extern int do_vm_stats_sys_v_swappgs(int update_every, usec_t dt);
22
23 extern int do_freebsd_sysctl_old(int update_every, usec_t dt);
24