summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Fragkakis <52996999+stelfrag@users.noreply.github.com>2023-10-29 02:08:22 +0300
committerTasos Katsoulas <12612986+tkatsoulas@users.noreply.github.com>2023-10-30 13:55:09 +0200
commit750ca8ef5393aee927cc59c2c910f45c7c14b703 (patch)
tree3c2c99290921deeca78d367867dc5481d7da454a
parent240f9e71512e9891b44aaf3fcd2db5e3185e7791 (diff)
Marked charts exposed when labels change
-rw-r--r--collectors/systemd-journal.plugin/systemd-journal.c13
-rw-r--r--database/rrdset.c1
2 files changed, 10 insertions, 4 deletions
diff --git a/collectors/systemd-journal.plugin/systemd-journal.c b/collectors/systemd-journal.plugin/systemd-journal.c
index c2bd98e7db..877371120f 100644
--- a/collectors/systemd-journal.plugin/systemd-journal.c
+++ b/collectors/systemd-journal.plugin/systemd-journal.c
@@ -647,7 +647,7 @@ static bool netdata_systemd_filtering_by_journal(sd_journal *j, FACETS *facets,
size_t failures = 0;
size_t filters_added = 0;
- SD_JOURNAL_FOREACH_FIELD(j, field) {
+ SD_JOURNAL_FOREACH_FIELD(j, field) { // for each key
bool interesting;
if(fqs->data_only)
@@ -660,7 +660,7 @@ static bool netdata_systemd_filtering_by_journal(sd_journal *j, FACETS *facets,
bool added_this_key = false;
size_t added_values = 0;
- SD_JOURNAL_FOREACH_UNIQUE(j, data, data_length) {
+ SD_JOURNAL_FOREACH_UNIQUE(j, data, data_length) { // for each value of the key
const char *key, *value;
size_t key_length, value_length;
@@ -673,19 +673,24 @@ static bool netdata_systemd_filtering_by_journal(sd_journal *j, FACETS *facets,
continue;
if(added_keys && !added_this_key) {
- if(sd_journal_add_conjunction(j) < 0)
+ if(sd_journal_add_conjunction(j) < 0) // key AND key AND key
failures++;
added_this_key = true;
added_keys++;
}
else if(added_values)
- if(sd_journal_add_disjunction(j) < 0)
+ if(sd_journal_add_disjunction(j) < 0) // value OR value OR value
failures++;
if(sd_journal_add_match(j, data, data_length) < 0)
failures++;
+ if(!added_keys) {
+ added_keys++;
+ added_this_key = true;
+ }
+
added_values++;
filters_added++;
}
diff --git a/database/rrdset.c b/database/rrdset.c
index cf8b9ef853..92386f45e0 100644
--- a/database/rrdset.c
+++ b/database/rrdset.c
@@ -389,6 +389,7 @@ static void rrdset_react_callback(const DICTIONARY_ITEM *item __maybe_unused, vo
}
rrdset_flag_set(st, RRDSET_FLAG_METADATA_UPDATE);
rrdhost_flag_set(st->rrdhost, RRDHOST_FLAG_METADATA_UPDATE);
+ rrdset_flag_clear(st, RRDSET_FLAG_UPSTREAM_EXPOSED);
}
rrdcontext_updated_rrdset(st);