Repository: nifi Updated Branches: refs/heads/master c4d3b5e94 -> 4b4c9e14c
NIFI-5630: Ensure that we include counters in Status History when present Signed-off-by: Pierre Villard <[email protected]> This closes #3026. Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/4b4c9e14 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/4b4c9e14 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/4b4c9e14 Branch: refs/heads/master Commit: 4b4c9e14cb06928fb72cc883fd7c8551e6e8f01c Parents: c4d3b5e Author: Mark Payne <[email protected]> Authored: Mon Sep 24 15:12:35 2018 -0400 Committer: Pierre Villard <[email protected]> Committed: Tue Sep 25 12:24:17 2018 +0200 ---------------------------------------------------------------------- .../status/history/StandardStatusSnapshot.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/4b4c9e14/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/StandardStatusSnapshot.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/StandardStatusSnapshot.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/StandardStatusSnapshot.java index 4662753..fb9112b 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/StandardStatusSnapshot.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/StandardStatusSnapshot.java @@ -30,6 +30,7 @@ public class StandardStatusSnapshot implements StatusSnapshot { private Map<MetricDescriptor<?>, Long> counterValues = null; private Date timestamp = new Date(); + private Set<MetricDescriptor<?>> metricDescriptorsWithCounters = null; public StandardStatusSnapshot(final Set<MetricDescriptor<?>> metricDescriptors) { @@ -49,7 +50,17 @@ public class StandardStatusSnapshot implements StatusSnapshot { @Override public Set<MetricDescriptor<?>> getMetricDescriptors() { - return metricDescriptors; + if (counterValues == null || counterValues.isEmpty()) { + return metricDescriptors; + } else { + if (metricDescriptorsWithCounters == null) { + metricDescriptorsWithCounters = new LinkedHashSet<>(); + metricDescriptorsWithCounters.addAll(metricDescriptors); + metricDescriptorsWithCounters.addAll(counterValues.keySet()); + } + + return metricDescriptorsWithCounters; + } } @Override @@ -75,7 +86,7 @@ public class StandardStatusSnapshot implements StatusSnapshot { } public StandardStatusSnapshot withoutCounters() { - if (counterValues == null) { + if (counterValues == null || counterValues.isEmpty()) { return this; } @@ -90,7 +101,7 @@ public class StandardStatusSnapshot implements StatusSnapshot { @Override public StatusSnapshot reduce(final List<StatusSnapshot> values) { Date reducedTimestamp = null; - final Set<MetricDescriptor<?>> allDescriptors = new LinkedHashSet<>(metricDescriptors); + final Set<MetricDescriptor<?>> allDescriptors = new LinkedHashSet<>(getMetricDescriptors()); for (final StatusSnapshot statusSnapshot : values) { if (reducedTimestamp == null) {
