RFR: 8346264: "Total compile time" counter should include time spent in failing/bailout compiles [v2]
Vladimir Kozlov
kvn at openjdk.org
Mon Dec 16 18:56:44 UTC 2024
On Mon, 16 Dec 2024 11:25:50 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> Noticed this when looking through JMH compiler profiler results.
>>
>> Current `CompilerBroker` counters that are fed into `CompilationMXBean.getTotalCompilationTime()` and JFR `CompilerStatistics` only records the time for successful compilations. If we take a while in compilation and then fail/bail, that time would not be accounted for.
>>
>> While this seems to be a long-standing behavior, there are problems with this:
>> 1. This is not what "total" means.
>> 2. This gives us a blind spot in measuring time taken in failing/bailing compilations.
>> 3. It does not match well the Javadoc for `CompilationMXBean.getTotalCompilationTime()`: "Returns the approximate accumulated elapsed time (in milliseconds) spent in compilation." -- since the time spent in failing/bailing compilation is still time spent in compilation.
>>
>> Additional testing:
>> - [x] Linux x86_64 server release, `jdk/jfr java/lang/management`
>
> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>
> Update comment
Would be nice to add separate time for failed/bailout compilations to get sense how much time we spend in them.
-------------
PR Review: https://git.openjdk.org/jdk/pull/22760#pullrequestreview-2507017038
More information about the hotspot-compiler-dev
mailing list