@cryptotaxi247 / netdata-1 / commits / 900430ce2

rm "ignore zero metrics" proc meminfo (#17781)

Ilya Mashchenko committed May 30, 2024 at 13:52 UTC 900430ce2ededdc452c4252e78ca55e6767b091a
2 files changed +203 -236
src/collectors/proc.plugin/proc_meminfo.c
+6 -15
@@ -254,9 +254,7 @@ int do_proc_meminfo(int update_every, usec_t dt) {
254
255 unsigned long long SwapUsed = SwapTotal - SwapFree;
256
257 - if(do_swap == CONFIG_BOOLEAN_YES || (do_swap == CONFIG_BOOLEAN_AUTO &&
258 - (SwapTotal || SwapUsed || SwapFree ||
259 - netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
257 + if (SwapTotal && (do_swap == CONFIG_BOOLEAN_YES || do_swap == CONFIG_BOOLEAN_AUTO)) {
258 do_swap = CONFIG_BOOLEAN_YES;
259 common_mem_swap(SwapFree * 1024, SwapUsed * 1024, update_every);
260
@@ -317,10 +315,8 @@ int do_proc_meminfo(int update_every, usec_t dt) {
315 }
316 }
317
320 - if(arl_hwcorrupted->flags & ARL_ENTRY_FLAG_FOUND &&
321 - (do_hwcorrupt == CONFIG_BOOLEAN_YES || (do_hwcorrupt == CONFIG_BOOLEAN_AUTO &&
322 - (HardwareCorrupted > 0 ||
323 - netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES)))) {
318 + if (arl_hwcorrupted->flags & ARL_ENTRY_FLAG_FOUND &&
319 + (do_hwcorrupt == CONFIG_BOOLEAN_YES || do_hwcorrupt == CONFIG_BOOLEAN_AUTO)) {
320 do_hwcorrupt = CONFIG_BOOLEAN_YES;
321
322 static RRDSET *st_mem_hwcorrupt = NULL;
@@ -490,10 +486,8 @@ int do_proc_meminfo(int update_every, usec_t dt) {
486 rrdset_done(st_mem_slab);
487 }
488
493 - if(arl_hugepages_total->flags & ARL_ENTRY_FLAG_FOUND &&
494 - (do_hugepages == CONFIG_BOOLEAN_YES || (do_hugepages == CONFIG_BOOLEAN_AUTO &&
495 - ((Hugepagesize && HugePages_Total) ||
496 - netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES)))) {
489 + if (arl_hugepages_total->flags & ARL_ENTRY_FLAG_FOUND && HugePages_Total &&
490 + (do_hugepages == CONFIG_BOOLEAN_YES || do_hugepages == CONFIG_BOOLEAN_AUTO)) {
491 do_hugepages = CONFIG_BOOLEAN_YES;
492
493 static RRDSET *st_mem_hugepages = NULL;
@@ -530,10 +524,7 @@ int do_proc_meminfo(int update_every, usec_t dt) {
524 rrdset_done(st_mem_hugepages);
525 }
526
533 - if(do_transparent_hugepages == CONFIG_BOOLEAN_YES || (do_transparent_hugepages == CONFIG_BOOLEAN_AUTO &&
534 - (AnonHugePages ||
535 - ShmemHugePages ||
536 - netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
527 + if (do_transparent_hugepages == CONFIG_BOOLEAN_YES || do_transparent_hugepages == CONFIG_BOOLEAN_AUTO) {
528 do_transparent_hugepages = CONFIG_BOOLEAN_YES;
529
530 static RRDSET *st_mem_transparent_hugepages = NULL;
src/collectors/proc.plugin/proc_vmstat.c
+197 -221
@@ -265,9 +265,7 @@ int do_proc_vmstat(int update_every, usec_t dt) {
265
266 // --------------------------------------------------------------------
267
268 - if(do_swapio == CONFIG_BOOLEAN_YES || (do_swapio == CONFIG_BOOLEAN_AUTO &&
269 - (pswpin || pswpout ||
270 - netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
268 + if (do_swapio == CONFIG_BOOLEAN_YES || do_swapio == CONFIG_BOOLEAN_AUTO) {
269 do_swapio = CONFIG_BOOLEAN_YES;
270
271 static RRDSET *st_swapio = NULL;
@@ -337,8 +335,7 @@ int do_proc_vmstat(int update_every, usec_t dt) {
335
336 // --------------------------------------------------------------------
337
340 - if (do_oom_kill == CONFIG_BOOLEAN_YES ||
341 - (do_oom_kill == CONFIG_BOOLEAN_AUTO && (oom_kill || netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
338 + if (do_oom_kill == CONFIG_BOOLEAN_YES || do_oom_kill == CONFIG_BOOLEAN_AUTO) {
339 static RRDSET *st_oom_kill = NULL;
340 static RRDDIM *rd_oom_kill = NULL;
341
@@ -435,8 +432,7 @@ int do_proc_vmstat(int update_every, usec_t dt) {
432
433 // --------------------------------------------------------------------
434
438 - if(do_balloon == CONFIG_BOOLEAN_YES || (do_balloon == CONFIG_BOOLEAN_AUTO && (balloon_inflate || balloon_deflate ||
439 - balloon_migrate || netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
435 + if (do_balloon == CONFIG_BOOLEAN_YES || do_balloon == CONFIG_BOOLEAN_AUTO) {
436 do_balloon = CONFIG_BOOLEAN_YES;
437
438 static RRDSET *st_balloon = NULL;
@@ -472,9 +468,7 @@ int do_proc_vmstat(int update_every, usec_t dt) {
468
469 // --------------------------------------------------------------------
470
475 - if(do_zswapio == CONFIG_BOOLEAN_YES || (do_zswapio == CONFIG_BOOLEAN_AUTO &&
476 - (zswpin || zswpout ||
477 - netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
471 + if (do_zswapio == CONFIG_BOOLEAN_YES || do_zswapio == CONFIG_BOOLEAN_AUTO) {
472 do_zswapio = CONFIG_BOOLEAN_YES;
473
474 static RRDSET *st_zswapio = NULL;
@@ -507,9 +501,7 @@ int do_proc_vmstat(int update_every, usec_t dt) {
501
502 // --------------------------------------------------------------------
503
510 - if(do_ksm == CONFIG_BOOLEAN_YES || (do_ksm == CONFIG_BOOLEAN_AUTO &&
511 - (cow_ksm || ksm_swpin_copy ||
512 - netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES))) {
504 + if (do_ksm == CONFIG_BOOLEAN_YES || do_ksm == CONFIG_BOOLEAN_AUTO) {
505 do_ksm = CONFIG_BOOLEAN_YES;
506
507 static RRDSET *st_ksm_cow = NULL;
@@ -545,241 +537,225 @@ int do_proc_vmstat(int update_every, usec_t dt) {
537
538 if(do_thp == CONFIG_BOOLEAN_YES || do_thp == CONFIG_BOOLEAN_AUTO) {
539
548 - if(do_thp == CONFIG_BOOLEAN_YES || (do_thp == CONFIG_BOOLEAN_AUTO &&
549 - (netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES || thp_fault_alloc || thp_fault_fallback || thp_fault_fallback_charge))) {
550 -
551 - static RRDSET *st_thp_fault = NULL;
552 - static RRDDIM *rd_alloc = NULL, *rd_fallback = NULL, *rd_fallback_charge = NULL;
553 -
554 - if(unlikely(!st_thp_fault)) {
555 - st_thp_fault = rrdset_create_localhost(
556 - "mem"
557 - , "thp_faults"
558 - , NULL
559 - , "hugepages"
560 - , NULL
561 - , "Transparent Huge Page Fault Allocations"
562 - , "events/s"
563 - , PLUGIN_PROC_NAME
564 - , PLUGIN_PROC_MODULE_VMSTAT_NAME
565 - , NETDATA_CHART_PRIO_MEM_HUGEPAGES_FAULTS
566 - , update_every
567 - , RRDSET_TYPE_LINE
568 - );
569 -
570 - rd_alloc = rrddim_add(st_thp_fault, "alloc", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
571 - rd_fallback = rrddim_add(st_thp_fault, "fallback", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
572 - rd_fallback_charge = rrddim_add(st_thp_fault, "fallback_charge", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
573 - }
540 + static RRDSET *st_thp_fault = NULL;
541 + static RRDDIM *rd_alloc = NULL, *rd_fallback = NULL, *rd_fallback_charge = NULL;
542
575 - rrddim_set_by_pointer(st_thp_fault, rd_alloc, thp_fault_alloc);
576 - rrddim_set_by_pointer(st_thp_fault, rd_fallback, thp_fault_fallback);
577 - rrddim_set_by_pointer(st_thp_fault, rd_fallback_charge, thp_fault_fallback_charge);
543 + if(unlikely(!st_thp_fault)) {
544 + st_thp_fault = rrdset_create_localhost(
545 + "mem"
546 + , "thp_faults"
547 + , NULL
548 + , "hugepages"
549 + , NULL
550 + , "Transparent Huge Page Fault Allocations"
551 + , "events/s"
552 + , PLUGIN_PROC_NAME
553 + , PLUGIN_PROC_MODULE_VMSTAT_NAME
554 + , NETDATA_CHART_PRIO_MEM_HUGEPAGES_FAULTS
555 + , update_every
556 + , RRDSET_TYPE_LINE
557 + );
558
579 - rrdset_done(st_thp_fault);
559 + rd_alloc = rrddim_add(st_thp_fault, "alloc", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
560 + rd_fallback = rrddim_add(st_thp_fault, "fallback", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
561 + rd_fallback_charge = rrddim_add(st_thp_fault, "fallback_charge", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
562 }
563
582 - if(do_thp == CONFIG_BOOLEAN_YES || (do_thp == CONFIG_BOOLEAN_AUTO &&
583 - (netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES || thp_fault_alloc || thp_fault_fallback || thp_fault_fallback_charge || thp_file_mapped))) {
584 -
585 - static RRDSET *st_thp_file = NULL;
586 - static RRDDIM *rd_alloc = NULL, *rd_fallback = NULL, *rd_fallback_charge = NULL, *rd_mapped = NULL;
587 -
588 - if(unlikely(!st_thp_file)) {
589 - st_thp_file = rrdset_create_localhost(
590 - "mem"
591 - , "thp_file"
592 - , NULL
593 - , "hugepages"
594 - , NULL
595 - , "Transparent Huge Page File Allocations"
596 - , "events/s"
597 - , PLUGIN_PROC_NAME
598 - , PLUGIN_PROC_MODULE_VMSTAT_NAME
599 - , NETDATA_CHART_PRIO_MEM_HUGEPAGES_FILE
600 - , update_every
601 - , RRDSET_TYPE_LINE
602 - );
603 -
604 - rd_alloc = rrddim_add(st_thp_file, "alloc", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
605 - rd_fallback = rrddim_add(st_thp_file, "fallback", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
606 - rd_mapped = rrddim_add(st_thp_file, "mapped", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
607 - rd_fallback_charge = rrddim_add(st_thp_file, "fallback_charge", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
608 - }
564 + rrddim_set_by_pointer(st_thp_fault, rd_alloc, thp_fault_alloc);
565 + rrddim_set_by_pointer(st_thp_fault, rd_fallback, thp_fault_fallback);
566 + rrddim_set_by_pointer(st_thp_fault, rd_fallback_charge, thp_fault_fallback_charge);
567
610 - rrddim_set_by_pointer(st_thp_file, rd_alloc, thp_file_alloc);
611 - rrddim_set_by_pointer(st_thp_file, rd_fallback, thp_file_fallback);
612 - rrddim_set_by_pointer(st_thp_file, rd_mapped, thp_file_fallback_charge);
613 - rrddim_set_by_pointer(st_thp_file, rd_fallback_charge, thp_file_fallback_charge);
568 + rrdset_done(st_thp_fault);
569 + }
570 +
571 + if (do_thp == CONFIG_BOOLEAN_YES || do_thp == CONFIG_BOOLEAN_AUTO) {
572 + static RRDSET *st_thp_file = NULL;
573 + static RRDDIM *rd_alloc = NULL, *rd_fallback = NULL, *rd_fallback_charge = NULL, *rd_mapped = NULL;
574 +
575 + if(unlikely(!st_thp_file)) {
576 + st_thp_file = rrdset_create_localhost(
577 + "mem"
578 + , "thp_file"
579 + , NULL
580 + , "hugepages"
581 + , NULL
582 + , "Transparent Huge Page File Allocations"
583 + , "events/s"
584 + , PLUGIN_PROC_NAME
585 + , PLUGIN_PROC_MODULE_VMSTAT_NAME
586 + , NETDATA_CHART_PRIO_MEM_HUGEPAGES_FILE
587 + , update_every
588 + , RRDSET_TYPE_LINE
589 + );
590
615 - rrdset_done(st_thp_file);
591 + rd_alloc = rrddim_add(st_thp_file, "alloc", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
592 + rd_fallback = rrddim_add(st_thp_file, "fallback", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
593 + rd_mapped = rrddim_add(st_thp_file, "mapped", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
594 + rd_fallback_charge = rrddim_add(st_thp_file, "fallback_charge", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
595 }
596
618 - if(do_thp == CONFIG_BOOLEAN_YES || (do_thp == CONFIG_BOOLEAN_AUTO &&
619 - (netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES || thp_zero_page_alloc || thp_zero_page_alloc_failed))) {
620 -
621 - static RRDSET *st_thp_zero = NULL;
622 - static RRDDIM *rd_alloc = NULL, *rd_failed = NULL;
623 -
624 - if(unlikely(!st_thp_zero)) {
625 - st_thp_zero = rrdset_create_localhost(
626 - "mem"
627 - , "thp_zero"
628 - , NULL
629 - , "hugepages"
630 - , NULL
631 - , "Transparent Huge Zero Page Allocations"
632 - , "events/s"
633 - , PLUGIN_PROC_NAME
634 - , PLUGIN_PROC_MODULE_VMSTAT_NAME
635 - , NETDATA_CHART_PRIO_MEM_HUGEPAGES_ZERO
636 - , update_every
637 - , RRDSET_TYPE_LINE
638 - );
639 -
640 - rd_alloc = rrddim_add(st_thp_zero, "alloc", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
641 - rd_failed = rrddim_add(st_thp_zero, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
642 - }
597 + rrddim_set_by_pointer(st_thp_file, rd_alloc, thp_file_alloc);
598 + rrddim_set_by_pointer(st_thp_file, rd_fallback, thp_file_fallback);
599 + rrddim_set_by_pointer(st_thp_file, rd_mapped, thp_file_fallback_charge);
600 + rrddim_set_by_pointer(st_thp_file, rd_fallback_charge, thp_file_fallback_charge);
601 +
602 + rrdset_done(st_thp_file);
603 + }
604
644 - rrddim_set_by_pointer(st_thp_zero, rd_alloc, thp_zero_page_alloc);
645 - rrddim_set_by_pointer(st_thp_zero, rd_failed, thp_zero_page_alloc_failed);
605 + if (do_thp == CONFIG_BOOLEAN_YES || do_thp == CONFIG_BOOLEAN_AUTO) {
606 + static RRDSET *st_thp_zero = NULL;
607 + static RRDDIM *rd_alloc = NULL, *rd_failed = NULL;
608 +
609 + if(unlikely(!st_thp_zero)) {
610 + st_thp_zero = rrdset_create_localhost(
611 + "mem"
612 + , "thp_zero"
613 + , NULL
614 + , "hugepages"
615 + , NULL
616 + , "Transparent Huge Zero Page Allocations"
617 + , "events/s"
618 + , PLUGIN_PROC_NAME
619 + , PLUGIN_PROC_MODULE_VMSTAT_NAME
620 + , NETDATA_CHART_PRIO_MEM_HUGEPAGES_ZERO
621 + , update_every
622 + , RRDSET_TYPE_LINE
623 + );
624
647 - rrdset_done(st_thp_zero);
625 + rd_alloc = rrddim_add(st_thp_zero, "alloc", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
626 + rd_failed = rrddim_add(st_thp_zero, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
627 }
628
650 - if(do_thp == CONFIG_BOOLEAN_YES || (do_thp == CONFIG_BOOLEAN_AUTO &&
651 - (netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES || thp_collapse_alloc || thp_collapse_alloc_failed))) {
652 -
653 - static RRDSET *st_khugepaged = NULL;
654 - static RRDDIM *rd_alloc = NULL, *rd_failed = NULL;
655 -
656 - if(unlikely(!st_khugepaged)) {
657 - st_khugepaged = rrdset_create_localhost(
658 - "mem"
659 - , "thp_collapse"
660 - , NULL
661 - , "hugepages"
662 - , NULL
663 - , "Transparent Huge Pages Collapsed by khugepaged"
664 - , "events/s"
665 - , PLUGIN_PROC_NAME
666 - , PLUGIN_PROC_MODULE_VMSTAT_NAME
667 - , NETDATA_CHART_PRIO_MEM_HUGEPAGES_KHUGEPAGED
668 - , update_every
669 - , RRDSET_TYPE_LINE
670 - );
671 -
672 - rd_alloc = rrddim_add(st_khugepaged, "alloc", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
673 - rd_failed = rrddim_add(st_khugepaged, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
674 - }
629 + rrddim_set_by_pointer(st_thp_zero, rd_alloc, thp_zero_page_alloc);
630 + rrddim_set_by_pointer(st_thp_zero, rd_failed, thp_zero_page_alloc_failed);
631 +
632 + rrdset_done(st_thp_zero);
633 + }
634 +
635 + if (do_thp == CONFIG_BOOLEAN_YES || do_thp == CONFIG_BOOLEAN_AUTO) {
636 + static RRDSET *st_khugepaged = NULL;
637 + static RRDDIM *rd_alloc = NULL, *rd_failed = NULL;
638
676 - rrddim_set_by_pointer(st_khugepaged, rd_alloc, thp_collapse_alloc);
677 - rrddim_set_by_pointer(st_khugepaged, rd_failed, thp_collapse_alloc_failed);
639 + if(unlikely(!st_khugepaged)) {
640 + st_khugepaged = rrdset_create_localhost(
641 + "mem"
642 + , "thp_collapse"
643 + , NULL
644 + , "hugepages"
645 + , NULL
646 + , "Transparent Huge Pages Collapsed by khugepaged"
647 + , "events/s"
648 + , PLUGIN_PROC_NAME
649 + , PLUGIN_PROC_MODULE_VMSTAT_NAME
650 + , NETDATA_CHART_PRIO_MEM_HUGEPAGES_KHUGEPAGED
651 + , update_every
652 + , RRDSET_TYPE_LINE
653 + );
654
679 - rrdset_done(st_khugepaged);
655 + rd_alloc = rrddim_add(st_khugepaged, "alloc", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
656 + rd_failed = rrddim_add(st_khugepaged, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
657 }
658
682 - if(do_thp == CONFIG_BOOLEAN_YES || (do_thp == CONFIG_BOOLEAN_AUTO &&
683 - (netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES || thp_split_page || thp_split_page_failed || thp_deferred_split_page || thp_split_pmd))) {
684 -
685 - static RRDSET *st_thp_split = NULL;
686 - static RRDDIM *rd_split = NULL, *rd_failed = NULL, *rd_deferred_split = NULL, *rd_split_pmd = NULL;
687 -
688 - if(unlikely(!st_thp_split)) {
689 - st_thp_split = rrdset_create_localhost(
690 - "mem"
691 - , "thp_split"
692 - , NULL
693 - , "hugepages"
694 - , NULL
695 - , "Transparent Huge Page Splits"
696 - , "events/s"
697 - , PLUGIN_PROC_NAME
698 - , PLUGIN_PROC_MODULE_VMSTAT_NAME
699 - , NETDATA_CHART_PRIO_MEM_HUGEPAGES_SPLITS
700 - , update_every
701 - , RRDSET_TYPE_LINE
702 - );
703 -
704 - rd_split = rrddim_add(st_thp_split, "split", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
705 - rd_failed = rrddim_add(st_thp_split, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
706 - rd_split_pmd = rrddim_add(st_thp_split, "split_pmd", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
707 - rd_deferred_split = rrddim_add(st_thp_split, "split_deferred", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
708 - }
659 + rrddim_set_by_pointer(st_khugepaged, rd_alloc, thp_collapse_alloc);
660 + rrddim_set_by_pointer(st_khugepaged, rd_failed, thp_collapse_alloc_failed);
661 +
662 + rrdset_done(st_khugepaged);
663 + }
664
710 - rrddim_set_by_pointer(st_thp_split, rd_split, thp_split_page);
711 - rrddim_set_by_pointer(st_thp_split, rd_failed, thp_split_page_failed);
712 - rrddim_set_by_pointer(st_thp_split, rd_split_pmd, thp_split_pmd);
713 - rrddim_set_by_pointer(st_thp_split, rd_deferred_split, thp_deferred_split_page);
665 + if (do_thp == CONFIG_BOOLEAN_YES || do_thp == CONFIG_BOOLEAN_AUTO) {
666 + static RRDSET *st_thp_split = NULL;
667 + static RRDDIM *rd_split = NULL, *rd_failed = NULL, *rd_deferred_split = NULL, *rd_split_pmd = NULL;
668
715 - rrdset_done(st_thp_split);
669 + if(unlikely(!st_thp_split)) {
670 + st_thp_split = rrdset_create_localhost(
671 + "mem"
672 + , "thp_split"
673 + , NULL
674 + , "hugepages"
675 + , NULL
676 + , "Transparent Huge Page Splits"
677 + , "events/s"
678 + , PLUGIN_PROC_NAME
679 + , PLUGIN_PROC_MODULE_VMSTAT_NAME
680 + , NETDATA_CHART_PRIO_MEM_HUGEPAGES_SPLITS
681 + , update_every
682 + , RRDSET_TYPE_LINE
683 + );
684 +
685 + rd_split = rrddim_add(st_thp_split, "split", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
686 + rd_failed = rrddim_add(st_thp_split, "failed", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
687 + rd_split_pmd = rrddim_add(st_thp_split, "split_pmd", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
688 + rd_deferred_split = rrddim_add(st_thp_split, "split_deferred", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
689 }
690
718 - if(do_thp == CONFIG_BOOLEAN_YES || (do_thp == CONFIG_BOOLEAN_AUTO &&
719 - (netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES || thp_swpout || thp_swpout_fallback))) {
720 -
721 - static RRDSET *st_tmp_swapout = NULL;
722 - static RRDDIM *rd_swapout = NULL, *rd_fallback = NULL;
723 -
724 - if(unlikely(!st_tmp_swapout)) {
725 - st_tmp_swapout = rrdset_create_localhost(
726 - "mem"
727 - , "thp_swapout"
728 - , NULL
729 - , "hugepages"
730 - , NULL
731 - , "Transparent Huge Pages Swap Out"
732 - , "events/s"
733 - , PLUGIN_PROC_NAME
734 - , PLUGIN_PROC_MODULE_VMSTAT_NAME
735 - , NETDATA_CHART_PRIO_MEM_HUGEPAGES_SWAPOUT
736 - , update_every
737 - , RRDSET_TYPE_LINE
738 - );
739 -
740 - rd_swapout = rrddim_add(st_tmp_swapout, "swapout", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
741 - rd_fallback = rrddim_add(st_tmp_swapout, "fallback", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
742 - }
691 + rrddim_set_by_pointer(st_thp_split, rd_split, thp_split_page);
692 + rrddim_set_by_pointer(st_thp_split, rd_failed, thp_split_page_failed);
693 + rrddim_set_by_pointer(st_thp_split, rd_split_pmd, thp_split_pmd);
694 + rrddim_set_by_pointer(st_thp_split, rd_deferred_split, thp_deferred_split_page);
695
744 - rrddim_set_by_pointer(st_tmp_swapout, rd_swapout, thp_swpout);
745 - rrddim_set_by_pointer(st_tmp_swapout, rd_fallback, thp_swpout_fallback);
696 + rrdset_done(st_thp_split);
697 + }
698 +
699 + if (do_thp == CONFIG_BOOLEAN_YES || do_thp == CONFIG_BOOLEAN_AUTO) {
700 + static RRDSET *st_tmp_swapout = NULL;
701 + static RRDDIM *rd_swapout = NULL, *rd_fallback = NULL;
702
747 - rrdset_done(st_tmp_swapout);
703 + if(unlikely(!st_tmp_swapout)) {
704 + st_tmp_swapout = rrdset_create_localhost(
705 + "mem"
706 + , "thp_swapout"
707 + , NULL
708 + , "hugepages"
709 + , NULL
710 + , "Transparent Huge Pages Swap Out"
711 + , "events/s"
712 + , PLUGIN_PROC_NAME
713 + , PLUGIN_PROC_MODULE_VMSTAT_NAME
714 + , NETDATA_CHART_PRIO_MEM_HUGEPAGES_SWAPOUT
715 + , update_every
716 + , RRDSET_TYPE_LINE
717 + );
718 +
719 + rd_swapout = rrddim_add(st_tmp_swapout, "swapout", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
720 + rd_fallback = rrddim_add(st_tmp_swapout, "fallback", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
721 }
722
750 - if(do_thp == CONFIG_BOOLEAN_YES || (do_thp == CONFIG_BOOLEAN_AUTO &&
751 - (netdata_zero_metrics_enabled == CONFIG_BOOLEAN_YES || compact_stall || compact_fail || compact_success))) {
752 -
753 - static RRDSET *st_thp_compact = NULL;
754 - static RRDDIM *rd_success = NULL, *rd_fail = NULL, *rd_stall = NULL;
755 -
756 - if(unlikely(!st_thp_compact)) {
757 - st_thp_compact = rrdset_create_localhost(
758 - "mem"
759 - , "thp_compact"
760 - , NULL
761 - , "hugepages"
762 - , NULL
763 - , "Transparent Huge Pages Compaction"
764 - , "events/s"
765 - , PLUGIN_PROC_NAME
766 - , PLUGIN_PROC_MODULE_VMSTAT_NAME
767 - , NETDATA_CHART_PRIO_MEM_HUGEPAGES_COMPACT
768 - , update_every
769 - , RRDSET_TYPE_LINE
770 - );
771 -
772 - rd_success = rrddim_add(st_thp_compact, "success", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
773 - rd_fail = rrddim_add(st_thp_compact, "fail", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
774 - rd_stall = rrddim_add(st_thp_compact, "stall", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
775 - }
723 + rrddim_set_by_pointer(st_tmp_swapout, rd_swapout, thp_swpout);
724 + rrddim_set_by_pointer(st_tmp_swapout, rd_fallback, thp_swpout_fallback);
725 +
726 + rrdset_done(st_tmp_swapout);
727 + }
728 +
729 + if (do_thp == CONFIG_BOOLEAN_YES || do_thp == CONFIG_BOOLEAN_AUTO) {
730 + static RRDSET *st_thp_compact = NULL;
731 + static RRDDIM *rd_success = NULL, *rd_fail = NULL, *rd_stall = NULL;
732
777 - rrddim_set_by_pointer(st_thp_compact, rd_success, compact_success);
778 - rrddim_set_by_pointer(st_thp_compact, rd_fail, compact_fail);
779 - rrddim_set_by_pointer(st_thp_compact, rd_stall, compact_stall);
733 + if(unlikely(!st_thp_compact)) {
734 + st_thp_compact = rrdset_create_localhost(
735 + "mem"
736 + , "thp_compact"
737 + , NULL
738 + , "hugepages"
739 + , NULL
740 + , "Transparent Huge Pages Compaction"
741 + , "events/s"
742 + , PLUGIN_PROC_NAME
743 + , PLUGIN_PROC_MODULE_VMSTAT_NAME
744 + , NETDATA_CHART_PRIO_MEM_HUGEPAGES_COMPACT
745 + , update_every
746 + , RRDSET_TYPE_LINE
747 + );
748
781 - rrdset_done(st_thp_compact);
749 + rd_success = rrddim_add(st_thp_compact, "success", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
750 + rd_fail = rrddim_add(st_thp_compact, "fail", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
751 + rd_stall = rrddim_add(st_thp_compact, "stall", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
752 }
753 +
754 + rrddim_set_by_pointer(st_thp_compact, rd_success, compact_success);
755 + rrddim_set_by_pointer(st_thp_compact, rd_fail, compact_fail);
756 + rrddim_set_by_pointer(st_thp_compact, rd_stall, compact_stall);
757 +
758 + rrdset_done(st_thp_compact);
759 }
760
761 return 0;