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)

Reply via email to