Re: RFR: 8238665: Add JFR event for direct memory statistics
Denghui Dong
denghui.ddh at alibaba-inc.com
Thu Mar 5 02:44:26 UTC 2020
Hi Erik,
Updated.
Webrev: http://cr.openjdk.java.net/~ddong/8238665/webrev.01/
Thanks
Denghui Dong
------------------------------------------------------------------
From:Erik Gahlin <erik.gahlin at oracle.com>
Send Time:2020年3月5日(星期四) 06:33
To:董登辉(卓昂) <denghui.ddh at alibaba-inc.com>
Cc:hotspot-jfr-dev <hotspot-jfr-dev at openjdk.java.net>
Subject:Re: RFR: 8238665: Add JFR event for direct memory statistics
Hi Denghui,
Looking through you patch again.
Could you add copyright headers, and change “5000 ms” to “5 s” in the .jfc files. When you reply with the updated patch, could you please include core-libs-dev at openjdk.java.net in the reply since you are modifying exports in java.base.
Thanks
Erik
On 4 Mar 2020, at 20:35, Erik Gahlin <erik.gahlin at oracle.com> wrote:
Hi Denghui,
I have tested your fix and it seems to work. TestDefaultConfiguration takes into account the event is periodic, so it doesn't complain as I expected.
Looks good. I can sponsor this.
Thanks
Erik
On 3 Mar 2020, at 07:14, Denghui Dong <denghui.ddh at alibaba-inc.com> wrote:
Hi Erik,
I agree with you that the default interval should be changed to 5s, the webrev (http://cr.openjdk.java.net/~ddong/8238665/webrev.01/) has been updated.
No need to modify TestDefaultConfigurations.java, it is passed.
Testing
(Linux release/slow debug build): jdk/jfr, all passed except TestNativeLibrariesEvent and TestNetworkUtilizationEvent(unstable). And these two test failures were not caused by this patch.
And there were some test errors in slow debug build, I have checked the error test list and confirm they are also error in slow debug build without this patch, such as TestRecordedFrame.
There are two new files in this patch, should I add copyright header to them?
Thanks
Denghui Dong
------------------------------------------------------------------
From:Erik Gahlin <erik.gahlin at oracle.com>
Send Time:2020年3月3日(星期二) 04:08
To:董登辉(卓昂) <denghui.ddh at alibaba-inc.com>
Cc:hotspot-jfr-dev <hotspot-jfr-dev at openjdk.java.net>
Subject:Re: RFR: 8238665: Add JFR event for direct memory statistics
Hi Denghui,
Thanks for the explanation.
I think the default interval could be increased to once every 5 seconds.
Have you run the all the tests in test/jdk/jdk/jfr? I would expect TestDefaultConfigurations to have failed unless modified.
Thanks
Erik
On 2020-02-26 14:40, 董登辉(卓昂) wrote:
PING: Could you review it?
Bug: https://bugs.openjdk.java.net/browse/JDK-8238665
Webrev: http://cr.openjdk.java.net/~ddong/8238665/webrev.01/
------------------------------------------------------------------
From:董登辉(卓昂) <denghui.ddh at alibaba-inc.com>
Send Time:2020年2月11日(星期二) 16:13
To:Erik Gahlin <erik.gahlin at oracle.com>
Cc:hotspot-jfr-dev <hotspot-jfr-dev at openjdk.java.net>
Subject:Re: RFR: 8238665: Add JFR event for direct memory statistics
Hi Erik,
Thanks for the review. See answers embedded.
New webrev: http://cr.openjdk.java.net/~ddong/8238665/webrev.01/
On Feb 11, 2020, at 1:52 AM, Erik Gahlin <erik.gahlin at oracle.com> wrote:
Hi Denghiu,
Can you explain when this event can be useful, i.e. when troubleshooting x etc.? This makes it easier to determine if the event should be on by default, if it is worth the increased startup cost that the instrumentation creates and what a reasonable period for the event should be.
Many Java middleware(e.g. Netty) and applications use direct memory for achieving higher performance, if java process use too much direct memory, some exceptions will occur, such as oom-killer. Hence, it’s necessary to monitor it, and we use JMX to monitor it in our production environment currently.
src/jdk.jfr/share/classes/jdk/jfr/events/DirectMemoryStatisticsEvent.java:
@Label("TotalCapacity") -> @Label("Total Capacity")
@Label("MemoryUsed") -> @Label("Memory Used”)
Updated
What is meant by 'limit'? Could we have a better field name and/or description that explains what this fields contains, because it is not obvious from that name. Fields that contains bytes, should have the DataAmount; annotation.
What is the value if -XX:MaxDirectMemorySize has not been set?
limit -> maxCapacity
if -XX:MaxDirectMemorySize has not been set, the value of Runtime.getRuntime().maxMemory() will be used.
Can you make the event class final.
Updated
@StackTrace(false) should not be needed.
Removed
test/jdk/jdk/jfr/event/runtime/TestDirectMemoryStatisticsEvent.java:
Use try-with-resources on the Recording object.
Updated
Thanks
Denghui Dong
Thanks
Erik
On 2020-02-07 06:24, Denghui Dong wrote:
Hi,
Could I have a review of a change that adds JFR event for direct memory statistics
Bug: https://bugs.openjdk.java.net/browse/JDK-8238665
Webrev: http://cr.openjdk.java.net/~ddong/8238665/webrev.00/
Test: test/jdk/jdk/jfr/event/runtime/TestDirectMemoryStatisticsEvent.java
Thanks
Denghui Dong
More information about the hotspot-jfr-dev
mailing list