RFR: 6657: Add allocation pressure column to Memory and TLAB views

Marcus Hirt hirt at openjdk.java.net
Tue Jan 14 12:20:08 UTC 2020


On Fri, 20 Dec 2019 11:02:57 GMT, Marcus Hirt <hirt at openjdk.org> wrote:

>> @thegreystone 
>> 
>> Thanks for taking a look. I have shortened the names and added translations. I am also looking at moving the percentage aggregators (e.g. JdkAggregators.ALLOC_INSIDE_TLAB_SUM_PERCENTAGE) out of core, probably into the TlabPage related code, as well as adding something there to make it a cleaner solution. 
>> 
>> It's a bit ugly since the aggregator does not compute a percentage itself. I've been toying with writing some helper classes or functions to work over multiple aggregators and item collections but I haven't come up with anything clean and it's outside the scope of this issue, imo.
>> 
>> @egahlin 
>> 
>> Thank you for sharing the screenshot. I like the setup shown there as well. I will see if I can follow-up the changes here with some more adjustments to the Memory/Tlab page UI in JDK Mission Control. 
>> 
>> Having the Stacktrace View be generic and available for all pages has made things a bit more complicated to mimic what you have shown. It may be cool to have some kind of extension functionality such that when a page is visited, the page can augment this generic view with additional columns (e.g. to show allocation pressure by method while on the memory page).
>> 
>> Regarding removal of reference to TLAB and having more advanced options via initially hidden features (e.g. columns), I think what you wrote makes sense. It may be that what you described is  close to what is in JDK Mission Control. The Memory page shows events by class and includes the percentage column for total allocations. It has initially hidden columns for in/out of TLAB related aggregations. The TLAB page on the other hand, (screenshot in initial description) shows these TLAB events and now by thread or by top method. I think the organization of the UI can be improved and I'm going to think about and potentially propose more changes after this. (I should have also included a screenshot of the Memory page...)
> 
> Yep, it's already split up in a general "Memory" page and a TLAB allocations page (which is located under JVM Internals), and which is already grouped by class. The only missing part would be the "Pressure", which is basically Total Allocation (%), added by Jie's PR.
> 
>> It may be cool to have some kind of extension functionality such that when a page is visited, the page can augment this generic view with additional columns (e.g. to show allocation pressure by method while on the memory page).
> 
> Agreed. I believe this is discussed in another already existing issue. We can start a thread on the dev-list to discuss this in more detail.

Note that copyrights need to be updated.

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

PR: https://git.openjdk.java.net/jmc/pull/21


More information about the jmc-dev mailing list