-
Notifications
You must be signed in to change notification settings - Fork 590
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
fix(dashboard): fix back-pressure dashboard & some refactorings #15389
Conversation
Partially duplicated with #15380. I'll resolve conflicts after that PR to be merged. |
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.
Rest LGTM
const interval = setInterval(() => { | ||
fetchEmbeddedBackPressure().then( | ||
(newBP) => { | ||
console.log(newBP) |
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.
Maybe remove the log?
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.
Intended. It would help with debugging in some cases. The useFetch()
also prints the log for responses.
dashboard/pages/fragment_graph.tsx
Outdated
switch (backPressureAlgo) { | ||
case "p50": | ||
algoFunc = p50 | ||
break | ||
case "p90": | ||
algoFunc = p90 | ||
break | ||
case "p95": | ||
algoFunc = p95 | ||
break | ||
case "p99": | ||
algoFunc = p99 |
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.
Remove the p50/p90/p95/p99 selections in back-pressure page, which is actually not that thing in your mind
You mentioned this in PR description. So what is you want, the current back pressure rate rather than a percentile in past time range?
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's a bit long story.
The percentiles didn't have a clear definition under this case. For example, the meaning of "the percentile of request latency" is clear and unambiguous: there are usually thousands of requests per seconds, and percentiles are the data points among these thousands of requests. However, in this cases, how to define percentiles of back-pressure? Among all actors, or among all the time? Either doesn't make sense to me.
In the existing implementation
- Average among all actors (written in the PromQL in the Rust code)
- Percentile among the data points during time range (written in web frontend)
I think most users including me don't expect this. After discussion with @BugenZhao, we decided to use average for both. Btw, actually, this part has already been merged in #15380.
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
query_range()
toquery()
in the Rust backend code.EmbeddedBackPressureInfo
and updated atomically.Checklist
./risedev check
(or alias,./risedev c
)Documentation
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.