JDK itself contains quite a lot of platform MBean which get registered "on demand". Graal compiler (just like classical ones) provides its own MBean(s) - however there is no way to register it "on demand".
The current solution is using a reflection check to find out if the MX bean subsystem is initialized and if so, register programmatically. See:
https://github.com/graalvm/graal/blob/f464ee3b105470b13050e080c9f119bd5f524f9c/compiler/src/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalMBean.java#L88
This has two drawbacks: the Graal MBean is registered with a delay and the approach doesn't really work on JDK9.
JDK9 already contains support for collecting platform MBeans from various modules. We just need to expose it to JVMCI compiler.
The current solution is using a reflection check to find out if the MX bean subsystem is initialized and if so, register programmatically. See:
https://github.com/graalvm/graal/blob/f464ee3b105470b13050e080c9f119bd5f524f9c/compiler/src/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalMBean.java#L88
This has two drawbacks: the Graal MBean is registered with a delay and the approach doesn't really work on JDK9.
JDK9 already contains support for collecting platform MBeans from various modules. We just need to expose it to JVMCI compiler.
- relates to
-
JDK-8187490 HotSpotGraalMBean should be moved to Graal management module
-
- Resolved
-
-
JDK-8187114 Replace Graal's use of the management API
-
- Closed
-