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]

Reply via email to