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) {

Reply via email to