summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmmanuel Vasilakis <mrzammler@mm.st>2022-10-10 12:44:01 +0300
committerGitHub <noreply@github.com>2022-10-10 12:44:01 +0300
commitbff1a5c8eabcca1bb4e910704b4b904cceb93a78 (patch)
treecea87854f5a2e1a5d2f7f7419ec5d7f113d529ae
parentbfe86dcb3c0b9af57c5e0d9c7d45eaa6c2d882eb (diff)
Initialize st->rrdvars from rrdset insert callback (#13786)
* init st->rrdvars from rrdset callback * also init rrdfamily and rrdimvar from rrdset * remove empty line
-rw-r--r--database/rrdset.c6
-rw-r--r--health/health.c8
2 files changed, 6 insertions, 8 deletions
diff --git a/database/rrdset.c b/database/rrdset.c
index 9b04712afb..6fd4089508 100644
--- a/database/rrdset.c
+++ b/database/rrdset.c
@@ -181,6 +181,12 @@ static void rrdset_insert_callback(const DICTIONARY_ITEM *item __maybe_unused, v
// chart variables - we need this for data collection to work (collector given chart variables) - not only health
rrdsetvar_index_init(st);
+ if (host->health_enabled) {
+ st->rrdfamily = rrdfamily_add_and_acquire(host, rrdset_family(st));
+ st->rrdvars = rrdvariables_create();
+ rrddimvar_index_init(st);
+ }
+
st->rrdlabels = rrdlabels_create();
rrdset_update_permanent_labels(st);
diff --git a/health/health.c b/health/health.c
index 05dd2ca010..28fa8e24cf 100644
--- a/health/health.c
+++ b/health/health.c
@@ -690,14 +690,6 @@ static void health_execute_delayed_initializations(RRDHOST *host) {
worker_is_busy(WORKER_HEALTH_JOB_DELAYED_INIT_RRDSET);
- if(!st->rrdfamily)
- st->rrdfamily = rrdfamily_add_and_acquire(host, rrdset_family(st));
-
- if(!st->rrdvars)
- st->rrdvars = rrdvariables_create();
-
- rrddimvar_index_init(st);
-
rrdsetvar_add_and_leave_released(st, "last_collected_t", RRDVAR_TYPE_TIME_T, &st->last_collected_time.tv_sec, RRDVAR_FLAG_NONE);
rrdsetvar_add_and_leave_released(st, "collected_total_raw", RRDVAR_TYPE_TOTAL, &st->last_collected_total, RRDVAR_FLAG_NONE);
rrdsetvar_add_and_leave_released(st, "green", RRDVAR_TYPE_CALCULATED, &st->green, RRDVAR_FLAG_NONE);