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 760ee6920c6d4df44e7d2053ac0b1739c88af920 Author: Rob Fellows <[email protected]> AuthorDate: Wed Aug 28 10:54:19 2019 -0400 NIFI-6568 - Properly sort the min estimated time to back pressure in the connection summary table. Also added a js doc comment. --- .../nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js | 6 ++++++ .../src/main/webapp/js/nf/summary/nf-summary-table.js | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js index 13ee565..91d398a 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js @@ -1281,6 +1281,12 @@ } }, + /** + * Formats a number (in milliseconds) to a human-readable textual description. + * + * @param duration number of milliseconds representing the duration + * @return {string|*} a human-readable string + */ formatPredictedDuration: function (duration) { if (duration === 0) { return 'now'; diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js index 4f02e74..7ba9b71 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js @@ -2351,8 +2351,20 @@ return aPercentUseDataSize - bPercentUseDataSize; } } else if (sortDetails.columnId === 'backpressurePrediction') { + // if the connection is at backpressure currently, "now" displays and not the estimate. Should account for that when sorting. + var aMaxCurrentUsage = Math.max(_.get(a, 'percentUseBytes', 0), _.get(a, 'percentUseCount', 0)); + var bMaxCurrentUsage = Math.max(_.get(b, 'percentUseBytes', 0), _.get(b, 'percentUseCount', 0)); + var aMinTime = Math.min(_.get(a, 'predictedMillisUntilBytesBackpressure', Number.MAX_VALUE), _.get(a, 'predictedMillisUntilCountBackpressure', Number.MAX_VALUE)); var bMinTime = Math.min(_.get(b, 'predictedMillisUntilBytesBackpressure', Number.MAX_VALUE), _.get(b, 'predictedMillisUntilCountBackpressure', Number.MAX_VALUE)); + + if (aMaxCurrentUsage >= 100) { + aMinTime = 0; + } + if (bMaxCurrentUsage >= 100) { + bMinTime = 0; + } + return aMinTime - bMinTime; } else if (sortDetails.columnId === 'sent' || sortDetails.columnId === 'received' || sortDetails.columnId === 'input' || sortDetails.columnId === 'output' || sortDetails.columnId === 'transferred') { var aSplit = a[sortDetails.columnId].split(/\(([^)]+)\)/);
