alamb opened a new issue, #2174: URL: https://github.com/apache/arrow-datafusion/issues/2174
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.** I want to make flamegraphs to understand performance of PRs like https://github.com/apache/arrow-datafusion/pull/2146 from @yjshen and other benchmarks in a cross platform, easy to use way. I don't want to switch between Instruments on Mac to `perf` on linux It is not easy to get them (see [this mailing list topic](https://lists.apache.org/thread/hnpzq41zt7csfnds9m652brf18xr6sb6), and I hit the same "flamegraph takes forever to make" issue when I tried to run this on my development machine **Describe the solution you'd like** Use code in [pprof crate](https://crates.io/crates/pprof) -- @mkmik did this in [`influxdb_iox`](https://github.com/influxdata/influxdb_iox/pulls) have used it to good effect in IOx So this would look like adding an optional feature `pprof` to benchmark program that would generate flamegraphs and profile.proto format output. You would run it like this: ```shell # --profile also writes flamegraph.svg and profile.proto files target/release/tpch benchmark datafusion --profile --iterations 3 --path /tpch-parquet --format parquet --query 1 ``` You could use the `profile.proto` in the (excellent) golang tooling like: ``` go tool pprof cpu.prof ``` **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. **Additional context** Add any other context or screenshots about the feature request here. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
