RFR: 7904047: JMH: support async-profiler 4.0 options [v2]
Galder Zamarreño
galder at openjdk.org
Thu Jun 26 11:13:42 UTC 2025
On Wed, 25 Jun 2025 01:21:15 GMT, Andrei Pangin <apangin at openjdk.org> wrote:
>> JMH has built-in capability for running benchmarks with async-profiler. `-prof async` supports commonly used async-profiler options, however, these options became a bit outdated and don't reflect features appeared in async-profiler 3.0 and 4.0.
>>
>> Async-profiler users [get confused](https://github.com/async-profiler/async-profiler/discussions/1345) why certain async-profiler options don't work with JMH.
>>
>> This PR:
>> - updates async-profiler stack walking modes: `dwarf`, `vm`, `vmx`;
>> - adds native memory profiling option;
>> - adds OTLP output format;
>> - introduces `norm` and `lib` flags for tuning async-profiler frame names;
>> - fixes minor inaccuracies in option description.
>
> Andrei Pangin has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:
>
> 7904047: JMH: support async-profiler 4.0 options
I agree with @shipilev about making it work with both 3.x and 4.x.
I'm unsure it'll work out of the box, but it'd be interesting to try this profiler against a [GraalVM native image JMH benchmark](https://github.com/galderz/fibula) now that dwarf stack traces are understood in 4.0. I'll create a tracker there.
-------------
PR Review: https://git.openjdk.org/jmh/pull/159#pullrequestreview-2961705266
More information about the jmh-dev
mailing list