RFR(s): 8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics
David Holmes
david.holmes at oracle.com
Tue Jul 28 13:49:00 UTC 2020
Hi Severin,
On 28/07/2020 11:23 pm, Severin Gehwolf wrote:
> Hi David,
>
> On Tue, 2020-07-28 at 21:17 +1000, David Holmes wrote:
>> Hi Severin,
>>
>> On 28/07/2020 6:27 pm, Severin Gehwolf wrote:
>>> Hi,
>>>
>>> Please review this patch which makes the Java container metrics adhere
>>> to -XX:+/-UseContainerSupport so they can be disabled if heuristics
>>> turn out to be wrong. The approach taken is to use JNI and call into
>>> the JVM in order to determine the setting of UseContainerSupport before
>>> Metrics are being instantiated.
>>>
>>> The intention is for this patch to be backported to older JDKs so as to
>>> provide a means to disable container metrics should things go wrong
>>> with backports of the likes of JDK-8226575.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8250627
>>> webrev: https://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8250627/01/webrev/
>>
>> Seems quite simple and clean.
>>
>> One query though, I'm not clear on who the expected caller of
>> Metrics.getInstance() is? (Coming from the perspective of "might we want
>> to cache the fact container support is not enabled?".)
>
> I know of two uses so far:
>
> 1) Launcher (-XshowSettings:system):
> http://hg.openjdk.java.net/jdk/jdk/file/89fe9e02a522/src/java.base/share/classes/sun/launcher/LauncherHelper.java#l318
>
> 2) OperatingSystemMXBean:
> http://hg.openjdk.java.net/jdk/jdk/file/89fe9e02a522/src/jdk.management/unix/classes/com/sun/management/internal/OperatingSystemImpl.java#l48
>
> Both uses seem OK as is. Is it worth caching something here?
No that looks fine. I didn't find them because of the reflective
invocation in Metrics.systemMetrics().
>> Also note that we no longer update JVM_INTERFACE_VERSION (last update
>> was JDK 13) - it is meaningless now the JDK and hotspot are in sync
>> version wise.
>
> OK. Does that mean I should revert the version increment, then?
I would leave it unchanged, yes.
Thanks,
David
-----
> Thanks,
> Severin
>
>> Thanks,
>> David
>>
>>> Testing: New container test. Existing container tests. jdk/submit.
>>> tier1 on Linux x86_64.
>>>
>>> Thoughts?
>>>
>>> Thanks,
>>> Severin
>>>
>
More information about the core-libs-dev
mailing list