RRDCONTEXTS: loading report (#19351)
reformatted the metadata report, to provide the complete picture
Costa Tsaousis committed
Jan 8, 2025 at 18:49 UTC
122489ce556eef2a2463c167360041d09d9b803f
2 files changed
+21
-16
src/aclk/aclk.c
+1
@@ -836,6 +836,7 @@ exit:
836
bool aclk_host_state_update_auto(RRDHOST *host) {
837
int live;
838
switch(rrdhost_ingestion_status(host)) {
839
+ default:
840
case RRDHOST_INGEST_STATUS_ARCHIVED:
841
case RRDHOST_INGEST_STATUS_INITIALIZING:
842
case RRDHOST_INGEST_STATUS_OFFLINE:
src/database/contexts/contexts-loading.c
+20
-16
@@ -2,8 +2,8 @@
2
3
#include "internal.h"
4
5
-static __thread size_t ignored_contexts_on_metrics = 0, ignored_contexts_on_instances = 0,
6
- ignored_instances_on_metrics = 0;
5
+static __thread size_t ignored_metrics = 0, ignored_instances = 0;
6
+static __thread size_t loaded_metrics = 0, loaded_instances = 0, loaded_contexts = 0;
7
8
static void rrdinstance_load_clabel(SQL_CLABEL_DATA *sld, void *data) {
9
RRDINSTANCE *ri = data;
@@ -18,7 +18,7 @@ static void rrdinstance_load_dimension_callback(SQL_DIMENSION_DATA *sd, void *da
18
RRDHOST *host = data;
19
RRDCONTEXT_ACQUIRED *rca = (RRDCONTEXT_ACQUIRED *)dictionary_get_and_acquire_item(host->rrdctx.contexts, sd->context);
20
if(!rca) {
21
- ignored_contexts_on_metrics++;
21
+ ignored_metrics++;
22
// nd_log(NDLS_DAEMON, NDLP_ERR,
23
// "RRDCONTEXT: context '%s' is not found in host '%s' - not loading dimensions",
24
// sd->context, rrdhost_hostname(host));
@@ -29,7 +29,7 @@ static void rrdinstance_load_dimension_callback(SQL_DIMENSION_DATA *sd, void *da
29
RRDINSTANCE_ACQUIRED *ria = (RRDINSTANCE_ACQUIRED *)dictionary_get_and_acquire_item(rc->rrdinstances, sd->chart_id);
30
if(!ria) {
31
rrdcontext_release(rca);
32
- ignored_instances_on_metrics++;
32
+ ignored_metrics++;
33
// nd_log(NDLS_DAEMON, NDLP_ERR,
34
// "RRDCONTEXT: instance '%s' of context '%s' is not found in host '%s' - not loading dimensions",
35
// sd->chart_id, sd->context, rrdhost_hostname(host));
@@ -50,6 +50,7 @@ static void rrdinstance_load_dimension_callback(SQL_DIMENSION_DATA *sd, void *da
50
51
rrdinstance_release(ria);
52
rrdcontext_release(rca);
53
+ loaded_metrics++;
54
}
55
56
static void rrdinstance_load_instance_callback(SQL_CHART_DATA *sc, void *data) {
@@ -57,7 +58,7 @@ static void rrdinstance_load_instance_callback(SQL_CHART_DATA *sc, void *data) {
58
59
RRDCONTEXT_ACQUIRED *rca = (RRDCONTEXT_ACQUIRED *)dictionary_get_and_acquire_item(host->rrdctx.contexts, sc->context);
60
if(!rca) {
60
- ignored_contexts_on_instances++;
61
+ ignored_instances++;
62
// nd_log(NDLS_DAEMON, NDLP_ERR,
63
// "RRDCONTEXT: context '%s' is not found in host '%s' - not loadings instances",
64
// sc->context, rrdhost_hostname(host));
@@ -82,6 +83,7 @@ static void rrdinstance_load_instance_callback(SQL_CHART_DATA *sc, void *data) {
83
84
rrdinstance_release(ria);
85
rrdcontext_release(rca);
86
+ loaded_instances++;
87
}
88
89
static void rrdcontext_load_context_callback(VERSIONED_CONTEXT_DATA *ctx_data, void *data) {
@@ -98,6 +100,7 @@ static void rrdcontext_load_context_callback(VERSIONED_CONTEXT_DATA *ctx_data, v
100
.hub = *ctx_data,
101
};
102
dictionary_set(host->rrdctx.contexts, string2str(trc.id), &trc, sizeof(trc));
103
+ loaded_contexts++;
104
}
105
106
void rrdhost_load_rrdcontext_data(RRDHOST *host) {
@@ -107,22 +110,23 @@ void rrdhost_load_rrdcontext_data(RRDHOST *host) {
110
if (host->rrd_memory_mode != RRD_MEMORY_MODE_DBENGINE)
111
return;
112
110
- ignored_contexts_on_metrics = 0;
111
- ignored_contexts_on_instances = 0;
112
- ignored_instances_on_metrics = 0;
113
+ ignored_metrics = 0;
114
+ ignored_instances = 0;
115
+ loaded_metrics = 0;
116
+ loaded_instances = 0;
117
+ loaded_contexts = 0;
118
119
ctx_get_context_list(&host->host_id.uuid, rrdcontext_load_context_callback, host);
120
ctx_get_chart_list(&host->host_id.uuid, rrdinstance_load_instance_callback, host);
121
ctx_get_dimension_list(&host->host_id.uuid, rrdinstance_load_dimension_callback, host);
122
118
- if(ignored_contexts_on_instances + ignored_contexts_on_metrics + ignored_instances_on_metrics)
119
- nd_log(NDLS_DAEMON, NDLP_WARNING,
120
- "RRDCONTEXT: metadata report for node '%s':"
121
- " did not load %zu contexts and %zu instances while loading metrics, "
122
- " and %zu contexts while loadings instances",
123
- rrdhost_hostname(host),
124
- ignored_contexts_on_metrics, ignored_instances_on_metrics,
125
- ignored_contexts_on_instances);
123
+ nd_log(NDLS_DAEMON, ignored_metrics || ignored_instances ? NDLP_WARNING : NDLP_NOTICE,
124
+ "RRDCONTEXT: metadata for node '%s':"
125
+ " loaded %zu contexts, %zu instances, and %zu metrics,"
126
+ " ignored %zu instances and %zu metrics",
127
+ rrdhost_hostname(host),
128
+ loaded_contexts, loaded_instances, loaded_metrics,
129
+ ignored_instances, ignored_metrics);
130
131
RRDCONTEXT *rc;
132
dfe_start_read(host->rrdctx.contexts, rc) {