You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ai...@apache.org on 2019/08/28 20:21:01 UTC

[nifi] 08/24: NIFI-6510 Remove redundant connection prediction interfaces as we can just use ConnectionStatusAnalytics directly

This is an automated email from the ASF dual-hosted git repository.

aichrist pushed a commit to branch analytics-framework
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit c02ec441e96eaf0d5c7dc7fb463bc747a3d4a7a7
Author: Andrew I. Christianson <an...@andyic.org>
AuthorDate: Wed Jul 24 12:21:35 2019 -0400

    NIFI-6510 Remove redundant connection prediction interfaces as we can just use ConnectionStatusAnalytics directly
---
 .../status/analytics/StatusAnalytics.java          | 28 ----------------------
 .../analytics/CachingStatusAnalyticEngine.java     | 20 ----------------
 .../status/analytics/StatusAnalyticEngine.java     | 22 -----------------
 .../apache/nifi/reporting/StandardEventAccess.java | 10 ++++----
 4 files changed, 6 insertions(+), 74 deletions(-)

diff --git a/nifi-api/src/main/java/org/apache/nifi/controller/status/analytics/StatusAnalytics.java b/nifi-api/src/main/java/org/apache/nifi/controller/status/analytics/StatusAnalytics.java
index 45e1c12..131531f 100644
--- a/nifi-api/src/main/java/org/apache/nifi/controller/status/analytics/StatusAnalytics.java
+++ b/nifi-api/src/main/java/org/apache/nifi/controller/status/analytics/StatusAnalytics.java
@@ -28,32 +28,4 @@ public interface StatusAnalytics {
      * @return A ConnectionStatusAnalytics object
      */
     ConnectionStatusAnalytics getConnectionStatusAnalytics(String connectionId);
-
-    /**
-     * Returns the predicted time (in milliseconds) when backpressure is expected to be applied to this connection, based on the total number of bytes in the queue.
-     * @return milliseconds until backpressure is predicted to occur, based on the total number of bytes in the queue.
-     * @param connectionId
-     */
-    long getTimeToBytesBackpressureMillis(String connectionId);
-
-    /**
-     * Returns the predicted time (in milliseconds) when backpressure is expected to be applied to this connection, based on the number of objects in the queue.
-     * @return milliseconds until backpressure is predicted to occur, based on the number of objects in the queue.
-     * @param connectionId
-     */
-    long getTimeToCountBackpressureMillis(String connectionId);
-
-    /**
-     * Returns the predicted total number of bytes in the queue to occur at the next configured interval (5 mins in the future, e.g.).
-     * @return milliseconds until backpressure is predicted to occur, based on the total number of bytes in the queue.
-     * @param connectionId
-     */
-    long getNextIntervalBytes(String connectionId);
-
-    /**
-     * Returns the predicted number of objects in the queue to occur at the next configured interval (5 mins in the future, e.g.).
-     * @return milliseconds until backpressure is predicted to occur, based on the number of bytes in the queue.
-     * @param connectionId
-     */
-    int getNextIntervalCount(String connectionId);
 }
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/analytics/CachingStatusAnalyticEngine.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/analytics/CachingStatusAnalyticEngine.java
index 864a5d4..015d6f8 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/analytics/CachingStatusAnalyticEngine.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/analytics/CachingStatusAnalyticEngine.java
@@ -51,26 +51,6 @@ public class CachingStatusAnalyticEngine implements StatusAnalytics {
         return cachedResult;
     }
 
-    @Override
-    public long getTimeToBytesBackpressureMillis(String connectionId) {
-        return 0;
-    }
-
-    @Override
-    public long getTimeToCountBackpressureMillis(String connectionId) {
-        return getConnectionStatusAnalytics(connectionId).getTimeToCountBackpressureMillis();
-    }
-
-    @Override
-    public long getNextIntervalBytes(String connectionId) {
-        return 0;
-    }
-
-    @Override
-    public int getNextIntervalCount(String connectionId) {
-        return 0;
-    }
-
     protected ConnectionStatusAnalytics calculate(SimpleRegression regression, Connection conn){
         long backPressureObjectThreshold = conn.getFlowFileQueue().getBackPressureObjectThreshold();
 
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/analytics/StatusAnalyticEngine.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/analytics/StatusAnalyticEngine.java
index 5a873d5..56c263e 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/analytics/StatusAnalyticEngine.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/analytics/StatusAnalyticEngine.java
@@ -158,7 +158,6 @@ public class StatusAnalyticEngine implements StatusAnalytics {
     public long getMinTimeToBackpressureMillis() {
         ProcessGroup rootGroup = controller.getFlowManager().getRootGroup();
         List<Connection> allConnections = rootGroup.findAllConnections();
-        rootGroup.findConnection("asdf");
         long minTimeToBackpressure = Long.MAX_VALUE;
 
         for (Connection conn : allConnections) {
@@ -169,25 +168,4 @@ public class StatusAnalyticEngine implements StatusAnalytics {
         LOG.info("Min time to backpressure is: " + Long.toString(minTimeToBackpressure));
         return minTimeToBackpressure;
     }
-
-    // TODO - populate the prediction fields. Do we need to pass in connection ID?
-    @Override
-    public long getTimeToCountBackpressureMillis(String connectionId) {
-        return 0;
-    }
-
-    @Override
-    public long getTimeToBytesBackpressureMillis(String connectionId) {
-        return 0;
-    }
-
-    @Override
-    public long getNextIntervalBytes(String connectionId) {
-        return 0;
-    }
-
-    @Override
-    public int getNextIntervalCount(String connectionId) {
-        return 0;
-    }
 }
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/reporting/StandardEventAccess.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/reporting/StandardEventAccess.java
index 87fcd4d..aeb9559 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/reporting/StandardEventAccess.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/reporting/StandardEventAccess.java
@@ -51,6 +51,7 @@ import org.apache.nifi.controller.status.ProcessorStatus;
 import org.apache.nifi.controller.status.RemoteProcessGroupStatus;
 import org.apache.nifi.controller.status.RunStatus;
 import org.apache.nifi.controller.status.TransmissionStatus;
+import org.apache.nifi.controller.status.analytics.ConnectionStatusAnalytics;
 import org.apache.nifi.controller.status.analytics.StatusAnalytics;
 import org.apache.nifi.groups.ProcessGroup;
 import org.apache.nifi.groups.RemoteProcessGroup;
@@ -342,10 +343,11 @@ public class StandardEventAccess implements UserAwareEventAccess {
             }
 
             if (statusAnalytics != null) {
-                connStatus.setPredictedTimeToBytesBackpressureMillis(statusAnalytics.getTimeToBytesBackpressureMillis(conn.getIdentifier()));
-                connStatus.setPredictedTimeToCountBackpressureMillis(statusAnalytics.getTimeToCountBackpressureMillis(conn.getIdentifier()));
-                connStatus.setNextPredictedQueuedBytes(statusAnalytics.getNextIntervalBytes(conn.getIdentifier()));
-                connStatus.setNextPredictedQueuedCount(statusAnalytics.getNextIntervalCount(conn.getIdentifier()));
+                ConnectionStatusAnalytics connectionStatusAnalytics = statusAnalytics.getConnectionStatusAnalytics(conn.getIdentifier());
+                connStatus.setPredictedTimeToBytesBackpressureMillis(connectionStatusAnalytics.getTimeToBytesBackpressureMillis());
+                connStatus.setPredictedTimeToCountBackpressureMillis(connectionStatusAnalytics.getTimeToCountBackpressureMillis());
+                connStatus.setNextPredictedQueuedBytes(connectionStatusAnalytics.getNextIntervalBytes());
+                connStatus.setNextPredictedQueuedCount(connectionStatusAnalytics.getNextIntervalCount());
             }
 
             if (isConnectionAuthorized) {