@cryptotaxi247 / netdata-1 / commits / 7f39ccb6d

Make heartbeat a static chart (#12986)

Emmanuel Vasilakis committed May 23, 2022 at 18:32 UTC 7f39ccb6d3ca7e45745c3e690eeeaa9434356d8b
1 file changed +28 -23
daemon/global_statistics.c
+28 -23
@@ -854,37 +854,42 @@ static void dbengine_statistics_charts(void) {
854 }
855
856 static void update_heartbeat_charts() {
857 - RRDSET *st = rrdset_create_localhost(
858 - "netdata"
859 - , "heartbeat"
860 - , NULL
861 - , "heartbeat"
862 - , NULL
863 - , "System clock jitter"
864 - , "microseconds"
865 - , "netdata"
866 - , "stats"
867 - , 900000
868 - , localhost->rrd_update_every
869 - , RRDSET_TYPE_AREA
870 - );
871 -
872 - RRDDIM *rd_min = rrddim_add(st, "min", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
873 - RRDDIM *rd_max = rrddim_add(st, "max", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
874 - RRDDIM *rd_avg = rrddim_add(st, "average", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
857 + static RRDSET *st_heartbeat = NULL;
858 + static RRDDIM *rd_heartbeat_min = NULL;
859 + static RRDDIM *rd_heartbeat_max = NULL;
860 + static RRDDIM *rd_heartbeat_avg = NULL;
861
876 - rrdset_next(st);
862 + if (unlikely(!st_heartbeat)) {
863 + st_heartbeat = rrdset_create_localhost(
864 + "netdata"
865 + , "heartbeat"
866 + , NULL
867 + , "heartbeat"
868 + , NULL
869 + , "System clock jitter"
870 + , "microseconds"
871 + , "netdata"
872 + , "stats"
873 + , 900000
874 + , localhost->rrd_update_every
875 + , RRDSET_TYPE_AREA);
876 +
877 + rd_heartbeat_min = rrddim_add(st_heartbeat, "min", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
878 + rd_heartbeat_max = rrddim_add(st_heartbeat, "max", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
879 + rd_heartbeat_avg = rrddim_add(st_heartbeat, "average", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
880 + } else
881 + rrdset_next(st_heartbeat);
882
883 usec_t min, max, average;
884 size_t count;
885
886 heartbeat_statistics(&min, &max, &average, &count);
887
883 - rrddim_set_by_pointer(st, rd_min, (collected_number)min);
884 - rrddim_set_by_pointer(st, rd_max, (collected_number)max);
885 - rrddim_set_by_pointer(st, rd_avg, (collected_number)average);
888 + rrddim_set_by_pointer(st_heartbeat, rd_heartbeat_min, (collected_number)min);
889 + rrddim_set_by_pointer(st_heartbeat, rd_heartbeat_max, (collected_number)max);
890 + rrddim_set_by_pointer(st_heartbeat, rd_heartbeat_avg, (collected_number)average);
891
887 - rrdset_done(st);
892 + rrdset_done(st_heartbeat);
893 }
894
895 // ---------------------------------------------------------------------------------------------------------------------