kgabryje opened a new pull request #19064:
URL: https://github.com/apache/superset/pull/19064


   ### SUMMARY
   This PR improves the performance of dashboards with complex structure 
(multiple tabs, many levels of nesting, many charts, native filters).
   The main culprit of poor performance was a function used for finding charts 
in filter's scope. `getChartIdsInFilterScope` was written in a very suboptimal 
way, which drastically slowed down loading charts - which was especially 
noticeable when opening a dashboard or switching tabs.
   I've rewritten that function and made a few other improvements, which 
resulted in a much smoother experience.
   The scope of the changes in this PR is related only to native filters and 
cross filters. Performance issues related to filter box were not addressed, as 
the filter box will soon be deprecated in favor of native filters.
   
   The tests were performed on a dashboard with 100+ charts, 70+ tabs, up to 4 
levels of nested tabs, up to 10 charts in a single tab.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   Before:
   
   
https://user-images.githubusercontent.com/15073128/157247412-84be2244-b26c-48b4-9eb4-4005ffc4ebcd.mov
   
   After:
   
   
https://user-images.githubusercontent.com/15073128/157247602-359b5bab-e857-466f-a6d4-dfc8422fcd48.mov
   
   ### TESTING INSTRUCTIONS
   1. Verify that building dashboards works like before
   2. Verify that applying native filters works like before
   3. Verify that applying cross filters works like before
   4. Verify that applying filters from filter box works like before
   
   ### ADDITIONAL INFORMATION
   <!--- Check any relevant boxes with "x" -->
   <!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
   - [ ] Has associated issue:
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
     - [ ] Migration is atomic, supports rollback & is backwards-compatible
     - [ ] Confirm DB migration upgrade and downgrade tested
     - [ ] Runtime estimates and downtime expectations provided
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   
https://app.shortcut.com/preset/story/38683/performance-issues-to-navigate-between-tabs-depending-on-the-amount-of-charts-nested-tabs-on-a-dashboard


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to