Improve performance of tap table by throttling updates#1623
Merged
Conversation
dadjeibaah
approved these changes
Sep 11, 2018
Contributor
dadjeibaah
left a comment
There was a problem hiding this comment.
Looks great! Thanks for fixing this! Had one comment but I don't think it should block this from being merged.
web/app/js/components/Tap.jsx
Outdated
| this.api = this.props.api; | ||
| this.tapResultsById = {}; | ||
| this.tapResultFilterOptions = this.getInitialTapFilterOptions(); | ||
| this.debouncedWebsocketRecvHandler = _.throttle(this.updateTapResults, 500); |
Contributor
There was a problem hiding this comment.
I am wondering if this should be renamed to throttleWebsocketRecvHandler instead. I realize that this is still called debounced... in TopModule.jsx so it's probably fine to keep it as it is.
Signed-off-by: Kevin Lingerfelt <[email protected]>
Signed-off-by: Kevin Lingerfelt <[email protected]>
e2018fe to
7f95c3d
Compare
zachalbert
added a commit
to zachalbert/linkerd2
that referenced
this pull request
Sep 13, 2018
* 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
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This branch updates the tap table to limit re-rendering to once every 500ms, similar to the approach taken for the top table in #1616. With this change in place I'm able to tap an entire namespace without the page freezing. It's still the case that this table renders pretty slowly (~250ms), but given the 500ms throttling it's not a problem. In the long run, however, I'd like to reduce the amount of data in this table to speed up rendering.
Fixes #1597.