-
Notifications
You must be signed in to change notification settings - Fork 1.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
Improve top table to better cope with high RPS traffic #1634
Conversation
3149112
to
40f9614
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.
40f9614
to
488d891
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.
⭐️ Nice fix!
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 📦 Left a comment but not a big deal.
* master: Update CHANGES.md for v18.9.1 release (linkerd#1631) Cleanly shutdown tap stream to data plane proxies (linkerd#1624) Change breadcrumb header to default font in styles.css (linkerd#1633) Improve top table to better cope with high RPS traffic (linkerd#1634) Add small success rate chart to table, misc web tweaks (linkerd#1628) Consolidate the source and destination columns in the Tap and Top tables (linkerd#1620) remove extraneous calc function in sidebar.css (linkerd#1632) Display more helpful websocket errors (linkerd#1626) Add breadcrumb navigation at the top of linkerd dashboard (linkerd#1613) Introduce inject check for known sidecars (linkerd#1619) Bump Prometheus to v2.4.0, Grafana to 5.2.4 (linkerd#1625) Improve performance of tap table by throttling updates (linkerd#1623) Add with-source flag to top (linkerd#1614) Conflicts: web/app/css/styles.css web/app/js/components/ResourceDetail.jsx web/app/js/index.js
There are two variables we use to control the volume of Top output, maxRowsToDisplay, which controls how many rows are in the table, and maxRowsToStore, which controls the size of the event index we keep in memory for aggregating results.
Previously, we were only keeping in index maxRowsToDisplay rows, which for the Resource Detail page was 10 (which is really small for high traffic rest-y resource traffic - it causes rows to be deleted from the index too soon, and then causes the data in the table to change a lot). Change this to store maxRowsToStore rows, and also bump this to 50. This allows us to store results for longer, and also ensures more consistent data over time.
Another fix for the appearance of the Top columns is to add fixed widths to the metrics. This will prevent the table from wobbling from side to side. Some widths were added in #1620 and #1628 though, so it'd be helpful to look at widths again once these three branches have merged.
Fixes #1601