Open BugenZhao opened 1 year ago
This issue has been open for 60 days with no activity.
If you think it is still relevant today, and needs to be done in the near future, you can comment to update the status, or just manually remove the no-issue-activity
label.
You can also confidently close this issue as not planned to keep our backlog clean. Don't worry if you think the issue is still valuable to continue in the future. It's searchable and can be reopened when it's time. 😄
Nodes are multi-functional in our current architecture. For example, the frontend node handles SQL statements from users and also performs simple batch query stages. The compute node is responsible for long-running streaming jobs and also handles batch queries in distributed mode. Sometimes in monotonic deployment, the compute node will also work on compacting storage data.
In order to analyze the workloads separately, we need to include per-thread CPU usage in the metrics. Fortunately, we've already refactored to utilize dedicated async runtimes for each "functionality" and differentiate them with thread names (like
risingwave-main
for RPC,risingwave-streaming-actor
for streaming jobs). So recording the thread names and their CPU usage should be enough.