rusackas opened a new pull request, #40238: URL: https://github.com/apache/superset/pull/40238
### SUMMARY Addresses a kapa.ai coverage gap on dashboard chart loading and performance. Users repeatedly hit the support bot with three questions that have no clear answer in the docs today: > - is there a maximum chart count per dashboard? > - is there a flag to cap concurrent chart loads on a dashboard? > - is there an option to lazy-load tabs rather than preloading everything? Existing docs mention `DASHBOARD_VIRTUALIZATION` only in the feature-flags listing, with no behavioral detail. The bot has been guessing from GitHub issues and recommending source-reading. This PR adds a single focused page at `/admin-docs/configuration/dashboard-performance` that answers each question authoritatively, drawing the behavioral specifics directly from the code: - **Max chart count**: no hard cap in code or config. Practical thresholds (~25 fine, 25–50 needs tabs, 50+ split or use tabs aggressively) with caveats. - **`DASHBOARD_VIRTUALIZATION`** (default `True`, stable, path-to-deprecation): row-level viewport rendering — chart mounts when within 1 viewport-height of view, unmounts when >4 viewport-heights away. Pulled from `superset-frontend/src/dashboard/components/gridComponents/Row/Row.tsx`. Noted exceptions for embedded mode (no unmount) and headless/bot rendering (no virtualization, so reports include every chart). - **`DASHBOARD_VIRTUALIZATION_DEFER_DATA`** (default `False`): supplementary flag, defers the data fetch on top of the render gating. - **Per-tab lazy loading**: on by default, no flag — tabs render content only when activated. - **Concurrent-query cap**: none in Superset. Browser caps ~6 in-flight per origin; backend bounded by Gunicorn / Celery worker count. - **Splitting strategies** in escalating effort: tabs → cache → async queries → multiple dashboards → warehouse-side pre-aggregation. Cross-links to Caching, Async Queries, Feature Flags docs. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF N/A — new docs page. ### TESTING INSTRUCTIONS ```bash cd docs && yarn install && yarn build ``` Build passes locally with `onBrokenLinks: throw`. New page appears in the sidebar at `/admin-docs/configuration/dashboard-performance` (position 5, grouped with cache + async-queries since they're all perf-related). ### ADDITIONAL INFORMATION - [ ] 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 -- 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]
