@cryptotaxi247 / netdata-1 / commits / 5d4cbc260

eliminate more unecessary index lookups

Costa Tsaousis (ktsaou) committed Oct 14, 2017 at 22:37 UTC 5d4cbc26025f3a94f15169509be78f85d2109205
2 files changed +301 -191
src/plugin_proc_diskspace.c
+2 -2
@@ -394,7 +394,7 @@ void *proc_diskspace_main(void *ptr) {
394
395 getrusage(RUSAGE_THREAD, &thread);
396
397 - if(!stcpu_thread) {
397 + if(unlikely(!stcpu_thread)) {
398 stcpu_thread = rrdset_create_localhost(
399 "netdata"
400 , "plugin_diskspace"
@@ -422,7 +422,7 @@ void *proc_diskspace_main(void *ptr) {
422
423 // ----------------------------------------------------------------
424
425 - if(!st_duration) {
425 + if(unlikely(!st_duration)) {
426 st_duration = rrdset_create_localhost(
427 "netdata"
428 , "plugin_diskspace_dt"
src/proc_net_snmp6.c
+299 -189
@@ -277,6 +277,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
277 if(do_bandwidth == CONFIG_BOOLEAN_YES || (do_bandwidth == CONFIG_BOOLEAN_AUTO && (Ip6InOctets || Ip6OutOctets))) {
278 do_bandwidth = CONFIG_BOOLEAN_YES;
279 static RRDSET *st = NULL;
280 + static RRDDIM *rd_received = NULL,
281 + *rd_sent = NULL;
282 +
283 if(unlikely(!st)) {
284 st = rrdset_create_localhost(
285 "system"
@@ -293,13 +296,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
296 , RRDSET_TYPE_AREA
297 );
298
296 - rrddim_add(st, "received", NULL, 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
297 - rrddim_add(st, "sent", NULL, -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
299 + rd_received = rrddim_add(st, "InOctets", "received", 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
300 + rd_sent = rrddim_add(st, "OutOctets", "sent", -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
301 }
302 else rrdset_next(st);
303
301 - rrddim_set(st, "sent", Ip6OutOctets);
302 - rrddim_set(st, "received", Ip6InOctets);
304 + rrddim_set_by_pointer(st, rd_received, Ip6InOctets);
305 + rrddim_set_by_pointer(st, rd_sent, Ip6OutOctets);
306 rrdset_done(st);
307 }
308
@@ -308,6 +311,11 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
311 if(do_ip_packets == CONFIG_BOOLEAN_YES || (do_ip_packets == CONFIG_BOOLEAN_AUTO && (Ip6InReceives || Ip6OutRequests || Ip6InDelivers || Ip6OutForwDatagrams))) {
312 do_ip_packets = CONFIG_BOOLEAN_YES;
313 static RRDSET *st = NULL;
314 + static RRDDIM *rd_received = NULL,
315 + *rd_sent = NULL,
316 + *rd_forwarded = NULL,
317 + *rd_delivers = NULL;
318 +
319 if(unlikely(!st)) {
320 st = rrdset_create_localhost(
321 RRD_TYPE_NET_SNMP6
@@ -324,17 +332,17 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
332 , RRDSET_TYPE_LINE
333 );
334
327 - rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
328 - rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
329 - rrddim_add(st, "forwarded", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
330 - rrddim_add(st, "delivers", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
335 + rd_received = rrddim_add(st, "InReceives", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
336 + rd_sent = rrddim_add(st, "OutRequests", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
337 + rd_forwarded = rrddim_add(st, "OutForwDatagrams", "forwarded", -1, 1, RRD_ALGORITHM_INCREMENTAL);
338 + rd_delivers = rrddim_add(st, "InDelivers", "delivers", 1, 1, RRD_ALGORITHM_INCREMENTAL);
339 }
340 else rrdset_next(st);
341
334 - rrddim_set(st, "sent", Ip6OutRequests);
335 - rrddim_set(st, "received", Ip6InReceives);
336 - rrddim_set(st, "forwarded", Ip6OutForwDatagrams);
337 - rrddim_set(st, "delivers", Ip6InDelivers);
342 + rrddim_set_by_pointer(st, rd_received, Ip6InReceives);
343 + rrddim_set_by_pointer(st, rd_sent, Ip6OutRequests);
344 + rrddim_set_by_pointer(st, rd_forwarded, Ip6OutForwDatagrams);
345 + rrddim_set_by_pointer(st, rd_delivers, Ip6InDelivers);
346 rrdset_done(st);
347 }
348
@@ -343,6 +351,10 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
351 if(do_ip_fragsout == CONFIG_BOOLEAN_YES || (do_ip_fragsout == CONFIG_BOOLEAN_AUTO && (Ip6FragOKs || Ip6FragFails || Ip6FragCreates))) {
352 do_ip_fragsout = CONFIG_BOOLEAN_YES;
353 static RRDSET *st = NULL;
354 + static RRDDIM *rd_ok = NULL,
355 + *rd_failed = NULL,
356 + *rd_all = NULL;
357 +
358 if(unlikely(!st)) {
359 st = rrdset_create_localhost(
360 RRD_TYPE_NET_SNMP6
@@ -360,15 +372,15 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
372 );
373 rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
374
363 - rrddim_add(st, "ok", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
364 - rrddim_add(st, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
365 - rrddim_add(st, "all", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
375 + rd_ok = rrddim_add(st, "FragOKs", "ok", 1, 1, RRD_ALGORITHM_INCREMENTAL);
376 + rd_failed = rrddim_add(st, "FragFails", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
377 + rd_all = rrddim_add(st, "FragCreates", "all", 1, 1, RRD_ALGORITHM_INCREMENTAL);
378 }
379 else rrdset_next(st);
380
369 - rrddim_set(st, "ok", Ip6FragOKs);
370 - rrddim_set(st, "failed", Ip6FragFails);
371 - rrddim_set(st, "all", Ip6FragCreates);
381 + rrddim_set_by_pointer(st, rd_ok, Ip6FragOKs);
382 + rrddim_set_by_pointer(st, rd_failed, Ip6FragFails);
383 + rrddim_set_by_pointer(st, rd_all, Ip6FragCreates);
384 rrdset_done(st);
385 }
386
@@ -382,7 +394,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
394 || Ip6ReasmReqds
395 ))) {
396 do_ip_fragsin = CONFIG_BOOLEAN_YES;
397 +
398 static RRDSET *st = NULL;
399 + static RRDDIM *rd_ok = NULL,
400 + *rd_failed = NULL,
401 + *rd_timeout = NULL,
402 + *rd_all = NULL;
403 +
404 if(unlikely(!st)) {
405 st = rrdset_create_localhost(
406 RRD_TYPE_NET_SNMP6
@@ -399,17 +417,17 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
417 , RRDSET_TYPE_LINE);
418 rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
419
402 - rrddim_add(st, "ok", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
403 - rrddim_add(st, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
404 - rrddim_add(st, "timeout", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
405 - rrddim_add(st, "all", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
420 + rd_ok = rrddim_add(st, "ReasmOKs", "ok", 1, 1, RRD_ALGORITHM_INCREMENTAL);
421 + rd_failed = rrddim_add(st, "ReasmFails", "failed", -1, 1, RRD_ALGORITHM_INCREMENTAL);
422 + rd_timeout = rrddim_add(st, "ReasmTimeout", "timeout", -1, 1, RRD_ALGORITHM_INCREMENTAL);
423 + rd_all = rrddim_add(st, "ReasmReqds", "all", 1, 1, RRD_ALGORITHM_INCREMENTAL);
424 }
425 else rrdset_next(st);
426
409 - rrddim_set(st, "ok", Ip6ReasmOKs);
410 - rrddim_set(st, "failed", Ip6ReasmFails);
411 - rrddim_set(st, "timeout", Ip6ReasmTimeout);
412 - rrddim_set(st, "all", Ip6ReasmReqds);
427 + rrddim_set_by_pointer(st, rd_ok, Ip6ReasmOKs);
428 + rrddim_set_by_pointer(st, rd_failed, Ip6ReasmFails);
429 + rrddim_set_by_pointer(st, rd_timeout, Ip6ReasmTimeout);
430 + rrddim_set_by_pointer(st, rd_all, Ip6ReasmReqds);
431 rrdset_done(st);
432 }
433
@@ -428,6 +446,16 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
446 ))) {
447 do_ip_errors = CONFIG_BOOLEAN_YES;
448 static RRDSET *st = NULL;
449 + static RRDDIM *rd_InDiscards = NULL,
450 + *rd_OutDiscards = NULL,
451 + *rd_InHdrErrors = NULL,
452 + *rd_InAddrErrors = NULL,
453 + *rd_InUnknownProtos = NULL,
454 + *rd_InTooBigErrors = NULL,
455 + *rd_InTruncatedPkts = NULL,
456 + *rd_InNoRoutes = NULL,
457 + *rd_OutNoRoutes = NULL;
458 +
459 if(unlikely(!st)) {
460 st = rrdset_create_localhost(
461 RRD_TYPE_NET_SNMP6
@@ -445,31 +473,27 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
473 );
474 rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
475
448 - rrddim_add(st, "InDiscards", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
449 - rrddim_add(st, "OutDiscards", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
450 -
451 - rrddim_add(st, "InHdrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
452 - rrddim_add(st, "InAddrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
453 - rrddim_add(st, "InUnknownProtos", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
454 - rrddim_add(st, "InTooBigErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
455 - rrddim_add(st, "InTruncatedPkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
456 - rrddim_add(st, "InNoRoutes", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
457 -
458 - rrddim_add(st, "OutNoRoutes", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
476 + rd_InDiscards = rrddim_add(st, "InDiscards", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
477 + rd_OutDiscards = rrddim_add(st, "OutDiscards", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
478 + rd_InHdrErrors = rrddim_add(st, "InHdrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
479 + rd_InAddrErrors = rrddim_add(st, "InAddrErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
480 + rd_InUnknownProtos = rrddim_add(st, "InUnknownProtos", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
481 + rd_InTooBigErrors = rrddim_add(st, "InTooBigErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
482 + rd_InTruncatedPkts = rrddim_add(st, "InTruncatedPkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
483 + rd_InNoRoutes = rrddim_add(st, "InNoRoutes", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
484 + rd_OutNoRoutes = rrddim_add(st, "OutNoRoutes", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
485 }
486 else rrdset_next(st);
487
462 - rrddim_set(st, "InDiscards", Ip6InDiscards);
463 - rrddim_set(st, "OutDiscards", Ip6OutDiscards);
464 -
465 - rrddim_set(st, "InHdrErrors", Ip6InHdrErrors);
466 - rrddim_set(st, "InAddrErrors", Ip6InAddrErrors);
467 - rrddim_set(st, "InUnknownProtos", Ip6InUnknownProtos);
468 - rrddim_set(st, "InTooBigErrors", Ip6InTooBigErrors);
469 - rrddim_set(st, "InTruncatedPkts", Ip6InTruncatedPkts);
470 - rrddim_set(st, "InNoRoutes", Ip6InNoRoutes);
471 -
472 - rrddim_set(st, "OutNoRoutes", Ip6OutNoRoutes);
488 + rrddim_set_by_pointer(st, rd_InDiscards, Ip6InDiscards);
489 + rrddim_set_by_pointer(st, rd_OutDiscards, Ip6OutDiscards);
490 + rrddim_set_by_pointer(st, rd_InHdrErrors, Ip6InHdrErrors);
491 + rrddim_set_by_pointer(st, rd_InAddrErrors, Ip6InAddrErrors);
492 + rrddim_set_by_pointer(st, rd_InUnknownProtos, Ip6InUnknownProtos);
493 + rrddim_set_by_pointer(st, rd_InTooBigErrors, Ip6InTooBigErrors);
494 + rrddim_set_by_pointer(st, rd_InTruncatedPkts, Ip6InTruncatedPkts);
495 + rrddim_set_by_pointer(st, rd_InNoRoutes, Ip6InNoRoutes);
496 + rrddim_set_by_pointer(st, rd_OutNoRoutes, Ip6OutNoRoutes);
497 rrdset_done(st);
498 }
499
@@ -478,6 +502,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
502 if(do_udp_packets == CONFIG_BOOLEAN_YES || (do_udp_packets == CONFIG_BOOLEAN_AUTO && (Udp6InDatagrams || Udp6OutDatagrams))) {
503 do_udp_packets = CONFIG_BOOLEAN_YES;
504 static RRDSET *st = NULL;
505 + static RRDDIM *rd_received = NULL,
506 + *rd_sent = NULL;
507 +
508 if(unlikely(!st)) {
509 st = rrdset_create_localhost(
510 RRD_TYPE_NET_SNMP6
@@ -494,13 +521,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
521 , RRDSET_TYPE_LINE
522 );
523
497 - rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
498 - rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
524 + rd_received = rrddim_add(st, "InDatagrams", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
525 + rd_sent = rrddim_add(st, "OutDatagrams", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
526 }
527 else rrdset_next(st);
528
502 - rrddim_set(st, "received", Udp6InDatagrams);
503 - rrddim_set(st, "sent", Udp6OutDatagrams);
529 + rrddim_set_by_pointer(st, rd_received, Udp6InDatagrams);
530 + rrddim_set_by_pointer(st, rd_sent, Udp6OutDatagrams);
531 rrdset_done(st);
532 }
533
@@ -517,6 +544,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
544 ))) {
545 do_udp_errors = CONFIG_BOOLEAN_YES;
546 static RRDSET *st = NULL;
547 + static RRDDIM *rd_RcvbufErrors = NULL,
548 + *rd_SndbufErrors = NULL,
549 + *rd_InErrors = NULL,
550 + *rd_NoPorts = NULL,
551 + *rd_InCsumErrors = NULL,
552 + *rd_IgnoredMulti = NULL;
553 +
554 if(unlikely(!st)) {
555 st = rrdset_create_localhost(
556 RRD_TYPE_NET_SNMP6
@@ -534,21 +568,21 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
568 );
569 rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
570
537 - rrddim_add(st, "RcvbufErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
538 - rrddim_add(st, "SndbufErrors", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
539 - rrddim_add(st, "InErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
540 - rrddim_add(st, "NoPorts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
541 - rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
542 - rrddim_add(st, "IgnoredMulti", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
571 + rd_RcvbufErrors = rrddim_add(st, "RcvbufErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
572 + rd_SndbufErrors = rrddim_add(st, "SndbufErrors", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
573 + rd_InErrors = rrddim_add(st, "InErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
574 + rd_NoPorts = rrddim_add(st, "NoPorts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
575 + rd_InCsumErrors = rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
576 + rd_IgnoredMulti = rrddim_add(st, "IgnoredMulti", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
577 }
578 else rrdset_next(st);
579
546 - rrddim_set(st, "InErrors", Udp6InErrors);
547 - rrddim_set(st, "NoPorts", Udp6NoPorts);
548 - rrddim_set(st, "RcvbufErrors", Udp6RcvbufErrors);
549 - rrddim_set(st, "SndbufErrors", Udp6SndbufErrors);
550 - rrddim_set(st, "InCsumErrors", Udp6InCsumErrors);
551 - rrddim_set(st, "IgnoredMulti", Udp6IgnoredMulti);
580 + rrddim_set_by_pointer(st, rd_RcvbufErrors, Udp6RcvbufErrors);
581 + rrddim_set_by_pointer(st, rd_SndbufErrors, Udp6SndbufErrors);
582 + rrddim_set_by_pointer(st, rd_InErrors, Udp6InErrors);
583 + rrddim_set_by_pointer(st, rd_NoPorts, Udp6NoPorts);
584 + rrddim_set_by_pointer(st, rd_InCsumErrors, Udp6InCsumErrors);
585 + rrddim_set_by_pointer(st, rd_IgnoredMulti, Udp6IgnoredMulti);
586 rrdset_done(st);
587 }
588
@@ -557,6 +591,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
591 if(do_udplite_packets == CONFIG_BOOLEAN_YES || (do_udplite_packets == CONFIG_BOOLEAN_AUTO && (UdpLite6InDatagrams || UdpLite6OutDatagrams))) {
592 do_udplite_packets = CONFIG_BOOLEAN_YES;
593 static RRDSET *st = NULL;
594 + static RRDDIM *rd_received = NULL,
595 + *rd_sent = NULL;
596 +
597 if(unlikely(!st)) {
598 st = rrdset_create_localhost(
599 RRD_TYPE_NET_SNMP6
@@ -573,13 +610,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
610 , RRDSET_TYPE_LINE
611 );
612
576 - rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
577 - rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
613 + rd_received = rrddim_add(st, "InDatagrams", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
614 + rd_sent = rrddim_add(st, "OutDatagrams", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
615 }
616 else rrdset_next(st);
617
581 - rrddim_set(st, "received", UdpLite6InDatagrams);
582 - rrddim_set(st, "sent", UdpLite6OutDatagrams);
618 + rrddim_set_by_pointer(st, rd_received, UdpLite6InDatagrams);
619 + rrddim_set_by_pointer(st, rd_sent, UdpLite6OutDatagrams);
620 rrdset_done(st);
621 }
622
@@ -596,6 +633,12 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
633 ))) {
634 do_udplite_errors = CONFIG_BOOLEAN_YES;
635 static RRDSET *st = NULL;
636 + static RRDDIM *rd_RcvbufErrors = NULL,
637 + *rd_SndbufErrors = NULL,
638 + *rd_InErrors = NULL,
639 + *rd_NoPorts = NULL,
640 + *rd_InCsumErrors = NULL;
641 +
642 if(unlikely(!st)) {
643 st = rrdset_create_localhost(
644 RRD_TYPE_NET_SNMP6
@@ -613,19 +656,19 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
656 );
657 rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
658
616 - rrddim_add(st, "RcvbufErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
617 - rrddim_add(st, "SndbufErrors", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
618 - rrddim_add(st, "InErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
619 - rrddim_add(st, "NoPorts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
620 - rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
659 + rd_RcvbufErrors = rrddim_add(st, "RcvbufErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
660 + rd_SndbufErrors = rrddim_add(st, "SndbufErrors", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
661 + rd_InErrors = rrddim_add(st, "InErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
662 + rd_NoPorts = rrddim_add(st, "NoPorts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
663 + rd_InCsumErrors = rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
664 }
665 else rrdset_next(st);
666
624 - rrddim_set(st, "InErrors", UdpLite6InErrors);
625 - rrddim_set(st, "NoPorts", UdpLite6NoPorts);
626 - rrddim_set(st, "RcvbufErrors", UdpLite6RcvbufErrors);
627 - rrddim_set(st, "SndbufErrors", UdpLite6SndbufErrors);
628 - rrddim_set(st, "InCsumErrors", UdpLite6InCsumErrors);
667 + rrddim_set_by_pointer(st, rd_InErrors, UdpLite6InErrors);
668 + rrddim_set_by_pointer(st, rd_NoPorts, UdpLite6NoPorts);
669 + rrddim_set_by_pointer(st, rd_RcvbufErrors, UdpLite6RcvbufErrors);
670 + rrddim_set_by_pointer(st, rd_SndbufErrors, UdpLite6SndbufErrors);
671 + rrddim_set_by_pointer(st, rd_InCsumErrors, UdpLite6InCsumErrors);
672 rrdset_done(st);
673 }
674
@@ -634,6 +677,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
677 if(do_mcast == CONFIG_BOOLEAN_YES || (do_mcast == CONFIG_BOOLEAN_AUTO && (Ip6OutMcastOctets || Ip6InMcastOctets))) {
678 do_mcast = CONFIG_BOOLEAN_YES;
679 static RRDSET *st = NULL;
680 + static RRDDIM *rd_Ip6InMcastOctets = NULL,
681 + *rd_Ip6OutMcastOctets = NULL;
682 +
683 if(unlikely(!st)) {
684 st = rrdset_create_localhost(
685 RRD_TYPE_NET_SNMP6
@@ -651,13 +697,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
697 );
698 rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
699
654 - rrddim_add(st, "received", NULL, 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
655 - rrddim_add(st, "sent", NULL, -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
700 + rd_Ip6InMcastOctets = rrddim_add(st, "InMcastOctets", "received", 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
701 + rd_Ip6OutMcastOctets = rrddim_add(st, "OutMcastOctets", "sent", -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
702 }
703 else rrdset_next(st);
704
659 - rrddim_set(st, "sent", Ip6OutMcastOctets);
660 - rrddim_set(st, "received", Ip6InMcastOctets);
705 + rrddim_set_by_pointer(st, rd_Ip6InMcastOctets, Ip6InMcastOctets);
706 + rrddim_set_by_pointer(st, rd_Ip6OutMcastOctets, Ip6OutMcastOctets);
707 rrdset_done(st);
708 }
709
@@ -666,6 +712,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
712 if(do_bcast == CONFIG_BOOLEAN_YES || (do_bcast == CONFIG_BOOLEAN_AUTO && (Ip6OutBcastOctets || Ip6InBcastOctets))) {
713 do_bcast = CONFIG_BOOLEAN_YES;
714 static RRDSET *st = NULL;
715 + static RRDDIM *rd_Ip6InBcastOctets = NULL,
716 + *rd_Ip6OutBcastOctets = NULL;
717 +
718 if(unlikely(!st)) {
719 st = rrdset_create_localhost(
720 RRD_TYPE_NET_SNMP6
@@ -683,13 +732,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
732 );
733 rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
734
686 - rrddim_add(st, "received", NULL, 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
687 - rrddim_add(st, "sent", NULL, -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
735 + rd_Ip6InBcastOctets = rrddim_add(st, "InBcastOctets", "received", 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
736 + rd_Ip6OutBcastOctets = rrddim_add(st, "OutBcastOctets", "sent", -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
737 }
738 else rrdset_next(st);
739
691 - rrddim_set(st, "sent", Ip6OutBcastOctets);
692 - rrddim_set(st, "received", Ip6InBcastOctets);
740 + rrddim_set_by_pointer(st, rd_Ip6InBcastOctets, Ip6InBcastOctets);
741 + rrddim_set_by_pointer(st, rd_Ip6OutBcastOctets, Ip6OutBcastOctets);
742 rrdset_done(st);
743 }
744
@@ -698,6 +747,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
747 if(do_mcast_p == CONFIG_BOOLEAN_YES || (do_mcast_p == CONFIG_BOOLEAN_AUTO && (Ip6OutMcastPkts || Ip6InMcastPkts))) {
748 do_mcast_p = CONFIG_BOOLEAN_YES;
749 static RRDSET *st = NULL;
750 + static RRDDIM *rd_Ip6InMcastPkts = NULL,
751 + *rd_Ip6OutMcastPkts = NULL;
752 +
753 if(unlikely(!st)) {
754 st = rrdset_create_localhost(
755 RRD_TYPE_NET_SNMP6
@@ -715,13 +767,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
767 );
768 rrdset_flag_set(st, RRDSET_FLAG_DETAIL);
769
718 - rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
719 - rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
770 + rd_Ip6InMcastPkts = rrddim_add(st, "InMcastPkts", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
771 + rd_Ip6OutMcastPkts = rrddim_add(st, "OutMcastPkts", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
772 }
773 else rrdset_next(st);
774
723 - rrddim_set(st, "sent", Ip6OutMcastPkts);
724 - rrddim_set(st, "received", Ip6InMcastPkts);
775 + rrddim_set_by_pointer(st, rd_Ip6InMcastPkts, Ip6InMcastPkts);
776 + rrddim_set_by_pointer(st, rd_Ip6OutMcastPkts, Ip6OutMcastPkts);
777 rrdset_done(st);
778 }
779
@@ -730,6 +782,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
782 if(do_icmp == CONFIG_BOOLEAN_YES || (do_icmp == CONFIG_BOOLEAN_AUTO && (Icmp6InMsgs || Icmp6OutMsgs))) {
783 do_icmp = CONFIG_BOOLEAN_YES;
784 static RRDSET *st = NULL;
785 + static RRDDIM *rd_Icmp6InMsgs = NULL,
786 + *rd_Icmp6OutMsgs = NULL;
787 +
788 if(unlikely(!st)) {
789 st = rrdset_create_localhost(
790 RRD_TYPE_NET_SNMP6
@@ -746,13 +801,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
801 , RRDSET_TYPE_LINE
802 );
803
749 - rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
750 - rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
804 + rd_Icmp6InMsgs = rrddim_add(st, "InMsgs", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
805 + rd_Icmp6OutMsgs = rrddim_add(st, "OutMsgs", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
806 }
807 else rrdset_next(st);
808
754 - rrddim_set(st, "sent", Icmp6InMsgs);
755 - rrddim_set(st, "received", Icmp6OutMsgs);
809 + rrddim_set_by_pointer(st, rd_Icmp6InMsgs, Icmp6InMsgs);
810 + rrddim_set_by_pointer(st, rd_Icmp6OutMsgs, Icmp6OutMsgs);
811 rrdset_done(st);
812 }
813
@@ -761,6 +816,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
816 if(do_icmp_redir == CONFIG_BOOLEAN_YES || (do_icmp_redir == CONFIG_BOOLEAN_AUTO && (Icmp6InRedirects || Icmp6OutRedirects))) {
817 do_icmp_redir = CONFIG_BOOLEAN_YES;
818 static RRDSET *st = NULL;
819 + static RRDDIM *rd_Icmp6InRedirects = NULL,
820 + *rd_Icmp6OutRedirects = NULL;
821 +
822 if(unlikely(!st)) {
823 st = rrdset_create_localhost(
824 RRD_TYPE_NET_SNMP6
@@ -777,13 +835,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
835 , RRDSET_TYPE_LINE
836 );
837
780 - rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
781 - rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
838 + rd_Icmp6InRedirects = rrddim_add(st, "InRedirects", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
839 + rd_Icmp6OutRedirects = rrddim_add(st, "OutRedirects", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
840 }
841 else rrdset_next(st);
842
785 - rrddim_set(st, "sent", Icmp6InRedirects);
786 - rrddim_set(st, "received", Icmp6OutRedirects);
843 + rrddim_set_by_pointer(st, rd_Icmp6InRedirects, Icmp6InRedirects);
844 + rrddim_set_by_pointer(st, rd_Icmp6OutRedirects, Icmp6OutRedirects);
845 rrdset_done(st);
846 }
847
@@ -805,6 +863,18 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
863 ))) {
864 do_icmp_errors = CONFIG_BOOLEAN_YES;
865 static RRDSET *st = NULL;
866 + static RRDDIM *rd_InErrors = NULL,
867 + *rd_OutErrors = NULL,
868 + *rd_InCsumErrors = NULL,
869 + *rd_InDestUnreachs = NULL,
870 + *rd_InPktTooBigs = NULL,
871 + *rd_InTimeExcds = NULL,
872 + *rd_InParmProblems = NULL,
873 + *rd_OutDestUnreachs = NULL,
874 + *rd_OutPktTooBigs = NULL,
875 + *rd_OutTimeExcds = NULL,
876 + *rd_OutParmProblems = NULL;
877 +
878 if(unlikely(!st)) {
879 st = rrdset_create_localhost(
880 RRD_TYPE_NET_SNMP6
@@ -821,32 +891,31 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
891 , RRDSET_TYPE_LINE
892 );
893
824 - rrddim_add(st, "InErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
825 - rrddim_add(st, "OutErrors", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
826 -
827 - rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
828 - rrddim_add(st, "InDestUnreachs", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
829 - rrddim_add(st, "InPktTooBigs", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
830 - rrddim_add(st, "InTimeExcds", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
831 - rrddim_add(st, "InParmProblems", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
832 - rrddim_add(st, "OutDestUnreachs", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
833 - rrddim_add(st, "OutPktTooBigs", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
834 - rrddim_add(st, "OutTimeExcds", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
835 - rrddim_add(st, "OutParmProblems", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
894 + rd_InErrors = rrddim_add(st, "InErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
895 + rd_OutErrors = rrddim_add(st, "OutErrors", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
896 + rd_InCsumErrors = rrddim_add(st, "InCsumErrors", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
897 + rd_InDestUnreachs = rrddim_add(st, "InDestUnreachs", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
898 + rd_InPktTooBigs = rrddim_add(st, "InPktTooBigs", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
899 + rd_InTimeExcds = rrddim_add(st, "InTimeExcds", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
900 + rd_InParmProblems = rrddim_add(st, "InParmProblems", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
901 + rd_OutDestUnreachs = rrddim_add(st, "OutDestUnreachs", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
902 + rd_OutPktTooBigs = rrddim_add(st, "OutPktTooBigs", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
903 + rd_OutTimeExcds = rrddim_add(st, "OutTimeExcds", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
904 + rd_OutParmProblems = rrddim_add(st, "OutParmProblems", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
905 }
906 else rrdset_next(st);
907
839 - rrddim_set(st, "InErrors", Icmp6InErrors);
840 - rrddim_set(st, "OutErrors", Icmp6OutErrors);
841 - rrddim_set(st, "InCsumErrors", Icmp6InCsumErrors);
842 - rrddim_set(st, "InDestUnreachs", Icmp6InDestUnreachs);
843 - rrddim_set(st, "InPktTooBigs", Icmp6InPktTooBigs);
844 - rrddim_set(st, "InTimeExcds", Icmp6InTimeExcds);
845 - rrddim_set(st, "InParmProblems", Icmp6InParmProblems);
846 - rrddim_set(st, "OutDestUnreachs", Icmp6OutDestUnreachs);
847 - rrddim_set(st, "OutPktTooBigs", Icmp6OutPktTooBigs);
848 - rrddim_set(st, "OutTimeExcds", Icmp6OutTimeExcds);
849 - rrddim_set(st, "OutParmProblems", Icmp6OutParmProblems);
908 + rrddim_set_by_pointer(st, rd_InErrors, Icmp6InErrors);
909 + rrddim_set_by_pointer(st, rd_OutErrors, Icmp6OutErrors);
910 + rrddim_set_by_pointer(st, rd_InCsumErrors, Icmp6InCsumErrors);
911 + rrddim_set_by_pointer(st, rd_InDestUnreachs, Icmp6InDestUnreachs);
912 + rrddim_set_by_pointer(st, rd_InPktTooBigs, Icmp6InPktTooBigs);
913 + rrddim_set_by_pointer(st, rd_InTimeExcds, Icmp6InTimeExcds);
914 + rrddim_set_by_pointer(st, rd_InParmProblems, Icmp6InParmProblems);
915 + rrddim_set_by_pointer(st, rd_OutDestUnreachs, Icmp6OutDestUnreachs);
916 + rrddim_set_by_pointer(st, rd_OutPktTooBigs, Icmp6OutPktTooBigs);
917 + rrddim_set_by_pointer(st, rd_OutTimeExcds, Icmp6OutTimeExcds);
918 + rrddim_set_by_pointer(st, rd_OutParmProblems, Icmp6OutParmProblems);
919 rrdset_done(st);
920 }
921
@@ -861,6 +930,11 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
930 ))) {
931 do_icmp_echos = CONFIG_BOOLEAN_YES;
932 static RRDSET *st = NULL;
933 + static RRDDIM *rd_InEchos = NULL,
934 + *rd_OutEchos = NULL,
935 + *rd_InEchoReplies = NULL,
936 + *rd_OutEchoReplies = NULL;
937 +
938 if(unlikely(!st)) {
939 st = rrdset_create_localhost(
940 RRD_TYPE_NET_SNMP6
@@ -877,17 +951,17 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
951 , RRDSET_TYPE_LINE
952 );
953
880 - rrddim_add(st, "InEchos", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
881 - rrddim_add(st, "OutEchos", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
882 - rrddim_add(st, "InEchoReplies", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
883 - rrddim_add(st, "OutEchoReplies", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
954 + rd_InEchos = rrddim_add(st, "InEchos", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
955 + rd_OutEchos = rrddim_add(st, "OutEchos", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
956 + rd_InEchoReplies = rrddim_add(st, "InEchoReplies", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
957 + rd_OutEchoReplies = rrddim_add(st, "OutEchoReplies", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
958 }
959 else rrdset_next(st);
960
887 - rrddim_set(st, "InEchos", Icmp6InEchos);
888 - rrddim_set(st, "OutEchos", Icmp6OutEchos);
889 - rrddim_set(st, "InEchoReplies", Icmp6InEchoReplies);
890 - rrddim_set(st, "OutEchoReplies", Icmp6OutEchoReplies);
961 + rrddim_set_by_pointer(st, rd_InEchos, Icmp6InEchos);
962 + rrddim_set_by_pointer(st, rd_OutEchos, Icmp6OutEchos);
963 + rrddim_set_by_pointer(st, rd_InEchoReplies, Icmp6InEchoReplies);
964 + rrddim_set_by_pointer(st, rd_OutEchoReplies, Icmp6OutEchoReplies);
965 rrdset_done(st);
966 }
967
@@ -904,6 +978,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
978 ))) {
979 do_icmp_groupmemb = CONFIG_BOOLEAN_YES;
980 static RRDSET *st = NULL;
981 + static RRDDIM *rd_InQueries = NULL,
982 + *rd_OutQueries = NULL,
983 + *rd_InResponses = NULL,
984 + *rd_OutResponses = NULL,
985 + *rd_InReductions = NULL,
986 + *rd_OutReductions = NULL;
987 +
988 if(unlikely(!st)) {
989 st = rrdset_create_localhost(
990 RRD_TYPE_NET_SNMP6
@@ -919,21 +1000,21 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1000 , update_every
1001 , RRDSET_TYPE_LINE);
1002
922 - rrddim_add(st, "InQueries", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
923 - rrddim_add(st, "OutQueries", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
924 - rrddim_add(st, "InResponses", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
925 - rrddim_add(st, "OutResponses", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
926 - rrddim_add(st, "InReductions", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
927 - rrddim_add(st, "OutReductions", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1003 + rd_InQueries = rrddim_add(st, "InQueries", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1004 + rd_OutQueries = rrddim_add(st, "OutQueries", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1005 + rd_InResponses = rrddim_add(st, "InResponses", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1006 + rd_OutResponses = rrddim_add(st, "OutResponses", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1007 + rd_InReductions = rrddim_add(st, "InReductions", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1008 + rd_OutReductions = rrddim_add(st, "OutReductions", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1009 }
1010 else rrdset_next(st);
1011
931 - rrddim_set(st, "InQueries", Icmp6InGroupMembQueries);
932 - rrddim_set(st, "OutQueries", Icmp6OutGroupMembQueries);
933 - rrddim_set(st, "InResponses", Icmp6InGroupMembResponses);
934 - rrddim_set(st, "OutResponses", Icmp6OutGroupMembResponses);
935 - rrddim_set(st, "InReductions", Icmp6InGroupMembReductions);
936 - rrddim_set(st, "OutReductions", Icmp6OutGroupMembReductions);
1012 + rrddim_set_by_pointer(st, rd_InQueries, Icmp6InGroupMembQueries);
1013 + rrddim_set_by_pointer(st, rd_OutQueries, Icmp6OutGroupMembQueries);
1014 + rrddim_set_by_pointer(st, rd_InResponses, Icmp6InGroupMembResponses);
1015 + rrddim_set_by_pointer(st, rd_OutResponses, Icmp6OutGroupMembResponses);
1016 + rrddim_set_by_pointer(st, rd_InReductions, Icmp6InGroupMembReductions);
1017 + rrddim_set_by_pointer(st, rd_OutReductions, Icmp6OutGroupMembReductions);
1018 rrdset_done(st);
1019 }
1020
@@ -948,6 +1029,11 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1029 ))) {
1030 do_icmp_router = CONFIG_BOOLEAN_YES;
1031 static RRDSET *st = NULL;
1032 + static RRDDIM *rd_InSolicits = NULL,
1033 + *rd_OutSolicits = NULL,
1034 + *rd_InAdvertisements = NULL,
1035 + *rd_OutAdvertisements = NULL;
1036 +
1037 if(unlikely(!st)) {
1038 st = rrdset_create_localhost(
1039 RRD_TYPE_NET_SNMP6
@@ -964,17 +1050,17 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1050 , RRDSET_TYPE_LINE
1051 );
1052
967 - rrddim_add(st, "InSolicits", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
968 - rrddim_add(st, "OutSolicits", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
969 - rrddim_add(st, "InAdvertisements", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
970 - rrddim_add(st, "OutAdvertisements", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1053 + rd_InSolicits = rrddim_add(st, "InSolicits", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1054 + rd_OutSolicits = rrddim_add(st, "OutSolicits", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1055 + rd_InAdvertisements = rrddim_add(st, "InAdvertisements", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1056 + rd_OutAdvertisements = rrddim_add(st, "OutAdvertisements", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1057 }
1058 else rrdset_next(st);
1059
974 - rrddim_set(st, "InSolicits", Icmp6InRouterSolicits);
975 - rrddim_set(st, "OutSolicits", Icmp6OutRouterSolicits);
976 - rrddim_set(st, "InAdvertisements", Icmp6InRouterAdvertisements);
977 - rrddim_set(st, "OutAdvertisements", Icmp6OutRouterAdvertisements);
1060 + rrddim_set_by_pointer(st, rd_InSolicits, Icmp6InRouterSolicits);
1061 + rrddim_set_by_pointer(st, rd_OutSolicits, Icmp6OutRouterSolicits);
1062 + rrddim_set_by_pointer(st, rd_InAdvertisements, Icmp6InRouterAdvertisements);
1063 + rrddim_set_by_pointer(st, rd_OutAdvertisements, Icmp6OutRouterAdvertisements);
1064 rrdset_done(st);
1065 }
1066
@@ -989,6 +1075,11 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1075 ))) {
1076 do_icmp_neighbor = CONFIG_BOOLEAN_YES;
1077 static RRDSET *st = NULL;
1078 + static RRDDIM *rd_InSolicits = NULL,
1079 + *rd_OutSolicits = NULL,
1080 + *rd_InAdvertisements = NULL,
1081 + *rd_OutAdvertisements = NULL;
1082 +
1083 if(unlikely(!st)) {
1084 st = rrdset_create_localhost(
1085 RRD_TYPE_NET_SNMP6
@@ -1005,17 +1096,17 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1096 , RRDSET_TYPE_LINE
1097 );
1098
1008 - rrddim_add(st, "InSolicits", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1009 - rrddim_add(st, "OutSolicits", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1010 - rrddim_add(st, "InAdvertisements", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1011 - rrddim_add(st, "OutAdvertisements", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1099 + rd_InSolicits = rrddim_add(st, "InSolicits", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1100 + rd_OutSolicits = rrddim_add(st, "OutSolicits", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1101 + rd_InAdvertisements = rrddim_add(st, "InAdvertisements", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1102 + rd_OutAdvertisements = rrddim_add(st, "OutAdvertisements", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1103 }
1104 else rrdset_next(st);
1105
1015 - rrddim_set(st, "InSolicits", Icmp6InNeighborSolicits);
1016 - rrddim_set(st, "OutSolicits", Icmp6OutNeighborSolicits);
1017 - rrddim_set(st, "InAdvertisements", Icmp6InNeighborAdvertisements);
1018 - rrddim_set(st, "OutAdvertisements", Icmp6OutNeighborAdvertisements);
1106 + rrddim_set_by_pointer(st, rd_InSolicits, Icmp6InNeighborSolicits);
1107 + rrddim_set_by_pointer(st, rd_OutSolicits, Icmp6OutNeighborSolicits);
1108 + rrddim_set_by_pointer(st, rd_InAdvertisements, Icmp6InNeighborAdvertisements);
1109 + rrddim_set_by_pointer(st, rd_OutAdvertisements, Icmp6OutNeighborAdvertisements);
1110 rrdset_done(st);
1111 }
1112
@@ -1024,6 +1115,9 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1115 if(do_icmp_mldv2 == CONFIG_BOOLEAN_YES || (do_icmp_mldv2 == CONFIG_BOOLEAN_AUTO && (Icmp6InMLDv2Reports || Icmp6OutMLDv2Reports))) {
1116 do_icmp_mldv2 = CONFIG_BOOLEAN_YES;
1117 static RRDSET *st = NULL;
1118 + static RRDDIM *rd_InMLDv2Reports = NULL,
1119 + *rd_OutMLDv2Reports = NULL;
1120 +
1121 if(unlikely(!st)) {
1122 st = rrdset_create_localhost(
1123 RRD_TYPE_NET_SNMP6
@@ -1040,13 +1134,13 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1134 , RRDSET_TYPE_LINE
1135 );
1136
1043 - rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1044 - rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1137 + rd_InMLDv2Reports = rrddim_add(st, "InMLDv2Reports", "received", 1, 1, RRD_ALGORITHM_INCREMENTAL);
1138 + rd_OutMLDv2Reports = rrddim_add(st, "OutMLDv2Reports", "sent", -1, 1, RRD_ALGORITHM_INCREMENTAL);
1139 }
1140 else rrdset_next(st);
1141
1048 - rrddim_set(st, "sent", Icmp6InMLDv2Reports);
1049 - rrddim_set(st, "received", Icmp6OutMLDv2Reports);
1142 + rrddim_set_by_pointer(st, rd_InMLDv2Reports, Icmp6InMLDv2Reports);
1143 + rrddim_set_by_pointer(st, rd_OutMLDv2Reports, Icmp6OutMLDv2Reports);
1144 rrdset_done(st);
1145 }
1146
@@ -1067,6 +1161,17 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1161 ))) {
1162 do_icmp_types = CONFIG_BOOLEAN_YES;
1163 static RRDSET *st = NULL;
1164 + static RRDDIM *rd_InType1 = NULL,
1165 + *rd_InType128 = NULL,
1166 + *rd_InType129 = NULL,
1167 + *rd_InType136 = NULL,
1168 + *rd_OutType1 = NULL,
1169 + *rd_OutType128 = NULL,
1170 + *rd_OutType129 = NULL,
1171 + *rd_OutType133 = NULL,
1172 + *rd_OutType135 = NULL,
1173 + *rd_OutType143 = NULL;
1174 +
1175 if(unlikely(!st)) {
1176 st = rrdset_create_localhost(
1177 RRD_TYPE_NET_SNMP6
@@ -1083,29 +1188,29 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1188 , RRDSET_TYPE_LINE
1189 );
1190
1086 - rrddim_add(st, "InType1", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1087 - rrddim_add(st, "InType128", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1088 - rrddim_add(st, "InType129", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1089 - rrddim_add(st, "InType136", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1090 - rrddim_add(st, "OutType1", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1091 - rrddim_add(st, "OutType128", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1092 - rrddim_add(st, "OutType129", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1093 - rrddim_add(st, "OutType133", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1094 - rrddim_add(st, "OutType135", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1095 - rrddim_add(st, "OutType143", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1191 + rd_InType1 = rrddim_add(st, "InType1", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1192 + rd_InType128 = rrddim_add(st, "InType128", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1193 + rd_InType129 = rrddim_add(st, "InType129", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1194 + rd_InType136 = rrddim_add(st, "InType136", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1195 + rd_OutType1 = rrddim_add(st, "OutType1", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1196 + rd_OutType128 = rrddim_add(st, "OutType128", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1197 + rd_OutType129 = rrddim_add(st, "OutType129", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1198 + rd_OutType133 = rrddim_add(st, "OutType133", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1199 + rd_OutType135 = rrddim_add(st, "OutType135", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1200 + rd_OutType143 = rrddim_add(st, "OutType143", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1201 }
1202 else rrdset_next(st);
1203
1099 - rrddim_set(st, "InType1", Icmp6InType1);
1100 - rrddim_set(st, "InType128", Icmp6InType128);
1101 - rrddim_set(st, "InType129", Icmp6InType129);
1102 - rrddim_set(st, "InType136", Icmp6InType136);
1103 - rrddim_set(st, "OutType1", Icmp6OutType1);
1104 - rrddim_set(st, "OutType128", Icmp6OutType128);
1105 - rrddim_set(st, "OutType129", Icmp6OutType129);
1106 - rrddim_set(st, "OutType133", Icmp6OutType133);
1107 - rrddim_set(st, "OutType135", Icmp6OutType135);
1108 - rrddim_set(st, "OutType143", Icmp6OutType143);
1204 + rrddim_set_by_pointer(st, rd_InType1, Icmp6InType1);
1205 + rrddim_set_by_pointer(st, rd_InType128, Icmp6InType128);
1206 + rrddim_set_by_pointer(st, rd_InType129, Icmp6InType129);
1207 + rrddim_set_by_pointer(st, rd_InType136, Icmp6InType136);
1208 + rrddim_set_by_pointer(st, rd_OutType1, Icmp6OutType1);
1209 + rrddim_set_by_pointer(st, rd_OutType128, Icmp6OutType128);
1210 + rrddim_set_by_pointer(st, rd_OutType129, Icmp6OutType129);
1211 + rrddim_set_by_pointer(st, rd_OutType133, Icmp6OutType133);
1212 + rrddim_set_by_pointer(st, rd_OutType135, Icmp6OutType135);
1213 + rrddim_set_by_pointer(st, rd_OutType143, Icmp6OutType143);
1214 rrdset_done(st);
1215 }
1216
@@ -1120,6 +1225,11 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1225 ))) {
1226 do_ect = CONFIG_BOOLEAN_YES;
1227 static RRDSET *st = NULL;
1228 + static RRDDIM *rd_InNoECTPkts = NULL,
1229 + *rd_InECT1Pkts = NULL,
1230 + *rd_InECT0Pkts = NULL,
1231 + *rd_InCEPkts = NULL;
1232 +
1233 if(unlikely(!st)) {
1234 st = rrdset_create_localhost(
1235 RRD_TYPE_NET_SNMP6
@@ -1136,17 +1246,17 @@ int do_proc_net_snmp6(int update_every, usec_t dt) {
1246 , RRDSET_TYPE_LINE
1247 );
1248
1139 - rrddim_add(st, "InNoECTPkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1140 - rrddim_add(st, "InECT1Pkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1141 - rrddim_add(st, "InECT0Pkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1142 - rrddim_add(st, "InCEPkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1249 + rd_InNoECTPkts = rrddim_add(st, "InNoECTPkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1250 + rd_InECT1Pkts = rrddim_add(st, "InECT1Pkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1251 + rd_InECT0Pkts = rrddim_add(st, "InECT0Pkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1252 + rd_InCEPkts = rrddim_add(st, "InCEPkts", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1253 }
1254 else rrdset_next(st);
1255
1146 - rrddim_set(st, "InNoECTPkts", Ip6InNoECTPkts);
1147 - rrddim_set(st, "InECT1Pkts", Ip6InECT1Pkts);
1148 - rrddim_set(st, "InECT0Pkts", Ip6InECT0Pkts);
1149 - rrddim_set(st, "InCEPkts", Ip6InCEPkts);
1256 + rrddim_set_by_pointer(st, rd_InNoECTPkts, Ip6InNoECTPkts);
1257 + rrddim_set_by_pointer(st, rd_InECT1Pkts, Ip6InECT1Pkts);
1258 + rrddim_set_by_pointer(st, rd_InECT0Pkts, Ip6InECT0Pkts);
1259 + rrddim_set_by_pointer(st, rd_InCEPkts, Ip6InCEPkts);
1260 rrdset_done(st);
1261 }
1262