Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: add lazy loading for dashboard #859

Merged
merged 5 commits into from
Mar 25, 2021
Merged

WIP: add lazy loading for dashboard #859

merged 5 commits into from
Mar 25, 2021

Conversation

ukutaht
Copy link
Contributor

@ukutaht ukutaht commented Mar 19, 2021

Changes

I noticed that a lot of queries to CH run considerably faster when run in isolation vs when loading the whole dashboard. When loading the dashboard, we fire about 10 separate queries to Clickhouse. I believe all these concurrent queries are competing for CPU and RAM resources.

By loading only the data that is visible in the user's viewport, we can reduce the number of concurrent queries which should free up resources for the queries that are most important (i.e. visible part of the dashboard)

Thanks @Vigasaurus for the work on sticky header. I'm taking the InteractionObserver code as base for the LazyLoader.

Tests

  • This PR does not require tests

Changelog

  • Entry has been added to changelog

Documentation

  • This change does not need a documentation update

@ukutaht ukutaht marked this pull request as ready for review March 25, 2021 09:54
@ukutaht ukutaht merged commit 01538c9 into master Mar 25, 2021
@ukutaht ukutaht deleted the lazy-loading branch March 25, 2021 09:55
ukutaht added a commit that referenced this pull request Mar 31, 2021
* WIP: add lazy loading for dashboard

* Improve error handling

* WIP

* Implement lazy loading for most reports

* Add lazy loading to conversions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant