Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-9309

Improve UI responsiveness

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.15.0
    • Core Framework, Core UI
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              markap14 Mark Payne
              markap14 Mark Payne
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 50m
                  1h 50m