-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Synthetics] [ON Week] Refactor Synthetics Overview page for increased scalability #187092
Conversation
Pinging @elastic/obs-ux-infra_services-team (Team:obs-ux-infra_services) |
🤖 GitHub commentsExpand to view the GitHub comments
Just comment with:
|
f2e6143
to
3f1822f
Compare
be3963a
to
305d407
Compare
9a29f89
to
b122f3a
Compare
e775825
to
9b1209d
Compare
cfed010
to
f4e1811
Compare
@@ -21,3 +28,49 @@ export function* fetchMonitorOverviewEffect() { | |||
) | |||
); | |||
} | |||
|
|||
export const TRENDS_CHUNK_SIZE = 50; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is good to keep this set to around 40+ ideally, because on most screens where there are enough for the chunk size to matter, the first 40-or-so monitors are getting rendered. After we switched to using msearch
this seems to be no issue from a perf perspective.
caa541a
to
80f8f88
Compare
c70bb71
to
e4ebfe3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM !!
Besides some ux concerns which should be addressed !!
|
Well-spotted. This is another product of us unconditionally rendering the footer. I've added an extra logic gate to rendering that component, now it should not show up during load. |
💚 Build Succeeded
Metrics [docs]Module Count
Async chunks
Unknown metric groupsESLint disabled line counts
Total ESLint disabled count
History
To update your PR or re-run it, just comment with: |
Summary
Resolves #183622.
This is part of some ON Week PoC work I did that introduces React Window and its Infinite Loader to the Synthetics Overview page.
Additionally, I have refactored the way that duration fetching is done for the overview cards; the fetching is now handled at a top-level and as-needed during the infinite scroll. This results in a page that is scrollable all the way to the end of very large amounts of monitors. The example deployment I'm using has about 900 monitors, and in the latest versions of Kibana this dataset causes the overview page to crash the tab.