risingwavelabs / risingwave

Best-in-class stream processing, analytics, and management. Perform continuous analytics, or build event-driven applications, real-time ETL pipelines, and feature stores in minutes. Unified streaming and batch. PostgreSQL compatible.
https://go.risingwave.com/slack
Apache License 2.0
6.78k stars 561 forks source link

Tools to easily navigate await-tree #18215

Open kwannoel opened 3 weeks ago

kwannoel commented 3 weeks ago

https://github.com/risingwavelabs/risingwave/issues/18176 can work in most cases.

But consider when the blocking duration is an hr. There can be no throughput or actor blocking duration metrics at all, and the graph in the dashboard will just be blank.

In such a scenario only await-tree / cpu flamegraph can tell us what's going on.

I still want some tools to quickly navigate the await-tree to tell us what's the blocking actor.

The await tree dump can be easily parsed and converted into a graph.

kwannoel commented 3 weeks ago

I will just take a try to build this tool. I think that's the easiest way to validate if it works. We can use some existing await-tree samples.