90
#define NETDATA_COLLECT_LAUNDRY 1
91
#endif
92
93
-// --------------------------------------------------------------------------------------------------------------------
93
// FreeBSD plugin initialization
94
95
int freebsd_plugin_init()
113
return 0;
114
}
115
117
-// --------------------------------------------------------------------------------------------------------------------
116
// vm.loadavg
117
118
// FreeBSD calculates load averages once every 5 seconds
130
error("DISABLED: vm.loadavg module");
131
return 1;
132
} else {
135
-
136
- // --------------------------------------------------------------------
137
-
133
static RRDSET *st = NULL;
134
static RRDDIM *rd_load1 = NULL, *rd_load2 = NULL, *rd_load3 = NULL;
135
151
rd_load1 = rrddim_add(st, "load1", NULL, 1, 1000, RRD_ALGORITHM_ABSOLUTE);
152
rd_load2 = rrddim_add(st, "load5", NULL, 1, 1000, RRD_ALGORITHM_ABSOLUTE);
153
rd_load3 = rrddim_add(st, "load15", NULL, 1, 1000, RRD_ALGORITHM_ABSOLUTE);
159
- } else
160
- rrdset_next(st);
154
+ }
155
156
rrddim_set_by_pointer(st, rd_load1, (collected_number) ((double) sysload.ldavg[0] / sysload.fscale * 1000));
157
rrddim_set_by_pointer(st, rd_load2, (collected_number) ((double) sysload.ldavg[1] / sysload.fscale * 1000));
167
return 0;
168
}
169
176
-// --------------------------------------------------------------------------------------------------------------------
170
// vm.vmtotal
171
172
int do_vm_vmtotal(int update_every, usec_t dt) {
193
error("DISABLED: vm.vmtotal module");
194
return 1;
195
} else {
203
-
204
- // --------------------------------------------------------------------
205
-
196
if (likely(do_all_processes)) {
197
static RRDSET *st = NULL;
198
static RRDDIM *rd = NULL;
214
);
215
rd = rrddim_add(st, "active", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
216
}
227
- else rrdset_next(st);
217
218
rrddim_set_by_pointer(st, rd, (vmtotal_data.t_rq + vmtotal_data.t_dw + vmtotal_data.t_pw + vmtotal_data.t_sl + vmtotal_data.t_sw));
219
rrdset_done(st);
220
}
221
233
- // --------------------------------------------------------------------
234
-
222
if (likely(do_processes)) {
223
static RRDSET *st = NULL;
224
static RRDDIM *rd_running = NULL, *rd_blocked = NULL;
242
rd_running = rrddim_add(st, "running", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
243
rd_blocked = rrddim_add(st, "blocked", NULL, -1, 1, RRD_ALGORITHM_ABSOLUTE);
244
}
258
- else rrdset_next(st);
245
246
rrddim_set_by_pointer(st, rd_running, vmtotal_data.t_rq);
247
rrddim_set_by_pointer(st, rd_blocked, (vmtotal_data.t_dw + vmtotal_data.t_pw));
248
rrdset_done(st);
249
}
250
265
- // --------------------------------------------------------------------
266
-
251
if (likely(do_mem_real)) {
252
static RRDSET *st = NULL;
253
static RRDDIM *rd = NULL;
271
272
rd = rrddim_add(st, "used", NULL, system_pagesize, MEGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
273
}
290
- else rrdset_next(st);
274
275
rrddim_set_by_pointer(st, rd, vmtotal_data.t_rm);
276
rrdset_done(st);
284
return 0;
285
}
286
304
-// --------------------------------------------------------------------------------------------------------------------
287
// kern.cp_time
288
289
int do_kern_cp_time(int update_every, usec_t dt) {
303
error("DISABLED: kern.cp_time module");
304
return 1;
305
} else {
324
-
325
- // --------------------------------------------------------------------
326
-
306
static RRDSET *st = NULL;
307
static RRDDIM *rd_nice = NULL, *rd_system = NULL, *rd_user = NULL, *rd_interrupt = NULL, *rd_idle = NULL;
308
329
rd_idle = rrddim_add(st, "idle", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
330
rrddim_hide(st, "idle");
331
}
353
- else rrdset_next(st);
332
333
rrddim_set_by_pointer(st, rd_nice, cp_time[1]);
334
rrddim_set_by_pointer(st, rd_system, cp_time[2]);
342
return 0;
343
}
344
367
-// --------------------------------------------------------------------------------------------------------------------
345
// kern.cp_times
346
347
int do_kern_cp_times(int update_every, usec_t dt) {
365
error("DISABLED: kern.cp_times module");
366
return 1;
367
} else {
391
-
392
- // --------------------------------------------------------------------
393
-
368
int i;
369
static struct cpu_chart {
370
char cpuid[MAX_INT_DIGITS + 4];
410
all_cpu_charts[i].rd_idle = rrddim_add(all_cpu_charts[i].st, "idle", NULL, 1, 1,
411
RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
412
rrddim_hide(all_cpu_charts[i].st, "idle");
439
- } else rrdset_next(all_cpu_charts[i].st);
413
+ }
414
415
rrddim_set_by_pointer(all_cpu_charts[i].st, all_cpu_charts[i].rd_nice, pcpu_cp_time[i * 5 + 1]);
416
rrddim_set_by_pointer(all_cpu_charts[i].st, all_cpu_charts[i].rd_system, pcpu_cp_time[i * 5 + 2]);
427
return 0;
428
}
429
456
-// --------------------------------------------------------------------------------------------------------------------
430
// dev.cpu.temperature
431
432
int do_dev_cpu_temperature(int update_every, usec_t dt) {
455
}
456
}
457
485
- // --------------------------------------------------------------------
486
-
458
static RRDSET *st;
459
static RRDDIM **rd_pcpu_temperature;
460
480
RRDSET_TYPE_LINE
481
);
482
}
512
- else rrdset_next(st);
483
484
for (i = 0; i < number_of_cpus; i++) {
485
if (unlikely(!rd_pcpu_temperature[i])) {
497
return 0;
498
}
499
530
-// --------------------------------------------------------------------------------------------------------------------
500
// dev.cpu.0.freq
501
502
int do_dev_cpu_0_freq(int update_every, usec_t dt) {
509
error("DISABLED: dev.cpu.0.freq module");
510
return 1;
511
} else {
543
-
544
- // --------------------------------------------------------------------
545
-
512
static RRDSET *st = NULL;
513
static RRDDIM *rd = NULL;
514
530
531
rd = rrddim_add(st, "frequency", NULL, 1, 1000, RRD_ALGORITHM_ABSOLUTE);
532
}
567
- else rrdset_next(st);
533
534
rrddim_set_by_pointer(st, rd, cpufreq);
535
rrdset_done(st);
571
for (i = 0; i < nintr; i++)
572
totalintr += intrcnt[i];
573
609
- // --------------------------------------------------------------------
610
-
574
static RRDSET *st_intr = NULL;
575
static RRDDIM *rd_intr = NULL;
576
592
rrdset_flag_set(st_intr, RRDSET_FLAG_DETAIL);
593
594
rd_intr = rrddim_add(st_intr, "interrupts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
632
- } else
633
- rrdset_next(st_intr);
595
+ }
596
597
rrddim_set_by_pointer(st_intr, rd_intr, totalintr);
598
rrdset_done(st_intr);
599
638
- // --------------------------------------------------------------------
639
-
600
size_t size;
601
static int mib_hw_intrnames[2] = {0, 0};
602
static char *intrnames = NULL;
615
error("DISABLED: hw.intrcnt module");
616
return 1;
617
} else {
658
-
659
- // --------------------------------------------------------------------
660
-
618
static RRDSET *st_interrupts = NULL;
619
663
- if (unlikely(!st_interrupts))
620
+ if (unlikely(!st_interrupts)) {
621
st_interrupts = rrdset_create_localhost(
622
"system",
623
"interrupts",
632
update_every,
633
RRDSET_TYPE_STACKED
634
);
678
- else
679
- rrdset_next(st_interrupts);
635
+ }
636
637
for (i = 0; i < nintr; i++) {
638
void *p;
658
return 0;
659
}
660
705
-// --------------------------------------------------------------------------------------------------------------------
661
// vm.stats.sys.v_intr
662
663
int do_vm_stats_sys_v_intr(int update_every, usec_t dt) {
670
error("DISABLED: vm.stats.sys.v_intr module");
671
return 1;
672
} else {
718
-
719
- // --------------------------------------------------------------------
720
-
673
static RRDSET *st = NULL;
674
static RRDDIM *rd = NULL;
675
691
692
rd = rrddim_add(st, "interrupts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
693
}
742
- else rrdset_next(st);
694
695
rrddim_set_by_pointer(st, rd, int_number);
696
rrdset_done(st);
699
return 0;
700
}
701
751
-// --------------------------------------------------------------------------------------------------------------------
702
// vm.stats.sys.v_soft
703
704
int do_vm_stats_sys_v_soft(int update_every, usec_t dt) {
711
error("DISABLED: vm.stats.sys.v_soft module");
712
return 1;
713
} else {
764
-
765
- // --------------------------------------------------------------------
766
-
714
static RRDSET *st = NULL;
715
static RRDDIM *rd = NULL;
716
732
733
rd = rrddim_add(st, "interrupts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
734
}
788
- else rrdset_next(st);
735
736
rrddim_set_by_pointer(st, rd, soft_intr_number);
737
rrdset_done(st);
740
return 0;
741
}
742
797
-// --------------------------------------------------------------------------------------------------------------------
743
// vm.stats.sys.v_swtch
744
745
int do_vm_stats_sys_v_swtch(int update_every, usec_t dt) {
752
error("DISABLED: vm.stats.sys.v_swtch module");
753
return 1;
754
} else {
810
-
811
- // --------------------------------------------------------------------
812
-
755
static RRDSET *st = NULL;
756
static RRDDIM *rd = NULL;
757
773
774
rd = rrddim_add(st, "switches", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
775
}
834
- else rrdset_next(st);
776
777
rrddim_set_by_pointer(st, rd, ctxt_number);
778
rrdset_done(st);
781
return 0;
782
}
783
843
-// --------------------------------------------------------------------------------------------------------------------
784
// vm.stats.vm.v_forks
785
786
int do_vm_stats_sys_v_forks(int update_every, usec_t dt) {
819
820
rd = rrddim_add(st, "started", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
821
}
882
- else rrdset_next(st);
822
823
rrddim_set_by_pointer(st, rd, forks_number);
824
rrdset_done(st);
827
return 0;
828
}
829
891
-// --------------------------------------------------------------------------------------------------------------------
830
// vm.swap_info
831
832
int do_vm_swap_info(int update_every, usec_t dt) {
869
total_xsw.bytes_total += xsw.xsw_nblks;
870
}
871
934
- // --------------------------------------------------------------------
935
-
872
static RRDSET *st = NULL;
873
static RRDDIM *rd_free = NULL, *rd_used = NULL;
874
893
rd_free = rrddim_add(st, "free", NULL, system_pagesize, MEGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
894
rd_used = rrddim_add(st, "used", NULL, system_pagesize, MEGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
895
}
960
- else rrdset_next(st);
896
897
rrddim_set_by_pointer(st, rd_free, total_xsw.bytes_total - total_xsw.bytes_used);
898
rrddim_set_by_pointer(st, rd_used, total_xsw.bytes_used);
902
return 0;
903
}
904
970
-// --------------------------------------------------------------------------------------------------------------------
905
// system.ram
906
907
int do_system_ram(int update_every, usec_t dt) {
936
error("DISABLED: system.ram module");
937
return 1;
938
} else {
1005
-
1006
- // --------------------------------------------------------------------
1007
-
939
static RRDSET *st = NULL, *st_mem_available = NULL;
940
static RRDDIM *rd_free = NULL, *rd_active = NULL, *rd_inactive = NULL, *rd_wired = NULL,
941
*rd_cache = NULL, *rd_buffers = NULL, *rd_avail = NULL;
970
#endif
971
rd_buffers = rrddim_add(st, "buffers", NULL, 1, MEGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
972
}
1042
- else rrdset_next(st);
973
974
rrddim_set_by_pointer(st, rd_free, vmmeter_data.v_free_count);
975
rrddim_set_by_pointer(st, rd_active, vmmeter_data.v_active_count);
1004
1005
rd_avail = rrddim_add(st_mem_available, "MemAvailable", "avail", system_pagesize, MEGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
1006
}
1077
- else rrdset_next(st_mem_available);
1007
1008
#if __FreeBSD_version < 1200016
1009
rrddim_set_by_pointer(st_mem_available, rd_avail, vmmeter_data.v_inactive_count + vmmeter_data.v_free_count + vmmeter_data.v_cache_count + zfs_arcstats_shrinkable_cache_size_bytes / system_pagesize);
1017
return 0;
1018
}
1019
1091
-// --------------------------------------------------------------------------------------------------------------------
1020
// vm.stats.vm.v_swappgs
1021
1022
int do_vm_stats_sys_v_swappgs(int update_every, usec_t dt) {
1030
error("DISABLED: vm.stats.vm.v_swappgs module");
1031
return 1;
1032
} else {
1105
-
1106
- // --------------------------------------------------------------------
1107
-
1033
static RRDSET *st = NULL;
1034
static RRDDIM *rd_in = NULL, *rd_out = NULL;
1035
1052
rd_in = rrddim_add(st, "in", NULL, system_pagesize, KILO_FACTOR, RRD_ALGORITHM_INCREMENTAL);
1053
rd_out = rrddim_add(st, "out", NULL, -system_pagesize, KILO_FACTOR, RRD_ALGORITHM_INCREMENTAL);
1054
}
1130
- else rrdset_next(st);
1055
1056
rrddim_set_by_pointer(st, rd_in, vmmeter_data.v_swappgsin);
1057
rrddim_set_by_pointer(st, rd_out, vmmeter_data.v_swappgsout);
1061
return 0;
1062
}
1063
1140
-// --------------------------------------------------------------------------------------------------------------------
1064
// vm.stats.vm.v_pgfaults
1065
1066
int do_vm_stats_sys_v_pgfaults(int update_every, usec_t dt) {
1078
error("DISABLED: vm.stats.vm.v_pgfaults module");
1079
return 1;
1080
} else {
1158
-
1159
- // --------------------------------------------------------------------
1160
-
1081
static RRDSET *st = NULL;
1082
static RRDDIM *rd_memory = NULL, *rd_io_requiring = NULL, *rd_cow = NULL,
1083
*rd_cow_optimized = NULL, *rd_in_transit = NULL;
1106
rd_cow_optimized = rrddim_add(st, "cow_optimized", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1107
rd_in_transit = rrddim_add(st, "in_transit", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1108
}
1189
- else rrdset_next(st);
1109
1110
rrddim_set_by_pointer(st, rd_memory, vmmeter_data.v_vm_faults);
1111
rrddim_set_by_pointer(st, rd_io_requiring, vmmeter_data.v_io_faults);
1159
}
1160
}
1161
1243
- // --------------------------------------------------------------------
1244
-
1162
static RRDSET *st_semaphores = NULL, *st_semaphore_arrays = NULL;
1163
static RRDDIM *rd_semaphores = NULL, *rd_semaphore_arrays = NULL;
1164
1180
1181
rd_semaphores = rrddim_add(st_semaphores, "semaphores", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
1182
}
1266
- else rrdset_next(st_semaphores);
1183
1184
rrddim_set_by_pointer(st_semaphores, rd_semaphores, ipc_sem.semaphores);
1185
rrdset_done(st_semaphores);
1186
1271
- // --------------------------------------------------------------------
1272
-
1187
if (unlikely(!st_semaphore_arrays)) {
1188
st_semaphore_arrays = rrdset_create_localhost(
1189
"system",
1202
1203
rd_semaphore_arrays = rrddim_add(st_semaphore_arrays, "arrays", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
1204
}
1291
- else rrdset_next(st_semaphore_arrays);
1205
1206
rrddim_set_by_pointer(st_semaphore_arrays, rd_semaphore_arrays, ipc_sem.sets);
1207
rrdset_done(st_semaphore_arrays);
1211
return 0;
1212
}
1213
1301
-// --------------------------------------------------------------------------------------------------------------------
1214
// kern.ipc.shm
1215
1216
int do_kern_ipc_shm(int update_every, usec_t dt) {
1252
}
1253
}
1254
1343
- // --------------------------------------------------------------------
1344
-
1255
static RRDSET *st_segs = NULL, *st_size = NULL;
1256
static RRDDIM *rd_segments = NULL, *rd_allocated = NULL;
1257
1273
1274
rd_segments = rrddim_add(st_segs, "segments", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
1275
}
1366
- else rrdset_next(st_segs);
1276
1277
rrddim_set_by_pointer(st_segs, rd_segments, ipc_shm.segs);
1278
rrdset_done(st_segs);
1279
1371
- // --------------------------------------------------------------------
1372
-
1280
if (unlikely(!st_size)) {
1281
st_size = rrdset_create_localhost(
1282
"system",
1295
1296
rd_allocated = rrddim_add(st_size, "allocated", NULL, 1, KILO_FACTOR, RRD_ALGORITHM_ABSOLUTE);
1297
}
1391
- else rrdset_next(st_size);
1298
1299
rrddim_set_by_pointer(st_size, rd_allocated, ipc_shm.segsize);
1300
rrdset_done(st_size);
1304
return 0;
1305
}
1306
1401
-// --------------------------------------------------------------------------------------------------------------------
1307
// kern.ipc.msq
1308
1309
int do_kern_ipc_msq(int update_every, usec_t dt) {
1351
}
1352
}
1353
1449
- // --------------------------------------------------------------------
1450
-
1354
static RRDSET *st_queues = NULL, *st_messages = NULL, *st_size = NULL;
1355
static RRDDIM *rd_queues = NULL, *rd_messages = NULL, *rd_allocated = NULL, *rd_used = NULL;
1356
1372
1373
rd_queues = rrddim_add(st_queues, "queues", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
1374
}
1472
- else rrdset_next(st_queues);
1375
1376
rrddim_set_by_pointer(st_queues, rd_queues, ipc_msq.queues);
1377
rrdset_done(st_queues);
1378
1477
- // --------------------------------------------------------------------
1478
-
1379
if (unlikely(!st_messages)) {
1380
st_messages = rrdset_create_localhost(
1381
"system",
1394
1395
rd_messages = rrddim_add(st_messages, "messages", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
1396
}
1497
- else rrdset_next(st_messages);
1397
1398
rrddim_set_by_pointer(st_messages, rd_messages, ipc_msq.messages);
1399
rrdset_done(st_messages);
1400
1502
- // --------------------------------------------------------------------
1503
-
1401
if (unlikely(!st_size)) {
1402
st_size = rrdset_create_localhost(
1403
"system",
1417
rd_allocated = rrddim_add(st_size, "allocated", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
1418
rd_used = rrddim_add(st_size, "used", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
1419
}
1523
- else rrdset_next(st_size);
1420
1421
rrddim_set_by_pointer(st_size, rd_allocated, ipc_msq.allocsize);
1422
rrddim_set_by_pointer(st_size, rd_used, ipc_msq.usedsize);
1427
return 0;
1428
}
1429
1534
-// --------------------------------------------------------------------------------------------------------------------
1430
// uptime
1431
1432
int do_uptime(int update_every, usec_t dt) {
1435
1436
clock_gettime(CLOCK_UPTIME, &up_time);
1437
1543
- // --------------------------------------------------------------------
1544
-
1438
static RRDSET *st = NULL;
1439
static RRDDIM *rd = NULL;
1440
1456
1457
rd = rrddim_add(st, "uptime", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
1458
}
1566
- else rrdset_next(st);
1459
1460
rrddim_set_by_pointer(st, rd, up_time.tv_sec);
1461
rrdset_done(st);
1570
-
1462
return 0;
1463
}
1464
1574
-// --------------------------------------------------------------------------------------------------------------------
1465
// net.isr
1466
1467
int do_net_isr(int update_every, usec_t dt) {
1558
return 1;
1559
}
1560
1671
- // --------------------------------------------------------------------
1672
-
1561
if (likely(do_netisr)) {
1562
static RRDSET *st = NULL;
1563
static RRDDIM *rd_dispatched = NULL, *rd_hybrid_dispatched = NULL, *rd_qdrops = NULL, *rd_queued = NULL;
1583
rd_qdrops = rrddim_add(st, "qdrops", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1584
rd_queued = rrddim_add(st, "queued", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1585
}
1698
- else rrdset_next(st);
1586
1587
rrddim_set_by_pointer(st, rd_dispatched, netisr_stats[number_of_cpus].dispatched);
1588
rrddim_set_by_pointer(st, rd_hybrid_dispatched, netisr_stats[number_of_cpus].hybrid_dispatched);
1591
rrdset_done(st);
1592
}
1593
1707
- // --------------------------------------------------------------------
1708
-
1594
if (likely(do_netisr_per_core)) {
1595
static struct softnet_chart {
1596
char netisr_cpuid[MAX_INT_DIGITS + 17];
1637
all_softnet_charts[i].rd_queued = rrddim_add(all_softnet_charts[i].st, "queued",
1638
NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1639
}
1755
- else rrdset_next(all_softnet_charts[i].st);
1640
1641
rrddim_set_by_pointer(all_softnet_charts[i].st, all_softnet_charts[i].rd_dispatched,
1642
netisr_stats[i].dispatched);
1653
return 0;
1654
}
1655
1772
-// --------------------------------------------------------------------------------------------------------------------
1656
// net.inet.tcp.states
1657
1658
int do_net_inet_tcp_states(int update_every, usec_t dt) {
1666
error("DISABLED: net.inet.tcp.states module");
1667
return 1;
1668
} else {
1786
-
1787
- // --------------------------------------------------------------------
1788
-
1669
static RRDSET *st = NULL;
1670
static RRDDIM *rd = NULL;
1671
1686
);
1687
1688
rd = rrddim_add(st, "CurrEstab", "connections", 1, 1, RRD_ALGORITHM_ABSOLUTE);
1809
- } else
1810
- rrdset_next(st);
1689
+ }
1690
1691
rrddim_set_by_pointer(st, rd, tcps_states[TCPS_ESTABLISHED]);
1692
rrdset_done(st);
1695
return 0;
1696
}
1697
1819
-// --------------------------------------------------------------------------------------------------------------------
1698
// net.inet.tcp.stats
1699
1700
int do_net_inet_tcp_stats(int update_every, usec_t dt) {
1744
error("DISABLED: net.inet.tcp.stats module");
1745
return 1;
1746
} else {
1869
-
1870
- // --------------------------------------------------------------------
1871
-
1747
if (likely(do_tcp_packets)) {
1748
static RRDSET *st = NULL;
1749
static RRDDIM *rd_in_segs = NULL, *rd_out_segs = NULL;
1766
1767
rd_in_segs = rrddim_add(st, "InSegs", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
1768
rd_out_segs = rrddim_add(st, "OutSegs", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
1894
- } else
1895
- rrdset_next(st);
1769
+ }
1770
1771
rrddim_set_by_pointer(st, rd_in_segs, tcpstat.tcps_rcvtotal);
1772
rrddim_set_by_pointer(st, rd_out_segs, tcpstat.tcps_sndtotal);
1773
rrdset_done(st);
1774
}
1775
1902
- // --------------------------------------------------------------------
1903
-
1776
if (likely(do_tcp_errors)) {
1777
static RRDSET *st = NULL;
1778
static RRDDIM *rd_in_errs = NULL, *rd_in_csum_errs = NULL, *rd_retrans_segs = NULL;
1798
rd_in_errs = rrddim_add(st, "InErrs", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1799
rd_in_csum_errs = rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1800
rd_retrans_segs = rrddim_add(st, "RetransSegs", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1929
- } else
1930
- rrdset_next(st);
1801
+ }
1802
1803
#if __FreeBSD__ >= 11
1804
rrddim_set_by_pointer(st, rd_in_errs, tcpstat.tcps_rcvbadoff + tcpstat.tcps_rcvreassfull +
1811
rrdset_done(st);
1812
}
1813
1943
- // --------------------------------------------------------------------
1944
-
1814
if (likely(do_tcp_handshake)) {
1815
static RRDSET *st = NULL;
1816
static RRDDIM *rd_estab_resets = NULL, *rd_active_opens = NULL, *rd_passive_opens = NULL,
1838
rd_active_opens = rrddim_add(st, "ActiveOpens", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1839
rd_passive_opens = rrddim_add(st, "PassiveOpens", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1840
rd_attempt_fails = rrddim_add(st, "AttemptFails", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1972
- } else
1973
- rrdset_next(st);
1841
+ }
1842
1843
rrddim_set_by_pointer(st, rd_estab_resets, tcpstat.tcps_drops);
1844
rrddim_set_by_pointer(st, rd_active_opens, tcpstat.tcps_connattempt);
1847
rrdset_done(st);
1848
}
1849
1982
- // --------------------------------------------------------------------
1983
-
1850
if (do_tcpext_connaborts == CONFIG_BOOLEAN_YES || (do_tcpext_connaborts == CONFIG_BOOLEAN_AUTO &&
1851
(tcpstat.tcps_rcvpackafterwin ||
1852
tcpstat.tcps_rcvafterclose ||
1882
rd_on_timeout = rrddim_add(st, "TCPAbortOnTimeout", "timeout", 1, 1, RRD_ALGORITHM_INCREMENTAL);
1883
rd_on_linger = rrddim_add(st, "TCPAbortOnLinger", "linger", 1, 1, RRD_ALGORITHM_INCREMENTAL);
1884
}
2019
- else rrdset_next(st);
1885
1886
rrddim_set_by_pointer(st, rd_on_data, tcpstat.tcps_rcvpackafterwin);
1887
rrddim_set_by_pointer(st, rd_on_close, tcpstat.tcps_rcvafterclose);
1891
rrdset_done(st);
1892
}
1893
2029
- // --------------------------------------------------------------------
2030
-
1894
if (do_tcpext_ofo == CONFIG_BOOLEAN_YES || (do_tcpext_ofo == CONFIG_BOOLEAN_AUTO &&
1895
(tcpstat.tcps_rcvoopack ||
1896
netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
1917
1918
rd_ofo_queue = rrddim_add(st, "TCPOFOQueue", "inqueue", 1, 1, RRD_ALGORITHM_INCREMENTAL);
1919
}
2057
- else rrdset_next(st);
1920
1921
rrddim_set_by_pointer(st, rd_ofo_queue, tcpstat.tcps_rcvoopack);
1922
rrdset_done(st);
1923
}
1924
2063
- // --------------------------------------------------------------------
2064
-
1925
if (do_tcpext_syncookies == CONFIG_BOOLEAN_YES || (do_tcpext_syncookies == CONFIG_BOOLEAN_AUTO &&
1926
(tcpstat.tcps_sc_sendcookie ||
1927
tcpstat.tcps_sc_recvcookie ||
1952
rd_send = rrddim_add(st, "SyncookiesSent", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
1953
rd_failed = rrddim_add(st, "SyncookiesFailed", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
1954
}
2095
- else rrdset_next(st);
1955
1956
rrddim_set_by_pointer(st, rd_recv, tcpstat.tcps_sc_recvcookie);
1957
rrddim_set_by_pointer(st, rd_send, tcpstat.tcps_sc_sendcookie);
1959
rrdset_done(st);
1960
}
1961
2103
- // --------------------------------------------------------------------
2104
-
1962
if(do_tcpext_listen == CONFIG_BOOLEAN_YES || (do_tcpext_listen == CONFIG_BOOLEAN_AUTO &&
1963
(tcpstat.tcps_listendrop ||
1964
netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
1986
1987
rd_overflows = rrddim_add(st_listen, "ListenOverflows", "overflows", 1, 1, RRD_ALGORITHM_INCREMENTAL);
1988
}
2132
- else
2133
- rrdset_next(st_listen);
1989
1990
rrddim_set_by_pointer(st_listen, rd_overflows, tcpstat.tcps_listendrop);
2136
-
1991
rrdset_done(st_listen);
1992
}
1993
2140
- // --------------------------------------------------------------------
2141
-
1994
if (do_ecn == CONFIG_BOOLEAN_YES || (do_ecn == CONFIG_BOOLEAN_AUTO &&
1995
(tcpstat.tcps_ecn_ce ||
1996
tcpstat.tcps_ecn_ect0 ||
2024
rd_ect0 = rrddim_add(st, "InECT0Pkts", "ECTP0", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2025
rd_ect1 = rrddim_add(st, "InECT1Pkts", "ECTP1", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2026
}
2175
- else rrdset_next(st);
2027
2028
rrddim_set_by_pointer(st, rd_ce, tcpstat.tcps_ecn_ce);
2029
rrddim_set_by_pointer(st, rd_no_ect, tcpstat.tcps_ecn_ce - (tcpstat.tcps_ecn_ect0 +
2042
return 0;
2043
}
2044
2194
-// --------------------------------------------------------------------------------------------------------------------
2045
// net.inet.udp.stats
2046
2047
int do_net_inet_udp_stats(int update_every, usec_t dt) {
2066
error("DISABLED: net.inet.udp.stats module");
2067
return 1;
2068
} else {
2219
-
2220
- // --------------------------------------------------------------------
2221
-
2069
if (likely(do_udp_packets)) {
2070
static RRDSET *st = NULL;
2071
static RRDDIM *rd_in = NULL, *rd_out = NULL;
2088
2089
rd_in = rrddim_add(st, "InDatagrams", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2090
rd_out = rrddim_add(st, "OutDatagrams", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2244
- } else
2245
- rrdset_next(st);
2091
+ }
2092
2093
rrddim_set_by_pointer(st, rd_in, udpstat.udps_ipackets);
2094
rrddim_set_by_pointer(st, rd_out, udpstat.udps_opackets);
2095
rrdset_done(st);
2096
}
2097
2252
- // --------------------------------------------------------------------
2253
-
2098
if (likely(do_udp_errors)) {
2099
static RRDSET *st = NULL;
2100
static RRDDIM *rd_in_errors = NULL, *rd_no_ports = NULL, *rd_recv_buf_errors = NULL,
2123
rd_recv_buf_errors = rrddim_add(st, "RcvbufErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2124
rd_in_csum_errors = rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2125
rd_ignored_multi = rrddim_add(st, "IgnoredMulti", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2282
- } else
2283
- rrdset_next(st);
2126
+ }
2127
2128
rrddim_set_by_pointer(st, rd_in_errors, udpstat.udps_hdrops + udpstat.udps_badlen);
2129
rrddim_set_by_pointer(st, rd_no_ports, udpstat.udps_noport);
2141
return 0;
2142
}
2143
2301
-// --------------------------------------------------------------------------------------------------------------------
2144
// net.inet.icmp.stats
2145
2146
int do_net_inet_icmp_stats(int update_every, usec_t dt) {
2179
}
2180
icmp_total.msgs_in += icmpstat.icps_badcode + icmpstat.icps_badlen + icmpstat.icps_checksum + icmpstat.icps_tooshort;
2181
2340
- // --------------------------------------------------------------------
2341
-
2182
if (likely(do_icmp_packets)) {
2183
static RRDSET *st = NULL;
2184
static RRDDIM *rd_in = NULL, *rd_out = NULL;
2201
2202
rd_in = rrddim_add(st, "InMsgs", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2203
rd_out = rrddim_add(st, "OutMsgs", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2364
- } else
2365
- rrdset_next(st);
2204
+ }
2205
2206
rrddim_set_by_pointer(st, rd_in, icmp_total.msgs_in);
2207
rrddim_set_by_pointer(st, rd_out, icmp_total.msgs_out);
2369
-
2208
rrdset_done(st);
2209
}
2210
2373
- // --------------------------------------------------------------------
2374
-
2211
if (likely(do_icmp_errors)) {
2212
static RRDSET *st = NULL;
2213
static RRDDIM *rd_in = NULL, *rd_out = NULL, *rd_in_csum = NULL;
2231
rd_in = rrddim_add(st, "InErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2232
rd_out = rrddim_add(st, "OutErrors", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2233
rd_in_csum = rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2398
- } else
2399
- rrdset_next(st);
2234
+ }
2235
2236
rrddim_set_by_pointer(st, rd_in, icmpstat.icps_badcode + icmpstat.icps_badlen +
2237
icmpstat.icps_checksum + icmpstat.icps_tooshort);
2241
rrdset_done(st);
2242
}
2243
2409
- // --------------------------------------------------------------------
2410
-
2244
if (likely(do_icmpmsg)) {
2245
static RRDSET *st = NULL;
2246
static RRDDIM *rd_in_reps = NULL, *rd_out_reps = NULL, *rd_in = NULL, *rd_out = NULL;
2265
rd_out_reps = rrddim_add(st, "OutEchoReps", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2266
rd_in = rrddim_add(st, "InEchos", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2267
rd_out = rrddim_add(st, "OutEchos", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2435
- } else
2436
- rrdset_next(st);
2268
+ }
2269
2270
rrddim_set_by_pointer(st, rd_in_reps, icmpstat.icps_inhist[ICMP_ECHOREPLY]);
2271
rrddim_set_by_pointer(st, rd_out_reps, icmpstat.icps_outhist[ICMP_ECHOREPLY]);
2272
rrddim_set_by_pointer(st, rd_in, icmpstat.icps_inhist[ICMP_ECHO]);
2273
rrddim_set_by_pointer(st, rd_out, icmpstat.icps_outhist[ICMP_ECHO]);
2442
-
2274
rrdset_done(st);
2275
}
2276
}
2282
return 0;
2283
}
2284
2454
-// --------------------------------------------------------------------------------------------------------------------
2285
// net.inet.ip.stats
2286
2287
int do_net_inet_ip_stats(int update_every, usec_t dt) {
2312
error("DISABLED: net.inet.ip.stats module");
2313
return 1;
2314
} else {
2485
-
2486
- // --------------------------------------------------------------------
2487
-
2315
if (likely(do_ip_packets)) {
2316
static RRDSET *st = NULL;
2317
static RRDDIM *rd_in_receives = NULL, *rd_out_requests = NULL, *rd_forward_datagrams = NULL,
2337
rd_out_requests = rrddim_add(st, "OutRequests", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2338
rd_forward_datagrams = rrddim_add(st, "ForwDatagrams", "forwarded", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2339
rd_in_delivers = rrddim_add(st, "InDelivers", "delivered", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2513
- } else
2514
- rrdset_next(st);
2340
+ }
2341
2342
rrddim_set_by_pointer(st, rd_in_receives, ipstat.ips_total);
2343
rrddim_set_by_pointer(st, rd_out_requests, ipstat.ips_localout);
2346
rrdset_done(st);
2347
}
2348
2523
- // --------------------------------------------------------------------
2524
-
2349
if (likely(do_ip_fragsout)) {
2350
static RRDSET *st = NULL;
2351
static RRDDIM *rd_ok = NULL, *rd_fails = NULL, *rd_created = NULL;
2371
rd_ok = rrddim_add(st, "FragOKs", "ok", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2372
rd_fails = rrddim_add(st, "FragFails", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2373
rd_created = rrddim_add(st, "FragCreates", "created", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2550
- } else
2551
- rrdset_next(st);
2374
+ }
2375
2376
rrddim_set_by_pointer(st, rd_ok, ipstat.ips_fragmented);
2377
rrddim_set_by_pointer(st, rd_fails, ipstat.ips_cantfrag);
2379
rrdset_done(st);
2380
}
2381
2559
- // --------------------------------------------------------------------
2560
-
2382
if (likely(do_ip_fragsin)) {
2383
static RRDSET *st = NULL;
2384
static RRDDIM *rd_ok = NULL, *rd_failed = NULL, *rd_all = NULL;
2404
rd_ok = rrddim_add(st, "ReasmOKs", "ok", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2405
rd_failed = rrddim_add(st, "ReasmFails", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
2406
rd_all = rrddim_add(st, "ReasmReqds", "all", 1, 1, RRD_ALGORITHM_INCREMENTAL);
2586
- } else
2587
- rrdset_next(st);
2407
+ }
2408
2409
rrddim_set_by_pointer(st, rd_ok, ipstat.ips_fragments);
2410
rrddim_set_by_pointer(st, rd_failed, ipstat.ips_fragdropped);
2412
rrdset_done(st);
2413
}
2414
2595
- // --------------------------------------------------------------------
2596
-
2415
if (likely(do_ip_errors)) {
2416
static RRDSET *st = NULL;
2417
static RRDDIM *rd_in_discards = NULL, *rd_out_discards = NULL,
2442
rd_out_no_routes = rrddim_add(st, "OutNoRoutes", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2443
rd_in_addr_errors = rrddim_add(st, "InAddrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2444
rd_in_unknown_protos = rrddim_add(st, "InUnknownProtos", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2627
- } else
2628
- rrdset_next(st);
2445
+ }
2446
2447
rrddim_set_by_pointer(st, rd_in_discards, ipstat.ips_badsum + ipstat.ips_tooshort +
2448
ipstat.ips_toosmall + ipstat.ips_toolong);
2463
return 0;
2464
}
2465
2649
-// --------------------------------------------------------------------------------------------------------------------
2466
// net.inet6.ip6.stats
2467
2468
int do_net_inet6_ip6_stats(int update_every, usec_t dt) {
2496
error("DISABLED: net.inet6.ip6.stats module");
2497
return 1;
2498
} else {
2683
-
2684
- // --------------------------------------------------------------------
2685
-
2499
if (do_ip6_packets == CONFIG_BOOLEAN_YES || (do_ip6_packets == CONFIG_BOOLEAN_AUTO &&
2500
(ip6stat.ip6s_localout ||
2501
ip6stat.ip6s_total ||
2527
rd_sent = rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2528
rd_forwarded = rrddim_add(st, "forwarded", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2529
rd_delivers = rrddim_add(st, "delivers", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2717
- } else
2718
- rrdset_next(st);
2530
+ }
2531
2532
rrddim_set_by_pointer(st, rd_sent, ip6stat.ip6s_localout);
2533
rrddim_set_by_pointer(st, rd_received, ip6stat.ip6s_total);
2536
rrdset_done(st);
2537
}
2538
2727
- // --------------------------------------------------------------------
2728
-
2539
if (do_ip6_fragsout == CONFIG_BOOLEAN_YES || (do_ip6_fragsout == CONFIG_BOOLEAN_AUTO &&
2540
(ip6stat.ip6s_fragmented ||
2541
ip6stat.ip6s_cantfrag ||
2567
rd_ok = rrddim_add(st, "ok", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2568
rd_failed = rrddim_add(st, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2569
rd_all = rrddim_add(st, "all", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2760
- } else
2761
- rrdset_next(st);
2570
+ }
2571
2572
rrddim_set_by_pointer(st, rd_ok, ip6stat.ip6s_fragmented);
2573
rrddim_set_by_pointer(st, rd_failed, ip6stat.ip6s_cantfrag);
2575
rrdset_done(st);
2576
}
2577
2769
- // --------------------------------------------------------------------
2770
-
2578
if (do_ip6_fragsin == CONFIG_BOOLEAN_YES || (do_ip6_fragsin == CONFIG_BOOLEAN_AUTO &&
2579
(ip6stat.ip6s_reassembled ||
2580
ip6stat.ip6s_fragdropped ||
2608
rd_failed = rrddim_add(st, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2609
rd_timeout = rrddim_add(st, "timeout", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2610
rd_all = rrddim_add(st, "all", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2804
- } else
2805
- rrdset_next(st);
2611
+ }
2612
2613
rrddim_set_by_pointer(st, rd_ok, ip6stat.ip6s_reassembled);
2614
rrddim_set_by_pointer(st, rd_failed, ip6stat.ip6s_fragdropped);
2617
rrdset_done(st);
2618
}
2619
2814
- // --------------------------------------------------------------------
2815
-
2620
if (do_ip6_errors == CONFIG_BOOLEAN_YES || (do_ip6_errors == CONFIG_BOOLEAN_AUTO &&
2621
(ip6stat.ip6s_toosmall ||
2622
ip6stat.ip6s_odropped ||
2660
rd_in_truncated_pkts = rrddim_add(st, "InTruncatedPkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2661
rd_in_no_routes = rrddim_add(st, "InNoRoutes", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2662
rd_out_no_routes = rrddim_add(st, "OutNoRoutes", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2859
- } else
2860
- rrdset_next(st);
2663
+ }
2664
2665
rrddim_set_by_pointer(st, rd_in_discards, ip6stat.ip6s_toosmall);
2666
rrddim_set_by_pointer(st, rd_out_discards, ip6stat.ip6s_odropped);
2681
return 0;
2682
}
2683
2881
-// --------------------------------------------------------------------------------------------------------------------
2684
// net.inet6.icmp6.stats
2685
2686
int do_net_inet6_icmp6_stats(int update_every, usec_t dt) {
2768
2769
rd_received = rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2770
rd_sent = rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2969
- } else
2970
- rrdset_next(st);
2771
+ }
2772
2773
rrddim_set_by_pointer(st, rd_received, icmp6_total.msgs_out);
2774
rrddim_set_by_pointer(st, rd_sent, icmp6_total.msgs_in);
2974
-
2775
rrdset_done(st);
2776
}
2777
2978
- // --------------------------------------------------------------------
2979
-
2778
if (do_icmp6_redir == CONFIG_BOOLEAN_YES || (do_icmp6_redir == CONFIG_BOOLEAN_AUTO &&
2779
(icmp6stat.icp6s_inhist[ND_REDIRECT] ||
2780
icmp6stat.icp6s_outhist[ND_REDIRECT] ||
2802
2803
rd_received = rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2804
rd_sent = rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
3007
- } else
3008
- rrdset_next(st);
2805
+ }
2806
2807
rrddim_set_by_pointer(st, rd_received, icmp6stat.icp6s_outhist[ND_REDIRECT]);
2808
rrddim_set_by_pointer(st, rd_sent, icmp6stat.icp6s_inhist[ND_REDIRECT]);
2809
rrdset_done(st);
2810
}
2811
3015
- // --------------------------------------------------------------------
3016
-
2812
if (do_icmp6_errors == CONFIG_BOOLEAN_YES || (do_icmp6_errors == CONFIG_BOOLEAN_AUTO &&
2813
(icmp6stat.icp6s_badcode ||
2814
icmp6stat.icp6s_badlen ||
2855
rd_out_dest_unreachs = rrddim_add(st, "OutDestUnreachs", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2856
rd_out_time_excds = rrddim_add(st, "OutTimeExcds", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2857
rd_out_parm_problems = rrddim_add(st, "OutParmProblems", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
3063
- } else
3064
- rrdset_next(st);
2858
+ }
2859
2860
rrddim_set_by_pointer(st, rd_in_errors, icmp6stat.icp6s_badcode + icmp6stat.icp6s_badlen +
2861
icmp6stat.icp6s_checksum + icmp6stat.icp6s_tooshort);
2871
rrdset_done(st);
2872
}
2873
3080
- // --------------------------------------------------------------------
3081
-
2874
if (do_icmp6_echos == CONFIG_BOOLEAN_YES || (do_icmp6_echos == CONFIG_BOOLEAN_AUTO &&
2875
(icmp6stat.icp6s_inhist[ICMP6_ECHO_REQUEST] ||
2876
icmp6stat.icp6s_outhist[ICMP6_ECHO_REQUEST] ||
2902
rd_out = rrddim_add(st, "OutEchos", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2903
rd_in_replies = rrddim_add(st, "InEchoReplies", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2904
rd_out_replies = rrddim_add(st, "OutEchoReplies", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
3113
- } else
3114
- rrdset_next(st);
2905
+ }
2906
2907
rrddim_set_by_pointer(st, rd_in, icmp6stat.icp6s_inhist[ICMP6_ECHO_REQUEST]);
2908
rrddim_set_by_pointer(st, rd_out, icmp6stat.icp6s_outhist[ICMP6_ECHO_REQUEST]);
2911
rrdset_done(st);
2912
}
2913
3123
- // --------------------------------------------------------------------
3124
-
2914
if (do_icmp6_router == CONFIG_BOOLEAN_YES || (do_icmp6_router == CONFIG_BOOLEAN_AUTO &&
2915
(icmp6stat.icp6s_inhist[ND_ROUTER_SOLICIT] ||
2916
icmp6stat.icp6s_outhist[ND_ROUTER_SOLICIT] ||
2943
rd_out_solicits = rrddim_add(st, "OutSolicits", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2944
rd_in_advertisements = rrddim_add(st, "InAdvertisements", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2945
rd_out_advertisements = rrddim_add(st, "OutAdvertisements", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
3157
- } else
3158
- rrdset_next(st);
2946
+ }
2947
2948
rrddim_set_by_pointer(st, rd_in_solicits, icmp6stat.icp6s_inhist[ND_ROUTER_SOLICIT]);
2949
rrddim_set_by_pointer(st, rd_out_solicits, icmp6stat.icp6s_outhist[ND_ROUTER_SOLICIT]);
2952
rrdset_done(st);
2953
}
2954
3167
- // --------------------------------------------------------------------
3168
-
2955
if (do_icmp6_neighbor == CONFIG_BOOLEAN_YES || (do_icmp6_neighbor == CONFIG_BOOLEAN_AUTO &&
2956
(icmp6stat.icp6s_inhist[ND_NEIGHBOR_SOLICIT] ||
2957
icmp6stat.icp6s_outhist[ND_NEIGHBOR_SOLICIT] ||
2984
rd_out_solicits = rrddim_add(st, "OutSolicits", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2985
rd_in_advertisements = rrddim_add(st, "InAdvertisements", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2986
rd_out_advertisements = rrddim_add(st, "OutAdvertisements", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
3201
- } else
3202
- rrdset_next(st);
2987
+ }
2988
2989
rrddim_set_by_pointer(st, rd_in_solicits, icmp6stat.icp6s_inhist[ND_NEIGHBOR_SOLICIT]);
2990
rrddim_set_by_pointer(st, rd_out_solicits, icmp6stat.icp6s_outhist[ND_NEIGHBOR_SOLICIT]);
2993
rrdset_done(st);
2994
}
2995
3211
- // --------------------------------------------------------------------
3212
-
2996
if (do_icmp6_types == CONFIG_BOOLEAN_YES || (do_icmp6_types == CONFIG_BOOLEAN_AUTO &&
2997
(icmp6stat.icp6s_inhist[1] ||
2998
icmp6stat.icp6s_inhist[128] ||
3038
rd_out_133 = rrddim_add(st, "OutType133", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
3039
rd_out_135 = rrddim_add(st, "OutType135", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
3040
rd_out_143 = rrddim_add(st, "OutType143", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
3258
- } else
3259
- rrdset_next(st);
3041
+ }
3042
3043
rrddim_set_by_pointer(st, rd_in_1, icmp6stat.icp6s_inhist[1]);
3044
rrddim_set_by_pointer(st, rd_in_128, icmp6stat.icp6s_inhist[128]);