You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Mark Payne (Jira)" <ji...@apache.org> on 2021/10/19 00:21:00 UTC

[jira] [Created] (NIFI-9309) Improve UI responsiveness

Mark Payne created NIFI-9309:
--------------------------------

             Summary: Improve UI responsiveness
                 Key: NIFI-9309
                 URL: https://issues.apache.org/jira/browse/NIFI-9309
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Core Framework, Core UI
            Reporter: Mark Payne
            Assignee: Mark Payne


There are a few different small improvements that can be made to the backend that will result in far better UI performance in some situations:
 * Include a uiOnly query parameter when the request is made to fetch the flow for a ProcessGroup. This can filter out specific fields such as processor properties & property descriptors. If the UI passes in this query parameter, we can avoid populating much of the DTO objects. This means the request is much smaller so in a cluster, it's much less to deserialize/parse/serialize when merging responses, and it means that the UI has a lot less json to parse.
 * When attempting to access the Variable Registry for a given Process Group, we are very inefficient in how we determine which components are affected by a given variable. Instead of re-compiling the Expression Language for every property, we should do it only once and make that a part of the PropertyConfiguration object and make use of that.
 * When obtaining the bulletins for a given component, we are also very inefficient. We iterate over many RingBuffer objects, filtering entities for each. But if we know the component & process group ID of the component whose bulletins we are interested in, we can instead just jump straight to the appropriate RingBuffer by fetching it from the Map.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)