SV: JMC-5596: Rule to detect if there has been a Full GC with G1 or CMS

Andrew Azores aazores at redhat.com
Tue Dec 11 20:30:50 UTC 2018


On 2018-12-11 7:36 a.m., Marcus Hirt wrote:
> Hi Andrew,
> 
> Looks good, but please fix the associated tests first, then
> I'll take a closer look.
> 
> <--8<-->
> [ERROR] Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 9.674 s <<< FAILURE! - in org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr
> [ERROR] verifyOneResult(org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr)  Time elapsed: 2.398 s  <<< FAILURE!
> java.lang.AssertionError:
> 
> 
> Report for file "allocation_10s_before.jfr", rule result for "FullGc" could not be found in the other report.
>          at org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyRuleResults(TestRulesWithJfr.java:159)
>          at org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyOneResult(TestRulesWithJfr.java:126)
> 
> [ERROR] verifyAllResults(org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr)  Time elapsed: 7.234 s  <<< FAILURE!
> java.lang.AssertionError:
> 
> 
> Report for file "wls-medrec-jdk9.jfr", rule result for "FullGc" could not be found in the other report.
> 
> Report for file "wldf.jfr", rule result for "FullGc" could not be found in the other report.
> 
> Report for file "stringdedup_enabled_jdk9.jfr", rule result for "FullGc" could not be found in the other report.
> 
> Report for file "parallel-on-singlecpu.jfr", rule result for "FullGc" could not be found in the other report.
> 
> Report for file "parallel-gc_cpu.jfr", rule result for "FullGc" could not be found in the other report.
> 
> Report for file "flight_recording_hidden.jfr", rule result for "FullGc" could not be found in the other report.
> 
> Report for file "crash_jdk9.jfr", rule result for "FullGc" could not be found in the other report.
> 
> Report for file "allocation_10s_fixed.jfr", rule result for "FullGc" could not be found in the other report.
> 
> Report for file "allocation_10s_before.jfr", rule result for "FullGc" could not be found in the other report.
>          at org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyRuleResults(TestRulesWithJfr.java:159)
>          at org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyAllResults(TestRulesWithJfr.java:132)
> <--8<-->
> 
> Kind regards,
> Marcus
> 

Ah, sorry for that. Thanks for the notice. An updated patch is attached.

The existing test cases do not fully exercise the rule - the exercised 
pathways are "events emitted but no Full GCs" and "no events emitted", 
so we are missing the path where Full GC events do occur (x2, for each 
collector). Is there a procedure or guideline for adding additional 
flight recordings which do capture this scenario and exercise the rules 
in this manner?

-- 
Andrew Azores
Software Engineer, OpenJDK Team
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fullgcrule-02.patch
Type: text/x-patch
Size: 24374 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/jmc-dev/attachments/20181211/f65809d0/fullgcrule-02-0001.patch>


More information about the jmc-dev mailing list