On 1/29/18 10:35 AM, mandy chung wrote:
Thanks for the reply Paul. Try to understand a little more on the
specific from gc-specific memory pool you depend on.
On 1/29/18 8:27 AM, Hohensee, Paul wrote:
A name change would affect Amazon’s heap monitoring, and thus I
expect it would affect other users as well.
As long as there are gc-specific memory pools, we’re going to need to
be able to identify them, and right now that’s done via name.
MemoryPoolMXBean::getType returns "heap" memory type for GC-specific
memory pools. Are you using this method? Do you use the name to
build in specific characteristic of a memory pool (e.g. eden vs old gen)?
All the mxbeans are identified by name, so that’s a general design
principle. The only way I can think of to get rid of name dependency
would be to figure out what abstract metrics users want to monitor
and implement them for all collectors. HeapUsage (instantaneous
occupancy) is one, CollectionUsage (long-lived occupancy) is another,
both of these for the entire heap, not just particular memory pools.
The sum of HeapUsage and CollectionUsage of all heap memory pools was
expected to give an incorrect approximation for the entire heap
usage. Are you seeing issue/bug with the sum result?
typo: s/an incorrect approximation/an approximation.
Mandy
Mandy
That said, imo there will always be a demand for the ability to get
collector and memory pool specific details, so I don’t see a way to
get around providing named entities.
Paul
*From: *mandy chung <mandy.ch...@oracle.com>
*Organization: *Oracle Corporation
*Date: *Friday, January 26, 2018 at 2:38 PM
*To: *"Hohensee, Paul" <hohen...@amazon.com>, Erik Helin
<erik.he...@oracle.com>, David Holmes <david.hol...@oracle.com>
*Cc: *"serviceability-dev@openjdk.java.net"
<serviceability-dev@openjdk.java.net>,
"hotspot-gc-...@openjdk.java.net" <hotspot-gc-...@openjdk.java.net>
*Subject: *Re: RFR (S): 8195115: G1 Old Gen MemoryPool
CollectionUsage.used values don't reflect mixed GC results
On 1/25/18 1:04 PM, Hohensee, Paul wrote:
> The JMX API spec doesn’t specify what the memory pool or garbage >
collector names are, but the current names are de-facto part of the >
API, so if we change the existing ones, imo a CSR should be filed.
The names are implementation details but I can see how an application
might be impacted if they depend on it. CSR approval is not strictly
necessary while I think filing one to document the change would be
good.
Does the name change impact any application you know of? I'm trying to
understand if any improvement to API is needed so that applications
don't need to depend on the names.
Mandy