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

feat(dashboard): enable compression for API & minor refactors #15558

Merged
merged 3 commits into from
Mar 11, 2024

Conversation

BugenZhao
Copy link
Member

@BugenZhao BugenZhao commented Mar 8, 2024

Signed-off-by: Bugen Zhao [email protected]I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.

What's changed and what's your intention?

Add a CompressionLayer for the API backend. This should effectively reduce the transmit size and relieve #15127 in the fastest way.

Take the response size of /fragments/ as an example, which is used for visualizing the stream fragment graph:

Workload Before this PR After this PR
Table (1 parallelism) 4.3 kB 1.5 kB
Table (100 parallelism) 559 kB 9.5 kB
Nexmark Q7 (1 parallelism) 28.5 kB 3.7 kB
Nexmark Q7 (100 parallelism) 3.3 MB 49.8 kB

So I think there's no more need to do manual compression any more, mentioned as a candidate solution in #15127.

Manually reduce the data amount somehow like #13598, as in most cases except for the dispatcher, we do not care about the difference between the node bodies from different actors in the same fragment.

Also do some minor refactors and fixes.

  • Remove unused list_actors API.
  • Correctly handle the NULL value for embedded back pressure metrics where the graph is empty.

Checklist

  • I have written necessary rustdoc comments
  • I have added necessary unit tests and integration tests
  • All checks passed in ./risedev check (or alias, ./risedev c)

Documentation

  • My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note

If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

@BugenZhao BugenZhao requested review from fuyufjh and yezizp2012 March 8, 2024 09:41
@BugenZhao BugenZhao requested a review from a team as a code owner March 8, 2024 09:41
Copy link
Member

@yezizp2012 yezizp2012 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@xxchan xxchan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rubber stamp

@BugenZhao BugenZhao added this pull request to the merge queue Mar 11, 2024
Merged via the queue into main with commit 0b23c9d Mar 11, 2024
32 of 33 checks passed
@BugenZhao BugenZhao deleted the bz/refine-dashboard branch March 11, 2024 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants