JMC-5703: HighGcRule should report extra needed event types
Mario Torre
neugens at redhat.com
Fri Nov 9 15:24:57 UTC 2018
On Tue, 2018-11-06 at 17:57 +0100, Marcus Hirt wrote:
> Excellent! Please work with Mario to sponsor it!
I applied this patch but I get this wehn building:
flightrecorder.rules.jdk.test ... FAILURE [ 8.283 s]
BUILD FAILURE
Test set:
org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr
---------------------------------------------------------------------
----------
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.66 s
<<< FAILURE! - in
org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr
verifyAllResults(org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRule
sWithJfr) Time elapsed: 6.5 s <<< FAILURE!
java.lang.AssertionError:
Report: "stringdedup_enabled_jdk9.jfr",
Rule: "HighGc".
Description mismatch: "The JVM was paused for 100 % of the time
during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent
performing garbage collection may be reduced by increasing the heap
size or by trying to reduce allocation.<p>To improve rule accuracy
and/or get more details for further investigation, it is recommended to
enable the following event types: 'Allocation in new TLAB', 'Allocation
outside TLAB'." was not equal to "The JVM was paused for 100 % of the
time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent
performing garbage collection may be reduced by increasing the heap
size or by trying to reduce allocation.<p>Some allocation events were
disabled in this recording. Enable them to help with troubleshooting
this problem.".
at
org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyRu
leResults(TestRulesWithJfr.java:159)
at
org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyAl
lResults(TestRulesWithJfr.java:132)
Cheers,
Mario
>
> Kind regards,
>
> Marcus
>
>
>
> From: Ken Dobson <kdobson at redhat.com>
> Date: Tuesday, 6 November 2018 at 17:55
> To: Marcus Hirt <marcus.hirt at oracle.com>
> Cc: <jmc-dev at openjdk.java.net>
> Subject: Re: JMC-5703: HighGcRule should report extra needed event
> types
>
>
>
> Here's the updated patch, there doesn't appear to be any translations
> for it.
>
>
>
> Ken
>
>
>
> diff -r b3a23786ef23
> core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj
> dk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java
> ---
> a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope
> njdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct
> 10 16:43:35 2018 -0400
> +++
> b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope
> njdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov
> 06 11:49:43 2018 -0500
> @@ -86,7 +86,8 @@
> String longMessage = message + " " +
> Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG);
> //$NON-NLS-1$
> if (!RulesToolkit.isEventsEnabled(items,
> JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) {
> longMessage = longMessage + "<p>" //$NON-NLS-1$
> - +
> Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DI
> SABLED);
> + +
> RulesToolkit.getEnabledEventTypesRecommendation(items,
> + JdkTypeIDs.ALLOC_INSIDE_TLAB,
> JdkTypeIDs.ALLOC_OUTSIDE_TLAB);
> }
> return new Result(this, score, message, longMessage,
> JdkQueries.GC_PAUSE);
> }
> diff -r b3a23786ef23
> core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj
> dk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java
> ---
> a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope
> njdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java
> Wed Oct 10 16:43:35 2018 -0400
> +++
> b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope
> njdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java
> Tue Nov 06 11:49:43 2018 -0500
> @@ -298,7 +298,6 @@
> public static final String HighGcRuleFactory_RULE_NAME =
> "HighGcRuleFactory_RULE_NAME"; //$NON-NLS-1$
> public static final String HighGcRuleFactory_TEXT_INFO =
> "HighGcRuleFactory_TEXT_INFO"; //$NON-NLS-1$
> public static final String HighGcRuleFactory_TEXT_INFO_LONG =
> "HighGcRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$
> - public static final String
> HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED =
> "HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED"; //$NON-NLS-1$
> public static final String HighGcRuleFactory_TEXT_OK =
> "HighGcRuleFactory_TEXT_OK"; //$NON-NLS-1$
> public static final String HighJvmCpuRule_AGGR_MAX_ENDTIME =
> "HighJvmCpuRule_AGGR_MAX_ENDTIME"; //$NON-NLS-1$
> public static final String HighJvmCpuRule_AGGR_MIN_ENDTIME =
> "HighJvmCpuRule_AGGR_MIN_ENDTIME"; //$NON-NLS-1$
> diff -r b3a23786ef23
> core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/
> openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.prope
> rties
> ---
> a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/or
> g/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.pro
> perties Wed Oct 10 16:43:35 2018 -0400
> +++
> b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/or
> g/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.pro
> perties Tue Nov 06 11:49:43 2018 -0500
> @@ -321,7 +321,6 @@
> # {0} is a time period, {1} is a time stamp, {2} is a percentage
> HighGcRuleFactory_TEXT_INFO=The JVM was paused for {2} of the time
> during {0} starting at {1}.
> HighGcRuleFactory_TEXT_INFO_LONG=The time spent performing garbage
> collection may be reduced by increasing the heap size or by trying to
> reduce allocation.
> -HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED=Some allocation
> events were disabled in this recording. Enable them to help with
> troubleshooting this problem.
> HighGcRuleFactory_TEXT_OK=The runtime did not spend much time
> performing garbage collections.
> HighJvmCpuRule_AGGR_MAX_ENDTIME=Max End Time
> HighJvmCpuRule_AGGR_MIN_ENDTIME=Min End Time
>
>
>
> On Tue, Nov 6, 2018 at 11:43 AM Marcus Hirt <marcus.hirt at oracle.com>
> wrote:
>
> Hi Ken,
>
> Yes, if it is no longer used, please go ahead and remove both the
> constant and
> the entry in the associated properties files (might as well remove it
> from the
> translated files too).
>
> Kind regards,
> Marcus
>
> On 2018-11-06, 17:08, "jmc-dev on behalf of Ken Dobson" <
> jmc-dev-bounces at openjdk.java.net on behalf of kdobson at redhat.com>
> wrote:
>
> Hi all,
>
> This is a small patch to make the highGcRule consistent with the
> GcFreedRatioRule when reporting extra needed event types.
> Should I remove HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED
> from
> Messages.java given it is no longer used?
>
> Thanks,
>
> Ken Dobson
>
> diff -r b3a23786ef23
> core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/o
> penjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java
> ---
> a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org
> /openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java
> Wed Oct 10 16:43:35 2018 -0400
> +++
> b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org
> /openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java
> Tue Nov 06 10:33:20 2018 -0500
> @@ -84,9 +84,11 @@
> String message =
> MessageFormat.format(Messages.getString(Messages.HighGcRuleFactor
> y_TEXT_INFO),
> duration,
> startTime,
> pausePercent.displayUsing(IDisplayable.AUTO));
> String longMessage = message + " " +
> Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG);
> //$NON-NLS-1$
> if (!RulesToolkit.isEventsEnabled(items,
> JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) {
> longMessage = longMessage + "<p>" //$NON-NLS-1$
> - +
> Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLO
> C_DISABLED);
> + +
> RulesToolkit.getEnabledEventTypesRecommendation(items,
> + JdkTypeIDs.ALLOC_INSIDE_TLAB,
> JdkTypeIDs.ALLOC_OUTSIDE_TLAB);
> }
> return new Result(this, score, message, longMessage,
> JdkQueries.GC_PAUSE);
> }
>
>
>
>
--
Mario Torre
Associate Manager, Software Engineering
Red Hat GmbH <https://www.redhat.com>
9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898
More information about the jmc-dev
mailing list