RFR: 7904047: JMH: support async-profiler 4.0 options [v2]

Aleksey Shipilev shade at openjdk.org
Wed Jun 25 10:21:47 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

Looks generally fine. But I am thinking if these changes are compatible with async-profiler 3.0? If not, we need to do some version checks. This code already does some, look around uses of `isVersion1x`.

-------------

PR Review: https://git.openjdk.org/jmh/pull/159#pullrequestreview-2957577575


More information about the jmh-dev mailing list