diff options
author | Emmanuel Vasilakis <mrzammler@mm.st> | 2022-05-23 18:32:45 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-23 18:32:45 +0300 |
commit | 7f39ccb6d3ca7e45745c3e690eeeaa9434356d8b (patch) | |
tree | 3b0d2a43a6e28bb94a3aed049bba5ef623cd082e /daemon | |
parent | cfe983fc06a5d4454fc77403435d39a98e3e6549 (diff) |
Make heartbeat a static chart (#12986)
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/global_statistics.c | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/daemon/global_statistics.c b/daemon/global_statistics.c index 9aedb6a208..05b8804aa4 100644 --- a/daemon/global_statistics.c +++ b/daemon/global_statistics.c @@ -854,37 +854,42 @@ static void dbengine_statistics_charts(void) { } static void update_heartbeat_charts() { - RRDSET *st = rrdset_create_localhost( - "netdata" - , "heartbeat" - , NULL - , "heartbeat" - , NULL - , "System clock jitter" - , "microseconds" - , "netdata" - , "stats" - , 900000 - , localhost->rrd_update_every - , RRDSET_TYPE_AREA - ); - - RRDDIM *rd_min = rrddim_add(st, "min", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); - RRDDIM *rd_max = rrddim_add(st, "max", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); - RRDDIM *rd_avg = rrddim_add(st, "average", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); + static RRDSET *st_heartbeat = NULL; + static RRDDIM *rd_heartbeat_min = NULL; + static RRDDIM *rd_heartbeat_max = NULL; + static RRDDIM *rd_heartbeat_avg = NULL; - rrdset_next(st); + if (unlikely(!st_heartbeat)) { + st_heartbeat = rrdset_create_localhost( + "netdata" + , "heartbeat" + , NULL + , "heartbeat" + , NULL + , "System clock jitter" + , "microseconds" + , "netdata" + , "stats" + , 900000 + , localhost->rrd_update_every + , RRDSET_TYPE_AREA); + + rd_heartbeat_min = rrddim_add(st_heartbeat, "min", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); + rd_heartbeat_max = rrddim_add(st_heartbeat, "max", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); + rd_heartbeat_avg = rrddim_add(st_heartbeat, "average", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); + } else + rrdset_next(st_heartbeat); usec_t min, max, average; size_t count; heartbeat_statistics(&min, &max, &average, &count); - rrddim_set_by_pointer(st, rd_min, (collected_number)min); - rrddim_set_by_pointer(st, rd_max, (collected_number)max); - rrddim_set_by_pointer(st, rd_avg, (collected_number)average); + rrddim_set_by_pointer(st_heartbeat, rd_heartbeat_min, (collected_number)min); + rrddim_set_by_pointer(st_heartbeat, rd_heartbeat_max, (collected_number)max); + rrddim_set_by_pointer(st_heartbeat, rd_heartbeat_avg, (collected_number)average); - rrdset_done(st); + rrdset_done(st_heartbeat); } // --------------------------------------------------------------------------------------------------------------------- |