RFR: 8203359: Container level resources events [v11]

Severin Gehwolf sgehwolf at openjdk.java.net
Wed May 19 10:03:43 UTC 2021


On Mon, 3 May 2021 13:16:06 GMT, Jaroslav Bachorik <jbachorik at openjdk.org> wrote:

>> With this change it becomes possible to surface various cgroup level metrics (available via `jdk.internal.platform.Metrics`) as JFR events.
>> 
>> Only a subset of the metrics exposed by `jdk.internal.platform.Metrics` is turned into JFR events to start with.
>> * CPU related metrics
>> * Memory related metrics
>> * I/O related metrics
>> 
>> For each of those subsystems a configuration data will be emitted as well. The initial proposal is to emit the configuration data events at least once per chunk and the metrics values at 30 seconds interval. 
>> By using these values the emitted events seem to contain useful information without increasing overhead (the metrics values are read from `/proc` filesystem so that should not be done too frequently).
>
> Jaroslav Bachorik has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 10 commits:
> 
>  - Small fixes
>  - Remove trailing spaces
>  - Doh
>  - Report container type and register events conditionally
>  - Remove unused test files
>  - Initial test support for JFR container events
>  - Update the JFR control files
>  - Split off the CPU throttling metrics
>  - Formatting spaces
>  - 8203359: Container level resources events

Changes requested by sgehwolf (Reviewer).

src/jdk.jfr/share/classes/jdk/jfr/events/ContainerMemoryUsageEvent.java line 48:

> 46:     @Description("(attempts per second * 1000), if enabled, that the operating system tries to satisfy a memory request for any " +
> 47:                  "process in the current container when no free memory is readily available.")
> 48:     public double memoryPressure;

Should this `memoryPressure` field go from `ContainerMemoryUsageEvent` class? It's not set anywhere is it? would be cgroup v1 only api so I'm not sure it should be there for a generic event like this.

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

PR: https://git.openjdk.java.net/jdk/pull/3126


More information about the hotspot-jfr-dev mailing list