diff --git a/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/common/FlavorSelector.java b/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/common/FlavorSelector.java index 96e57833c1..cce5e5dcbe 100644 --- a/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/common/FlavorSelector.java +++ b/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/common/FlavorSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -246,7 +246,7 @@ private FlavorSelector(Form form, IItemFilter filter, List<IAttribute<?>> attrib Composite selectorRow = new Composite(container, SWT.NONE); selectorRow .setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).create()); - selectorRow.setLayout(GridLayoutFactory.swtDefaults().numColumns(9).create()); + selectorRow.setLayout(GridLayoutFactory.swtDefaults().numColumns(10).create()); // useSelectionButton = new Button(selectorRow, SWT.CHECK); // useSelectionButton.setLayoutData(GridDataFactory.swtDefaults().create()); @@ -255,6 +255,10 @@ private FlavorSelector(Form form, IItemFilter filter, List<IAttribute<?>> attrib // useSelectionButton.setSelection(pageContainer.getSelectionStore().isCurrentActive()); // useSelectionButton.addSelectionListener(new SelectionCheckboxSelectionListener()); + Label selectionLabel = new Label(selectorRow, SWT.NONE); + selectionLabel.setLayoutData(GridDataFactory.swtDefaults().create()); + selectionLabel.setText(Messages.FlavorSelector_LABEL_SELECTION); + selectionCombo = new ComboViewer(selectorRow); selectionCombo.getCombo().setLayoutData(GridDataFactory.swtDefaults().hint(200, SWT.DEFAULT) .minSize(100, SWT.DEFAULT).grab(false, false).create()); diff --git a/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/messages/internal/Messages.java b/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/messages/internal/Messages.java index 0bef0e1219..ead689f148 100644 --- a/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/messages/internal/Messages.java +++ b/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/messages/internal/Messages.java @@ -175,6 +175,7 @@ public class Messages extends NLS { public static String FlavorSelector_BUTTON_TIMERANGE_SET; public static String FlavorSelector_BUTTON_TIMERANGE_SET_TOOLTIP; public static String FlavorSelector_LABEL_ASPECT; + public static String FlavorSelector_LABEL_SELECTION; public static String FlavorSelector_LABEL_NO_SELECTION; public static String FlavorSelector_LABEL_TIMERANGE; public static String GCConfigurationPage_PAGE_NAME; diff --git a/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/views/stacktrace/StacktraceView.java b/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/views/stacktrace/StacktraceView.java index d6cb092eba..b1ff2cddf9 100644 --- a/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/views/stacktrace/StacktraceView.java +++ b/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/views/stacktrace/StacktraceView.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -764,12 +764,12 @@ public String getToolTipText(Object element) { String frameFraction = UnitLookup.PERCENT_UNITY.quantity(itemCount / (double) totalCount) .displayUsing(IDisplayable.AUTO); StringBuilder sb = new StringBuilder("<form>"); //$NON-NLS-1$ - sb.append("<li style='image' value='" + COUNT_IMG_KEY + "'>"); //$NON-NLS-1$ //$NON-NLS-2$ + sb.append("<li style='image' value='" + COUNT_IMG_KEY + "'><span nowrap='true'>"); //$NON-NLS-1$ //$NON-NLS-2$ sb.append(Messages.stackTraceMessage(itemCount, totalCount, frameFraction)); - sb.append("</li>"); //$NON-NLS-1$ - sb.append("<li style='image' value='" + SIBLINGS_IMG_KEY + "'>"); //$NON-NLS-1$ //$NON-NLS-2$ + sb.append("</span></li>"); //$NON-NLS-1$ + sb.append("<li style='image' value='" + SIBLINGS_IMG_KEY + "'><span nowrap='true'>"); //$NON-NLS-1$ //$NON-NLS-2$ sb.append(Messages.siblingMessage(itemsInSiblings, parentFork.getBranchCount() - 1)); - sb.append("</li>"); //$NON-NLS-1$ + sb.append("</span></li>"); //$NON-NLS-1$ sb.append("</form>"); //$NON-NLS-1$ return sb.toString(); } diff --git a/application/org.openjdk.jmc.flightrecorder.ui/src/main/resources/org/openjdk/jmc/flightrecorder/ui/messages/internal/messages.properties b/application/org.openjdk.jmc.flightrecorder.ui/src/main/resources/org/openjdk/jmc/flightrecorder/ui/messages/internal/messages.properties index 6b214a1176..924b5df612 100644 --- a/application/org.openjdk.jmc.flightrecorder.ui/src/main/resources/org/openjdk/jmc/flightrecorder/ui/messages/internal/messages.properties +++ b/application/org.openjdk.jmc.flightrecorder.ui/src/main/resources/org/openjdk/jmc/flightrecorder/ui/messages/internal/messages.properties @@ -271,6 +271,7 @@ FlavorSelector_BUTTON_TIMERANGE_CLEAR_TOOLTIP=Clear time range zoom on page FlavorSelector_BUTTON_TIMERANGE_SET=Set FlavorSelector_BUTTON_TIMERANGE_SET_TOOLTIP=Zoom to time range on relevant places on the page FlavorSelector_LABEL_ASPECT=Aspect: +FlavorSelector_LABEL_SELECTION=Focus: FlavorSelector_LABEL_NO_SELECTION=No selection stored FlavorSelector_LABEL_TIMERANGE=Time Range: diff --git a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInArgumentsRule.java b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInArgumentsRule.java index e3e4213b5b..9cc09a9d67 100644 --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInArgumentsRule.java +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInArgumentsRule.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -32,9 +32,12 @@ */ package org.openjdk.jmc.flightrecorder.rules.jdk.general; +import static org.openjdk.jmc.common.unit.UnitLookup.PLAIN_TEXT; + import java.text.MessageFormat; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; +import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; import java.util.concurrent.RunnableFuture; @@ -42,6 +45,8 @@ import java.util.regex.Pattern; import org.openjdk.jmc.common.item.IItemCollection; +import org.openjdk.jmc.common.item.IItemFilter; +import org.openjdk.jmc.common.item.ItemFilters; import org.openjdk.jmc.common.util.IPreferenceValueProvider; import org.openjdk.jmc.common.util.TypedPreference; import org.openjdk.jmc.flightrecorder.jdk.JdkAttributes; @@ -60,12 +65,28 @@ public class PasswordsInArgumentsRule implements IRule { private static final String PWD_RESULT_ID = "PasswordsInArguments"; //$NON-NLS-1$ + public static final TypedPreference<String> EXCLUDED_STRINGS_REGEXP = new TypedPreference<>( + "passwordsinargs.string.exclude.regexp", //$NON-NLS-1$ + Messages.getString(Messages.PasswordsInArgsRule_CONFIG_EXCLUDED_STRINGS), + Messages.getString(Messages.PasswordsInArgsRule_CONFIG_EXCLUDED_STRINGS_LONG), PLAIN_TEXT.getPersister(), + ".*(passworld|passwise).*"); //$NON-NLS-1$ + + private static final List<TypedPreference<?>> CONFIG_ATTRIBUTES = Arrays + .<TypedPreference<?>> asList(EXCLUDED_STRINGS_REGEXP); + private Result getResult(IItemCollection items, IPreferenceValueProvider valueProvider) { EventAvailability eventAvailability = RulesToolkit.getEventAvailability(items, JdkTypeIDs.VM_INFO); if (eventAvailability != EventAvailability.AVAILABLE) { return RulesToolkit.getEventAvailabilityResult(this, items, eventAvailability, JdkTypeIDs.VM_INFO); } + String stringExcludeRegexp = valueProvider.getPreferenceValue(EXCLUDED_STRINGS_REGEXP).trim(); + if (!stringExcludeRegexp.isEmpty()) { + IItemFilter matchesExclude = ItemFilters.matches(JdkAttributes.JAVA_ARGUMENTS, stringExcludeRegexp); + IItemFilter stringsExcludingExclude = ItemFilters.and(ItemFilters.type(JdkTypeIDs.VM_INFO), + ItemFilters.not(matchesExclude)); + items = items.apply(stringsExcludingExclude); + } String pwds = RulesToolkit.findMatches(JdkTypeIDs.VM_INFO, items, JdkAttributes.JAVA_ARGUMENTS, PASSWORD_MATCH_STRING, true); if (pwds != null && pwds.length() > 0) { @@ -87,6 +108,10 @@ private Result getResult(IItemCollection items, IPreferenceValueProvider valuePr pwds = passwords.toString(); String message = MessageFormat .format(Messages.getString(Messages.PasswordsInArgsRule_JAVAARGS_TEXT_INFO_LONG), pwds); + if (!stringExcludeRegexp.isEmpty()) { + message = message + " " + MessageFormat.format( + Messages.getString(Messages.PasswordsInArgsRule_TEXT_INFO_EXCLUDED_INFO), stringExcludeRegexp); + } return new Result(this, 100, Messages.getString(Messages.PasswordsInArgsRule_JAVAARGS_TEXT_INFO), message); } return new Result(this, 0, Messages.getString(Messages.PasswordsInArgsRule_TEXT_OK)); @@ -105,7 +130,7 @@ public Result call() throws Exception { @Override public Collection<TypedPreference<?>> getConfigurationAttributes() { - return Collections.emptyList(); + return CONFIG_ATTRIBUTES; } @Override diff --git a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInEnvironmentRule.java b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInEnvironmentRule.java index 02104bea53..b61f7dbc2c 100644 --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInEnvironmentRule.java +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInEnvironmentRule.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -32,14 +32,19 @@ */ package org.openjdk.jmc.flightrecorder.rules.jdk.general; +import static org.openjdk.jmc.common.unit.UnitLookup.PLAIN_TEXT; + import java.text.MessageFormat; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; +import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; import java.util.concurrent.RunnableFuture; import org.openjdk.jmc.common.item.IItemCollection; +import org.openjdk.jmc.common.item.IItemFilter; +import org.openjdk.jmc.common.item.ItemFilters; import org.openjdk.jmc.common.util.IPreferenceValueProvider; import org.openjdk.jmc.common.util.TypedPreference; import org.openjdk.jmc.flightrecorder.jdk.JdkAttributes; @@ -55,6 +60,15 @@ public class PasswordsInEnvironmentRule implements IRule { private static final String PWD_RESULT_ID = "PasswordsInEnvironment"; //$NON-NLS-1$ + public static final TypedPreference<String> EXCLUDED_STRINGS_REGEXP = new TypedPreference<>( + "passwordsinenvironment.string.exclude.regexp", //$NON-NLS-1$ + Messages.getString(Messages.PasswordsInEnvironmentRuleFactory_CONFIG_EXCLUDED_STRINGS), + Messages.getString(Messages.PasswordsInEnvironmentRuleFactory_CONFIG_EXCLUDED_STRINGS_LONG), + PLAIN_TEXT.getPersister(), "(passworld|passwise)"); //$NON-NLS-1$ + + private static final List<TypedPreference<?>> CONFIG_ATTRIBUTES = Arrays + .<TypedPreference<?>> asList(EXCLUDED_STRINGS_REGEXP); + private Result getResult(IItemCollection items, IPreferenceValueProvider valueProvider) { EventAvailability eventAvailability = RulesToolkit.getEventAvailability(items, JdkTypeIDs.ENVIRONMENT_VARIABLE); if (eventAvailability != EventAvailability.AVAILABLE) { @@ -62,6 +76,13 @@ private Result getResult(IItemCollection items, IPreferenceValueProvider valuePr JdkTypeIDs.ENVIRONMENT_VARIABLE); } + String stringExcludeRegexp = valueProvider.getPreferenceValue(EXCLUDED_STRINGS_REGEXP).trim(); + if (!stringExcludeRegexp.isEmpty()) { + IItemFilter matchesExclude = ItemFilters.matches(JdkAttributes.ENVIRONMENT_KEY, stringExcludeRegexp); + IItemFilter stringsExcludingExclude = ItemFilters.and(ItemFilters.type(JdkTypeIDs.ENVIRONMENT_VARIABLE), + ItemFilters.not(matchesExclude)); + items = items.apply(stringsExcludingExclude); + } // FIXME: Should extract set of variable names instead of joined string String pwds = RulesToolkit.findMatches(JdkTypeIDs.ENVIRONMENT_VARIABLE, items, JdkAttributes.ENVIRONMENT_KEY, PasswordsInArgumentsRule.PASSWORD_MATCH_STRING, true); @@ -77,6 +98,12 @@ private Result getResult(IItemCollection items, IPreferenceValueProvider valuePr pwds = passwords.toString(); String message = MessageFormat .format(Messages.getString(Messages.PasswordsInEnvironmentRuleFactory_TEXT_INFO_LONG), pwds); + if (!stringExcludeRegexp.isEmpty()) { + message = message + " " + + MessageFormat.format( + Messages.getString(Messages.PasswordsInEnvironmentRuleFactory_TEXT_INFO_EXCLUDED_INFO), + stringExcludeRegexp); + } return new Result(this, 100, Messages.getString(Messages.PasswordsInEnvironmentRuleFactory_TEXT_INFO), message); } @@ -96,7 +123,7 @@ public Result call() throws Exception { @Override public Collection<TypedPreference<?>> getConfigurationAttributes() { - return Collections.emptyList(); + return CONFIG_ATTRIBUTES; } @Override diff --git a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInSystemPropertiesRule.java b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInSystemPropertiesRule.java index 5f4955bb7b..81bad4c95e 100644 --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInSystemPropertiesRule.java +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/PasswordsInSystemPropertiesRule.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -32,14 +32,19 @@ */ package org.openjdk.jmc.flightrecorder.rules.jdk.general; +import static org.openjdk.jmc.common.unit.UnitLookup.PLAIN_TEXT; + import java.text.MessageFormat; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; +import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; import java.util.concurrent.RunnableFuture; import org.openjdk.jmc.common.item.IItemCollection; +import org.openjdk.jmc.common.item.IItemFilter; +import org.openjdk.jmc.common.item.ItemFilters; import org.openjdk.jmc.common.util.IPreferenceValueProvider; import org.openjdk.jmc.common.util.TypedPreference; import org.openjdk.jmc.flightrecorder.jdk.JdkAttributes; @@ -53,9 +58,17 @@ import org.owasp.encoder.Encode; public class PasswordsInSystemPropertiesRule implements IRule { - private static final String PWD_RESULT_ID = "PasswordsInSystemProperties"; //$NON-NLS-1$ + public static final TypedPreference<String> EXCLUDED_STRINGS_REGEXP = new TypedPreference<>( + "passwordsinsystemproperties.string.exclude.regexp", //$NON-NLS-1$ + Messages.getString(Messages.PasswordsInSystemPropertiesRule_CONFIG_EXCLUDED_STRINGS), + Messages.getString(Messages.PasswordsInSystemPropertiesRule_CONFIG_EXCLUDED_STRINGS_LONG), + PLAIN_TEXT.getPersister(), "(passworld|passwise)"); //$NON-NLS-1$ + + private static final List<TypedPreference<?>> CONFIG_ATTRIBUTES = Arrays + .<TypedPreference<?>> asList(EXCLUDED_STRINGS_REGEXP); + private Result getResult(IItemCollection items, IPreferenceValueProvider valueProvider) { EventAvailability eventAvailability = RulesToolkit.getEventAvailability(items, JdkTypeIDs.SYSTEM_PROPERTIES); if (eventAvailability != EventAvailability.AVAILABLE) { @@ -63,6 +76,13 @@ private Result getResult(IItemCollection items, IPreferenceValueProvider valuePr JdkTypeIDs.SYSTEM_PROPERTIES); } + String stringExcludeRegexp = valueProvider.getPreferenceValue(EXCLUDED_STRINGS_REGEXP).trim(); + if (!stringExcludeRegexp.isEmpty()) { + IItemFilter matchesExclude = ItemFilters.matches(JdkAttributes.ENVIRONMENT_KEY, stringExcludeRegexp); + IItemFilter stringsExcludingExclude = ItemFilters.and(ItemFilters.type(JdkTypeIDs.SYSTEM_PROPERTIES), + ItemFilters.not(matchesExclude)); + items = items.apply(stringsExcludingExclude); + } // FIXME: Should extract set of property names instead of joined string String pwds = RulesToolkit.findMatches(JdkTypeIDs.SYSTEM_PROPERTIES, items, JdkAttributes.ENVIRONMENT_KEY, PasswordsInArgumentsRule.PASSWORD_MATCH_STRING, true); @@ -78,6 +98,12 @@ private Result getResult(IItemCollection items, IPreferenceValueProvider valuePr pwds = passwords.toString(); String message = MessageFormat .format(Messages.getString(Messages.PasswordsInSystemPropertiesRule_TEXT_INFO_LONG), pwds); + if (!stringExcludeRegexp.isEmpty()) { + message = message + " " + + MessageFormat.format( + Messages.getString(Messages.PasswordsInSystemPropertiesRule_TEXT_INFO_EXCLUDED_INFO), + stringExcludeRegexp); + } return new Result(this, 100, Messages.getString(Messages.PasswordsInSystemPropertiesRule_TEXT_INFO), message); } @@ -97,7 +123,7 @@ public Result call() throws Exception { @Override public Collection<TypedPreference<?>> getConfigurationAttributes() { - return Collections.emptyList(); + return CONFIG_ATTRIBUTES; } @Override diff --git a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java index 489461e061..f14cfc591c 100644 --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java @@ -460,16 +460,25 @@ public class Messages { public static final String ParGcFewThreadsRuleFactory_TEXT_INFO_LONG = "ParGcFewThreadsRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ public static final String ParallelOnSingleCpuRuleFactory_TEXT_INFO = "ParallelOnSingleCpuRuleFactory_TEXT_INFO"; //$NON-NLS-1$ public static final String ParallelOnSingleCpuRuleFactory_TEXT_INFO_LONG = "ParallelOnSingleCpuRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ + public static final String PasswordsInArgsRule_CONFIG_EXCLUDED_STRINGS = "PasswordsInArgsRule_CONFIG_EXCLUDED_STRINGS"; //$NON-NLS-1$ + public static final String PasswordsInArgsRule_CONFIG_EXCLUDED_STRINGS_LONG = "PasswordsInArgsRule_CONFIG_EXCLUDED_STRINGS_LONG"; //$NON-NLS-1$ public static final String PasswordsInArgsRule_JAVAARGS_TEXT_INFO = "PasswordsInArgsRule_JAVAARGS_TEXT_INFO"; //$NON-NLS-1$ public static final String PasswordsInArgsRule_JAVAARGS_TEXT_INFO_LONG = "PasswordsInArgsRule_JAVAARGS_TEXT_INFO_LONG"; //$NON-NLS-1$ public static final String PasswordsInArgsRule_RULE_NAME = "PasswordsInArgsRule_RULE_NAME"; //$NON-NLS-1$ + public static final String PasswordsInArgsRule_TEXT_INFO_EXCLUDED_INFO = "PasswordsInArgsRule_TEXT_INFO_EXCLUDED_INFO"; //$NON-NLS-1$ public static final String PasswordsInArgsRule_TEXT_OK = "PasswordsInArgsRule_TEXT_OK"; //$NON-NLS-1$ + public static final String PasswordsInEnvironmentRuleFactory_CONFIG_EXCLUDED_STRINGS = "PasswordsInEnvironmentRuleFactory_CONFIG_EXCLUDED_STRINGS"; //$NON-NLS-1$ + public static final String PasswordsInEnvironmentRuleFactory_CONFIG_EXCLUDED_STRINGS_LONG = "PasswordsInEnvironmentRuleFactory_CONFIG_EXCLUDED_STRINGS_LONG"; //$NON-NLS-1$ public static final String PasswordsInEnvironmentRuleFactory_RULE_NAME = "PasswordsInEnvironmentRuleFactory_RULE_NAME"; //$NON-NLS-1$ public static final String PasswordsInEnvironmentRuleFactory_TEXT_INFO = "PasswordsInEnvironmentRuleFactory_TEXT_INFO"; //$NON-NLS-1$ + public static final String PasswordsInEnvironmentRuleFactory_TEXT_INFO_EXCLUDED_INFO = "PasswordsInEnvironmentRuleFactory_TEXT_INFO_EXCLUDED_INFO"; //$NON-NLS-1$ public static final String PasswordsInEnvironmentRuleFactory_TEXT_INFO_LONG = "PasswordsInEnvironmentRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ public static final String PasswordsInEnvironmentRuleFactory_TEXT_OK = "PasswordsInEnvironmentRuleFactory_TEXT_OK"; //$NON-NLS-1$ + public static final String PasswordsInSystemPropertiesRule_CONFIG_EXCLUDED_STRINGS = "PasswordsInSystemPropertiesRule_CONFIG_EXCLUDED_STRINGS"; //$NON-NLS-1$ + public static final String PasswordsInSystemPropertiesRule_CONFIG_EXCLUDED_STRINGS_LONG = "PasswordsInSystemPropertiesRule_CONFIG_EXCLUDED_STRINGS_LONG"; //$NON-NLS-1$ public static final String PasswordsInSystemPropertiesRule_RULE_NAME = "PasswordsInSystemPropertiesRule_RULE_NAME"; //$NON-NLS-1$ public static final String PasswordsInSystemPropertiesRule_TEXT_INFO = "PasswordsInSystemPropertiesRule_TEXT_INFO"; //$NON-NLS-1$ + public static final String PasswordsInSystemPropertiesRule_TEXT_INFO_EXCLUDED_INFO = "PasswordsInSystemPropertiesRule_TEXT_INFO_EXCLUDED_INFO"; //$NON-NLS-1$ public static final String PasswordsInSystemPropertiesRule_TEXT_INFO_LONG = "PasswordsInSystemPropertiesRule_TEXT_INFO_LONG"; //$NON-NLS-1$ public static final String PasswordsInSystemPropertiesRule_TEXT_OK = "PasswordsInSystemPropertiesRule_TEXT_OK"; //$NON-NLS-1$ public static final String Preference_SHORT_RECORDING = "Preference_SHORT_RECORDING"; //$NON-NLS-1$ diff --git a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties index 54ee6c4f1f..bbff6e03a7 100644 --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties @@ -529,18 +529,30 @@ DiscouragedGcOptionsRule_TEXT_OK=No problems were found with the GC configuratio DiscouragedVmOptionsRule_RULE_NAME=Discouraged VM Options DiscouragedVmOptionsRule_TEXT_OK=No problems were found with the VM options. DiscouragedVmOptionsRule_BOTH_EXPERIMENTAL_AND_IGNORE=The recording was performed on a JVM that both had Experimental VM Options enabled and which ignored unrecognized VM options. +PasswordsInArgsRule_CONFIG_EXCLUDED_STRINGS=Excluded strings +PasswordsInArgsRule_CONFIG_EXCLUDED_STRINGS_LONG=Regular expression describing which strings to exclude, for example (passworld|passwise) PasswordsInArgsRule_JAVAARGS_TEXT_INFO=The application arguments in the recording may contain passwords. -# {0} is a list of argument strings PasswordsInArgsRule_JAVAARGS_TEXT_INFO_LONG=The following suspicious application arguments were found in this recording: {0}<p>They may contain passwords. If you do not want to have your passwords directly as arguments to the Java process, there are usually other means to provide them to your software. If you wish to keep using passwords as arguments, but want to be able to share recordings without also sharing the passwords, please disable the ''JVM Information'' event. Note that disabling the ''JVM Information'' event can limit functionality in the Flight Recorder automated analysis. +# {0} is a regular expression exclude strings +PasswordsInArgsRule_TEXT_INFO_EXCLUDED_INFO=The following regular expression was used to exclude strings from this rule: ''{0}''. +# {0} is a list of argument strings PasswordsInArgsRule_RULE_NAME=Passwords in Java Arguments PasswordsInArgsRule_TEXT_OK=The recording does not seem to contain passwords in the application arguments. +PasswordsInEnvironmentRuleFactory_CONFIG_EXCLUDED_STRINGS=Excluded strings +PasswordsInEnvironmentRuleFactory_CONFIG_EXCLUDED_STRINGS_LONG=Regular expression describing which strings to exclude, for example (passworld|passwise) PasswordsInEnvironmentRuleFactory_RULE_NAME=Passwords in Environment Variables PasswordsInEnvironmentRuleFactory_TEXT_INFO=The environment variables in the recording may contain passwords. +# {0} is a regular expression exclude strings +PasswordsInEnvironmentRuleFactory_TEXT_INFO_EXCLUDED_INFO=The following regular expression was used to exclude strings from this rule: ''{0}''. # {0} is a list of environment variable names PasswordsInEnvironmentRuleFactory_TEXT_INFO_LONG=The following suspicious environment variables were found in this recording: {0}<p>They may contain passwords. If you wish to keep having passwords in your environment variables, but want to be able to share recordings without also sharing the passwords, please disable the ''Initial Environment Variable'' event. PasswordsInEnvironmentRuleFactory_TEXT_OK=The recording does not seem to contain passwords in the environment variables. +PasswordsInSystemPropertiesRule_CONFIG_EXCLUDED_STRINGS=Excluded strings +PasswordsInSystemPropertiesRule_CONFIG_EXCLUDED_STRINGS_LONG=Regular expression describing which strings to exclude, for example (passworld|passwise) PasswordsInSystemPropertiesRule_RULE_NAME=Passwords in System Properties PasswordsInSystemPropertiesRule_TEXT_INFO=The system properties in the recording may contain passwords. +# {0} is a regular expression exclude strings +PasswordsInSystemPropertiesRule_TEXT_INFO_EXCLUDED_INFO=The following regular expression was used to exclude strings from this rule: ''{0}''. # {0} is a list of system property names PasswordsInSystemPropertiesRule_TEXT_INFO_LONG=The following suspicious system properties were found in this recording: {0}<p>They may contain passwords. If you wish to keep having passwords in your system properties, but want to be able to share recordings without also sharing the passwords, please disable the ''Initial System Property'' event. PasswordsInSystemPropertiesRule_TEXT_OK=The recording does not seem to contain passwords in the system properties. diff --git a/core/org.openjdk.jmc.flightrecorder.rules/src/main/java/org/openjdk/jmc/flightrecorder/rules/util/RulesToolkit.java b/core/org.openjdk.jmc.flightrecorder.rules/src/main/java/org/openjdk/jmc/flightrecorder/rules/util/RulesToolkit.java index 21e5737c19..439d40f8d1 100644 --- a/core/org.openjdk.jmc.flightrecorder.rules/src/main/java/org/openjdk/jmc/flightrecorder/rules/util/RulesToolkit.java +++ b/core/org.openjdk.jmc.flightrecorder.rules/src/main/java/org/openjdk/jmc/flightrecorder/rules/util/RulesToolkit.java @@ -533,22 +533,28 @@ private static boolean hasEvents(IItemCollection items, String ... typeIds) { */ public static Result getEventAvailabilityResult( IRule rule, IItemCollection items, EventAvailability eventAvailability, String ... typeIds) { + JavaVersion javaVersion; + String link; switch (eventAvailability) { case ENABLED: case NONE: String requiredEventsTypeNames = getEventTypeNames(items, typeIds); + javaVersion = RulesToolkit.getJavaSpecVersion(items); + link = RulesToolkit.getJavaCommandHelpLink(javaVersion); return getNotApplicableResult(rule, MessageFormat.format(Messages.getString(Messages.RulesToolkit_RULE_REQUIRES_EVENTS), requiredEventsTypeNames), MessageFormat.format(Messages.getString(Messages.RulesToolkit_RULE_REQUIRES_EVENTS_LONG), - rule.getName(), requiredEventsTypeNames)); + rule.getName(), requiredEventsTypeNames, link)); case DISABLED: String disabledEventTypeNames = getDisabledEventTypeNames(items, typeIds); + javaVersion = RulesToolkit.getJavaSpecVersion(items); + link = RulesToolkit.getJavaCommandHelpLink(javaVersion); return getNotApplicableResult(rule, MessageFormat.format(Messages.getString(Messages.RulesToolkit_RULE_REQUIRES_EVENT_TYPE), disabledEventTypeNames), MessageFormat.format(Messages.getString(Messages.RulesToolkit_RULE_REQUIRES_EVENT_TYPE_LONG), - rule.getName(), disabledEventTypeNames)); + rule.getName(), disabledEventTypeNames, link)); case UNKNOWN: // Can't get type names if the event type is unavailable List<String> quotedTypeIds = new ArrayList<>(); @@ -565,12 +571,14 @@ public static Result getEventAvailabilityResult( rule.getName(), unavailableTypeNames)); case AVAILABLE: String availableEventTypeNames = getEventTypeNames(items, typeIds); + javaVersion = RulesToolkit.getJavaSpecVersion(items); + link = RulesToolkit.getJavaCommandHelpLink(javaVersion); return getNotApplicableResult(rule, MessageFormat.format( Messages.getString(Messages.RulesToolkit_RULE_REQUIRES_EVENT_TYPE_NOT_AVAILABLE), availableEventTypeNames), MessageFormat.format(Messages.RulesToolkit_RULE_REQUIRES_EVENT_TYPE_NOT_AVAILABLE_LONG, - rule.getName(), availableEventTypeNames)); + rule.getName(), availableEventTypeNames, link)); default: throw new IllegalArgumentException("Unsupported event availability: " + eventAvailability); //$NON-NLS-1$ } @@ -1008,6 +1016,29 @@ public static JavaVersion getJavaVersion(String vmInfoVersionString) { return null; } + static String getJavaCommandHelpLink(JavaVersion javaVersion) { + if (javaVersion != null) { + int major = javaVersion.getMajorVersion(); + switch (major) { + case 8: + return "https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html"; //$NON-NLS-1$ + case 9: + case 10: + return "https://docs.oracle.com/javase/" + major + "/tools/java.htm#JSWOR624"; + case 11: + case 12: + return "https://docs.oracle.com/en/java/javase/" + major + + "/tools/java.html#GUID-3B1CE181-CD30-4178-9602-230B800D4FAE"; + case 13: + case 14: + case 15: + return "https://docs.oracle.com/en/java/javase/" + major + "/docs/specs/man/java.html"; + } + } + // by default use version 8 + return "https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html"; //$NON-NLS-1$ + } + /** * Gets the {@link IType} representation of a specific event type in an {@link IItemCollection}. * diff --git a/core/org.openjdk.jmc.flightrecorder.rules/src/main/resources/org/openjdk/jmc/flightrecorder/rules/messages/internal/messages.properties b/core/org.openjdk.jmc.flightrecorder.rules/src/main/resources/org/openjdk/jmc/flightrecorder/rules/messages/internal/messages.properties index b4068d4a52..78d20ec55a 100644 --- a/core/org.openjdk.jmc.flightrecorder.rules/src/main/resources/org/openjdk/jmc/flightrecorder/rules/messages/internal/messages.properties +++ b/core/org.openjdk.jmc.flightrecorder.rules/src/main/resources/org/openjdk/jmc/flightrecorder/rules/messages/internal/messages.properties @@ -41,16 +41,16 @@ RulesToolkit_RULE_REQUIRES_UNAVAILABLE_EVENT_TYPE=The {0} rule requires the foll RulesToolkit_RULE_REQUIRES_UNAVAILABLE_EVENT_TYPE_LONG=The {0} rule requires the following event types: {1}.<p>They are either not available in this version of Java, or must be enabled in a third-party component. If you are using an older Java version, then you can consider upgrading. # {0} is an event type name RulesToolkit_RULE_REQUIRES_EVENT_TYPE_NOT_AVAILABLE=This rule requires that there are no events from the following types: {0}. -# {0} is a rule name, {1} is one or more event type names -RulesToolkit_RULE_REQUIRES_EVENT_TYPE_NOT_AVAILABLE_LONG=The {0} rule requires that there are no events from the following types: {1}.<p>Please disable the event types for this rule to work. If you are using JMC to create a flight recording, then you can disable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>. +# {0} is a rule name, {1} is one or more event type names, {2} is a link to java command help +RulesToolkit_RULE_REQUIRES_EVENT_TYPE_NOT_AVAILABLE_LONG=The {0} rule requires that there are no events from the following types: {1}.<p>Please disable the event types for this rule to work. If you are using JMC to create a flight recording, then you can disable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="{2}">-XX:FlightRecorderOptions</a>. # {0} is an event type name RulesToolkit_RULE_REQUIRES_EVENTS=This rule requires events to be available from the following event types: {0}. -# {0} is a rule name, {1} is one or more event type names -RulesToolkit_RULE_REQUIRES_EVENTS_LONG=The {0} rule requires events to be available from the following event types: {1}.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>. +# {0} is a rule name, {1} is one or more event type names, {2} is a link to java command help +RulesToolkit_RULE_REQUIRES_EVENTS_LONG=The {0} rule requires events to be available from the following event types: {1}.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="{2}">-XX:FlightRecorderOptions</a>. # {0} is an event type name RulesToolkit_RULE_REQUIRES_EVENT_TYPE=This rule requires that the following event types are enabled: {0}. # {0} is a rule name, {1} is one or more event type names -RulesToolkit_RULE_REQUIRES_EVENT_TYPE_LONG=The {0} rule requires that the following event types are enabled: {1}.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>. +RulesToolkit_RULE_REQUIRES_EVENT_TYPE_LONG=The {0} rule requires that the following event types are enabled: {1}.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="{2}">-XX:FlightRecorderOptions</a>. # {0} is a rule name, {1} is one or more event type names RulesToolkit_RULE_REQUIRES_SOME_EVENTS=The {0} rule requires events to be available from at least one of the following event types: {1}. # {0} is one or more event type names diff --git a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/EnvironmentVariableTestEvent.java b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/EnvironmentVariableTestEvent.java new file mode 100644 index 0000000000..4493a33922 --- /dev/null +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/EnvironmentVariableTestEvent.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, Datadog, Inc. All rights reserved. + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * The contents of this file are subject to the terms of either the Universal Permissive License + * v 1.0 as shown at http://oss.oracle.com/licenses/upl + * + * or the following license: + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other materials provided with + * the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors may be used to + * endorse or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.openjdk.jmc.flightrecorder.test.rules.jdk.general; + +import org.openjdk.jmc.common.item.IAccessorKey; +import org.openjdk.jmc.common.item.IItem; +import org.openjdk.jmc.common.item.IMemberAccessor; +import org.openjdk.jmc.common.util.MemberAccessorToolkit; +import org.openjdk.jmc.flightrecorder.jdk.JdkTypeIDs; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.TestEvent; + +public class EnvironmentVariableTestEvent extends TestEvent { + private final String key; + + public EnvironmentVariableTestEvent(String key) { + super(JdkTypeIDs.ENVIRONMENT_VARIABLE); + this.key = key; + } + + @SuppressWarnings("unchecked") + @Override + public <M> IMemberAccessor<M, IItem> getAccessor(IAccessorKey<M> attribute) { + if ("key".equals(attribute.getIdentifier())) { + return (IMemberAccessor<M, IItem>) MemberAccessorToolkit.<IItem, String, String> constant(key); + } + return null; + } + +} diff --git a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInArgumentsRuleTest.java b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInArgumentsRuleTest.java new file mode 100644 index 0000000000..44c2432f9d --- /dev/null +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInArgumentsRuleTest.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, Datadog, Inc. All rights reserved. + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * The contents of this file are subject to the terms of either the Universal Permissive License + * v 1.0 as shown at http://oss.oracle.com/licenses/upl + * + * or the following license: + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other materials provided with + * the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors may be used to + * endorse or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.openjdk.jmc.flightrecorder.test.rules.jdk.general; + +import java.util.concurrent.ExecutionException; +import java.util.concurrent.RunnableFuture; + +import org.junit.Assert; +import org.junit.Test; +import org.openjdk.jmc.common.item.IItemCollection; +import org.openjdk.jmc.common.util.IPreferenceValueProvider; +import org.openjdk.jmc.flightrecorder.rules.Result; +import org.openjdk.jmc.flightrecorder.rules.jdk.general.PasswordsInArgumentsRule; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.MockEventCollection; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.TestEvent; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.VMInfoTestEvent; + +@SuppressWarnings("restriction") +public class PasswordsInArgumentsRuleTest { + + @Test + public void containsPassword() { + TestEvent[] testEvents = new TestEvent[] {new VMInfoTestEvent("", "-Dpassword=foo")}; + testPasswordsInArgsRule(testEvents, + "The following suspicious application arguments were found in this recording: <ul><li>-Dpassword=[...]</li></ul><p>They may contain passwords. If you do not want to have your passwords directly as arguments to the Java process, there are usually other means to provide them to your software. If you wish to keep using passwords as arguments, but want to be able to share recordings without also sharing the passwords, please disable the 'JVM Information' event. Note that disabling the 'JVM Information' event can limit functionality in the Flight Recorder automated analysis. The following regular expression was used to exclude strings from this rule: '.*(passworld|passwise).*'."); + } + + @Test + public void NotContainPassword() { + TestEvent[] testEvents = new TestEvent[] {new VMInfoTestEvent("", "-Dpaswrd=foo")}; + testPasswordsInArgsRule(testEvents, + "The recording does not seem to contain passwords in the application arguments."); + } + + @Test + public void containsExcludedStrings() { + TestEvent[] testEvents = new TestEvent[] {new VMInfoTestEvent("", "-Dpassworld=foo")}; + testPasswordsInArgsRule(testEvents, + "The recording does not seem to contain passwords in the application arguments."); + } + + private void testPasswordsInArgsRule(TestEvent[] testEvents, String descriptionExpected) { + IItemCollection events = new MockEventCollection(testEvents); + PasswordsInArgumentsRule passwordsInArgsRule = new PasswordsInArgumentsRule(); + RunnableFuture<Result> future = passwordsInArgsRule.evaluate(events, IPreferenceValueProvider.DEFAULT_VALUES); + try { + future.run(); + Result res = future.get(); + String longDesc = res.getLongDescription(); + Assert.assertEquals(descriptionExpected, longDesc); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + } + +} diff --git a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInEnvironmentRuleTest.java b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInEnvironmentRuleTest.java new file mode 100644 index 0000000000..6965129233 --- /dev/null +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInEnvironmentRuleTest.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, Datadog, Inc. All rights reserved. + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * The contents of this file are subject to the terms of either the Universal Permissive License + * v 1.0 as shown at http://oss.oracle.com/licenses/upl + * + * or the following license: + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other materials provided with + * the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors may be used to + * endorse or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.openjdk.jmc.flightrecorder.test.rules.jdk.general; + +import java.util.concurrent.ExecutionException; +import java.util.concurrent.RunnableFuture; + +import org.junit.Assert; +import org.junit.Test; +import org.openjdk.jmc.common.item.IItemCollection; +import org.openjdk.jmc.common.util.IPreferenceValueProvider; +import org.openjdk.jmc.flightrecorder.rules.Result; +import org.openjdk.jmc.flightrecorder.rules.jdk.general.PasswordsInEnvironmentRule; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.MockEventCollection; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.TestEvent; + +@SuppressWarnings("restriction") +public class PasswordsInEnvironmentRuleTest { + + @Test + public void containsPassword() { + TestEvent[] testEvents = new TestEvent[] {new EnvironmentVariableTestEvent("password")}; + testPasswordsInEnvRule(testEvents, + "The following suspicious environment variables were found in this recording: <ul><li>password</li></ul><p>They may contain passwords. If you wish to keep having passwords in your environment variables, but want to be able to share recordings without also sharing the passwords, please disable the 'Initial Environment Variable' event. The following regular expression was used to exclude strings from this rule: '(passworld|passwise)'."); + } + + @Test + public void notContainPassword() { + TestEvent[] testEvents = new TestEvent[] {new EnvironmentVariableTestEvent("paswrd")}; + testPasswordsInEnvRule(testEvents, + "The recording does not seem to contain passwords in the environment variables."); + } + + @Test + public void containsExcludedStrings() { + TestEvent[] testEvents = new TestEvent[] {new EnvironmentVariableTestEvent("passworld")}; + testPasswordsInEnvRule(testEvents, + "The recording does not seem to contain passwords in the environment variables."); + } + + private void testPasswordsInEnvRule(TestEvent[] testEvents, String descriptionExpected) { + IItemCollection events = new MockEventCollection(testEvents); + PasswordsInEnvironmentRule passwordsInEnvRule = new PasswordsInEnvironmentRule(); + RunnableFuture<Result> future = passwordsInEnvRule.evaluate(events, IPreferenceValueProvider.DEFAULT_VALUES); + try { + future.run(); + Result res = future.get(); + String longDesc = res.getLongDescription(); + Assert.assertEquals(descriptionExpected, longDesc); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + + } +} diff --git a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInSystemPropertiesRuleTest.java b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInSystemPropertiesRuleTest.java new file mode 100644 index 0000000000..f9f5758300 --- /dev/null +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/PasswordsInSystemPropertiesRuleTest.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, Datadog, Inc. All rights reserved. + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * The contents of this file are subject to the terms of either the Universal Permissive License + * v 1.0 as shown at http://oss.oracle.com/licenses/upl + * + * or the following license: + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other materials provided with + * the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors may be used to + * endorse or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.openjdk.jmc.flightrecorder.test.rules.jdk.general; + +import java.util.concurrent.ExecutionException; +import java.util.concurrent.RunnableFuture; + +import org.junit.Assert; +import org.junit.Test; +import org.openjdk.jmc.common.item.IItemCollection; +import org.openjdk.jmc.common.util.IPreferenceValueProvider; +import org.openjdk.jmc.flightrecorder.rules.Result; +import org.openjdk.jmc.flightrecorder.rules.jdk.general.PasswordsInSystemPropertiesRule; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.MockEventCollection; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.TestEvent; + +@SuppressWarnings("restriction") +public class PasswordsInSystemPropertiesRuleTest { + + @Test + public void containsPassword() { + TestEvent[] testEvents = new TestEvent[] {new SystemPropertiesTestEvent("password")}; + testPasswordsInSystemPropertiesRule(testEvents, + "The following suspicious system properties were found in this recording: <ul><li>password</li></ul><p>They may contain passwords. If you wish to keep having passwords in your system properties, but want to be able to share recordings without also sharing the passwords, please disable the 'Initial System Property' event. The following regular expression was used to exclude strings from this rule: '(passworld|passwise)'."); + } + + @Test + public void notContainPassword() { + TestEvent[] testEvents = new TestEvent[] {new SystemPropertiesTestEvent("paswrd")}; + testPasswordsInSystemPropertiesRule(testEvents, + "The recording does not seem to contain passwords in the system properties."); + } + + @Test + public void containsExcludedStrings() { + TestEvent[] testEvents = new TestEvent[] {new SystemPropertiesTestEvent("passworld")}; + testPasswordsInSystemPropertiesRule(testEvents, + "The recording does not seem to contain passwords in the system properties."); + } + + private void testPasswordsInSystemPropertiesRule(TestEvent[] testEvents, String descriptionExpected) { + IItemCollection events = new MockEventCollection(testEvents); + PasswordsInSystemPropertiesRule passwordsInSystemPropertiesRule = new PasswordsInSystemPropertiesRule(); + RunnableFuture<Result> future = passwordsInSystemPropertiesRule.evaluate(events, + IPreferenceValueProvider.DEFAULT_VALUES); + try { + future.run(); + Result res = future.get(); + String longDesc = res.getLongDescription(); + Assert.assertEquals(descriptionExpected, longDesc); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + } +} diff --git a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/SystemPropertiesTestEvent.java b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/SystemPropertiesTestEvent.java new file mode 100644 index 0000000000..b95ea4a2ed --- /dev/null +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/java/org/openjdk/jmc/flightrecorder/test/rules/jdk/general/SystemPropertiesTestEvent.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, Datadog, Inc. All rights reserved. + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * The contents of this file are subject to the terms of either the Universal Permissive License + * v 1.0 as shown at http://oss.oracle.com/licenses/upl + * + * or the following license: + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other materials provided with + * the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors may be used to + * endorse or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.openjdk.jmc.flightrecorder.test.rules.jdk.general; + +import org.openjdk.jmc.common.item.IAccessorKey; +import org.openjdk.jmc.common.item.IItem; +import org.openjdk.jmc.common.item.IMemberAccessor; +import org.openjdk.jmc.common.util.MemberAccessorToolkit; +import org.openjdk.jmc.flightrecorder.jdk.JdkTypeIDs; +import org.openjdk.jmc.flightrecorder.test.rules.jdk.TestEvent; + +public class SystemPropertiesTestEvent extends TestEvent { + private final String key; + + public SystemPropertiesTestEvent(String key) { + super(JdkTypeIDs.SYSTEM_PROPERTIES); + this.key = key; + } + + @SuppressWarnings("unchecked") + @Override + public <M> IMemberAccessor<M, IItem> getAccessor(IAccessorKey<M> attribute) { + if ("key".equals(attribute.getIdentifier())) { + return (IMemberAccessor<M, IItem>) MemberAccessorToolkit.<IItem, String, String> constant(key); + } + return null; + } +} diff --git a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml index c35e74dff4..daa99b202d 100644 --- a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml @@ -42,14 +42,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.</shortDescription> -<longDescription>The Class Leak rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Class Leak rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ClassLoading</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Class Load'.</shortDescription> -<longDescription>The Class Loading Pressure rule requires that the following event types are enabled: 'Class Load'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Class Loading Pressure rule requires that the following event types are enabled: 'Class Load'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>CodeCache</id> @@ -77,7 +77,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Thread Context Switch Rate'.</shortDescription> -<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>DMSIncident</id> @@ -119,7 +119,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Error'.</shortDescription> -<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Exceptions</id> @@ -154,7 +154,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'File Write'.</shortDescription> -<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>FlightRecordingSupport</id> @@ -210,7 +210,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Object Count'.</shortDescription> -<longDescription>The Heap Content rule requires that the following event types are enabled: 'Object Count'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Heap Content rule requires that the following event types are enabled: 'Object Count'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HeapDump</id> @@ -259,7 +259,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Monitor Blocked'.</shortDescription> -<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>LongGcPause</id> @@ -280,14 +280,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Discouraged Management Agent Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Discouraged Management Agent Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ManyRunningProcesses</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'System Process'.</shortDescription> -<longDescription>The Competing Processes rule requires that the following event types are enabled: 'System Process'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Competing Processes rule requires that the following event types are enabled: 'System Process'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>MetaspaceOom</id> @@ -315,7 +315,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Discouraged Recording Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Discouraged Recording Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInArguments</id> @@ -329,21 +329,21 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial Environment Variable'.</shortDescription> -<longDescription>The Passwords in Environment Variables rule requires that the following event types are enabled: 'Initial Environment Variable'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in Environment Variables rule requires that the following event types are enabled: 'Initial Environment Variable'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInSystemProperties</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Passwords in System Properties rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in System Properties rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PrimitiveToObjectConversion</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Primitive To Object Conversion rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Primitive To Object Conversion rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ProcessStarted</id> @@ -357,14 +357,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Read'.</shortDescription> -<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>SocketWrite</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Write'.</shortDescription> -<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>StackdepthSetting</id> @@ -458,14 +458,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.</shortDescription> -<longDescription>The Class Leak rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Class Leak rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ClassLoading</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Class Load'.</shortDescription> -<longDescription>The Class Loading Pressure rule requires that the following event types are enabled: 'Class Load'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Class Loading Pressure rule requires that the following event types are enabled: 'Class Load'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>CodeCache</id> @@ -493,7 +493,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Thread Context Switch Rate'.</shortDescription> -<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>DMSIncident</id> @@ -535,7 +535,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Error'.</shortDescription> -<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Exceptions</id> @@ -570,7 +570,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'File Write'.</shortDescription> -<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>FlightRecordingSupport</id> @@ -584,7 +584,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The G1/CMS Full Collection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The G1/CMS Full Collection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>GcFreedRatio</id> @@ -626,7 +626,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Object Count'.</shortDescription> -<longDescription>The Heap Content rule requires that the following event types are enabled: 'Object Count'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Heap Content rule requires that the following event types are enabled: 'Object Count'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HeapDump</id> @@ -640,7 +640,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The GCs Caused by Heap Inspection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GCs Caused by Heap Inspection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HighGc</id> @@ -675,7 +675,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Monitor Blocked'.</shortDescription> -<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>LongGcPause</id> @@ -696,14 +696,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Discouraged Management Agent Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Discouraged Management Agent Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ManyRunningProcesses</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'System Process'.</shortDescription> -<longDescription>The Competing Processes rule requires that the following event types are enabled: 'System Process'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Competing Processes rule requires that the following event types are enabled: 'System Process'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>MetaspaceOom</id> @@ -731,7 +731,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Discouraged Recording Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Discouraged Recording Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInArguments</id> @@ -745,21 +745,21 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial Environment Variable'.</shortDescription> -<longDescription>The Passwords in Environment Variables rule requires that the following event types are enabled: 'Initial Environment Variable'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in Environment Variables rule requires that the following event types are enabled: 'Initial Environment Variable'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInSystemProperties</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Passwords in System Properties rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in System Properties rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PrimitiveToObjectConversion</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Primitive To Object Conversion rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Primitive To Object Conversion rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ProcessStarted</id> @@ -773,14 +773,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Read'.</shortDescription> -<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>SocketWrite</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Write'.</shortDescription> -<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>StackdepthSetting</id> @@ -794,14 +794,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Heap Summary'.</shortDescription> -<longDescription>The String Deduplication rule requires events to be available from the following event types: 'Heap Summary'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The String Deduplication rule requires events to be available from the following event types: 'Heap Summary'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>SystemGc</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The GCs Caused by System.gc() rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GCs Caused by System.gc() rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>TlabAllocationRatio</id> @@ -839,14 +839,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Allocated Classes rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Allocated Classes rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Allocations.thread</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Threads Allocating rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Threads Allocating rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ApplicationHalts</id> @@ -874,14 +874,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.</shortDescription> -<longDescription>The Class Leak rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Class Leak rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ClassLoading</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Class Load'.</shortDescription> -<longDescription>The Class Loading Pressure rule requires that the following event types are enabled: 'Class Load'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Class Loading Pressure rule requires that the following event types are enabled: 'Class Load'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>CodeCache</id> @@ -895,7 +895,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'CPU Load'.</shortDescription> -<longDescription>The Competing CPU Ratio Usage rule requires events to be available from the following event types: 'CPU Load'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Competing CPU Ratio Usage rule requires events to be available from the following event types: 'CPU Load'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>CompressedOops</id> @@ -909,7 +909,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Thread Context Switch Rate'.</shortDescription> -<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>DMSIncident</id> @@ -951,14 +951,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Error'.</shortDescription> -<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Exceptions</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Exception Statistics'.</shortDescription> -<longDescription>The Thrown Exceptions rule requires events to be available from the following event types: 'Exception Statistics'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Thrown Exceptions rule requires events to be available from the following event types: 'Exception Statistics'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Fatal Errors</id> @@ -972,7 +972,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'CPU Information', 'Method Profiling Sample', 'Recording Setting'.</shortDescription> -<longDescription>The Parallel Threads rule requires events to be available from the following event types: 'CPU Information', 'Method Profiling Sample', 'Recording Setting'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Parallel Threads rule requires events to be available from the following event types: 'CPU Information', 'Method Profiling Sample', 'Recording Setting'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>FileRead</id> @@ -986,7 +986,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'File Write'.</shortDescription> -<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>FlightRecordingSupport</id> @@ -1000,7 +1000,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The G1/CMS Full Collection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The G1/CMS Full Collection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>GcFreedRatio</id> @@ -1042,7 +1042,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Object Count'.</shortDescription> -<longDescription>The Heap Content rule requires that the following event types are enabled: 'Object Count'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Heap Content rule requires that the following event types are enabled: 'Object Count'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HeapDump</id> @@ -1056,7 +1056,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The GCs Caused by Heap Inspection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GCs Caused by Heap Inspection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HighGc</id> @@ -1070,7 +1070,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'CPU Load'.</shortDescription> -<longDescription>The High JVM CPU Load rule requires events to be available from the following event types: 'CPU Load'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The High JVM CPU Load rule requires events to be available from the following event types: 'CPU Load'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>IncreasingLiveSet</id> @@ -1091,7 +1091,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Monitor Blocked'.</shortDescription> -<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>LongGcPause</id> @@ -1112,14 +1112,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Discouraged Management Agent Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Discouraged Management Agent Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ManyRunningProcesses</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'System Process'.</shortDescription> -<longDescription>The Competing Processes rule requires that the following event types are enabled: 'System Process'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Competing Processes rule requires that the following event types are enabled: 'System Process'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>MetaspaceOom</id> @@ -1133,7 +1133,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Method Profiling Sample', 'Recording Setting'.</shortDescription> -<longDescription>The Method Profiling rule requires events to be available from the following event types: 'Method Profiling Sample', 'Recording Setting'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Method Profiling rule requires events to be available from the following event types: 'Method Profiling Sample', 'Recording Setting'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Options</id> @@ -1147,7 +1147,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Discouraged Recording Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Discouraged Recording Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInArguments</id> @@ -1161,21 +1161,21 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial Environment Variable'.</shortDescription> -<longDescription>The Passwords in Environment Variables rule requires that the following event types are enabled: 'Initial Environment Variable'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in Environment Variables rule requires that the following event types are enabled: 'Initial Environment Variable'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInSystemProperties</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Passwords in System Properties rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in System Properties rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PrimitiveToObjectConversion</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Primitive To Object Conversion rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Primitive To Object Conversion rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ProcessStarted</id> @@ -1189,14 +1189,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Read'.</shortDescription> -<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>SocketWrite</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Write'.</shortDescription> -<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>StackdepthSetting</id> @@ -1210,21 +1210,21 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Heap Summary'.</shortDescription> -<longDescription>The String Deduplication rule requires events to be available from the following event types: 'Heap Summary'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The String Deduplication rule requires events to be available from the following event types: 'Heap Summary'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>SystemGc</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The GCs Caused by System.gc() rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GCs Caused by System.gc() rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>TlabAllocationRatio</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The TLAB Allocation Ratio rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The TLAB Allocation Ratio rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>VMOperations</id> @@ -1577,7 +1577,7 @@ <severity>Warning</severity> <score>100.0</score> <shortDescription>The environment variables in the recording may contain passwords.</shortDescription> -<longDescription>The following suspicious environment variables were found in this recording: <ul><li>P4PASSWD</li></ul><p>They may contain passwords. If you wish to keep having passwords in your environment variables, but want to be able to share recordings without also sharing the passwords, please disable the 'Initial Environment Variable' event.</longDescription> +<longDescription>The following suspicious environment variables were found in this recording: <ul><li>P4PASSWD</li></ul><p>They may contain passwords. If you wish to keep having passwords in your environment variables, but want to be able to share recordings without also sharing the passwords, please disable the 'Initial Environment Variable' event. The following regular expression was used to exclude strings from this rule: '(passworld|passwise)'.</longDescription> </rule> <rule> <id>PasswordsInSystemProperties</id> @@ -2912,7 +2912,6 @@ <longDescription>The Biased Locking Revocation Pauses rule requires that the following event types are enabled: 'VM Operation'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> </rule> </report> - <report> <file>parallel-gc_cpu.jfr</file> <rule> @@ -3752,14 +3751,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Allocated Classes rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Allocated Classes rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Allocations.thread</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Threads Allocating rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Threads Allocating rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ApplicationHalts</id> @@ -3787,14 +3786,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.</shortDescription> -<longDescription>The Class Leak rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Class Leak rule requires that the following event types are enabled: 'Class Load', 'Class Unload'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ClassLoading</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Class Load'.</shortDescription> -<longDescription>The Class Loading Pressure rule requires that the following event types are enabled: 'Class Load'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Class Loading Pressure rule requires that the following event types are enabled: 'Class Load'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>CodeCache</id> @@ -3822,7 +3821,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Thread Context Switch Rate'.</shortDescription> -<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>DMSIncident</id> @@ -3864,7 +3863,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Error'.</shortDescription> -<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Exceptions</id> @@ -3899,7 +3898,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'File Write'.</shortDescription> -<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>FlightRecordingSupport</id> @@ -3955,7 +3954,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Object Count'.</shortDescription> -<longDescription>The Heap Content rule requires that the following event types are enabled: 'Object Count'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Heap Content rule requires that the following event types are enabled: 'Object Count'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HeapDump</id> @@ -4004,7 +4003,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Monitor Blocked'.</shortDescription> -<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>LongGcPause</id> @@ -4025,14 +4024,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Discouraged Management Agent Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Discouraged Management Agent Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ManyRunningProcesses</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'System Process'.</shortDescription> -<longDescription>The Competing Processes rule requires that the following event types are enabled: 'System Process'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Competing Processes rule requires that the following event types are enabled: 'System Process'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>MetaspaceOom</id> @@ -4060,7 +4059,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Discouraged Recording Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Discouraged Recording Settings rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInArguments</id> @@ -4074,21 +4073,21 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial Environment Variable'.</shortDescription> -<longDescription>The Passwords in Environment Variables rule requires that the following event types are enabled: 'Initial Environment Variable'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in Environment Variables rule requires that the following event types are enabled: 'Initial Environment Variable'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInSystemProperties</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Initial System Property'.</shortDescription> -<longDescription>The Passwords in System Properties rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in System Properties rule requires that the following event types are enabled: 'Initial System Property'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PrimitiveToObjectConversion</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Primitive To Object Conversion rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Primitive To Object Conversion rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ProcessStarted</id> @@ -4102,14 +4101,14 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Read'.</shortDescription> -<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>SocketWrite</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Write'.</shortDescription> -<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>StackdepthSetting</id> @@ -4137,7 +4136,7 @@ <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The TLAB Allocation Ratio rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The TLAB Allocation Ratio rule requires that the following event types are enabled: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>If you are using JMC to create a flight recording, then you can enable event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>VMOperations</id> @@ -4600,7 +4599,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'GC Phase Pause', 'VM Operation'.</shortDescription> -<longDescription>The Application Halts rule requires events to be available from the following event types: 'GC Phase Pause', 'VM Operation'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Application Halts rule requires events to be available from the following event types: 'GC Phase Pause', 'VM Operation'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>BufferLost</id> @@ -4635,28 +4634,28 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Code Cache Configuration', 'Code Cache Full', 'Code Cache Statistics', 'JVM Information'.</shortDescription> -<longDescription>The Code Cache rule requires events to be available from the following event types: 'Code Cache Configuration', 'Code Cache Full', 'Code Cache Statistics', 'JVM Information'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Code Cache rule requires events to be available from the following event types: 'Code Cache Configuration', 'Code Cache Full', 'Code Cache Statistics', 'JVM Information'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>CompareCpu</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'CPU Load'.</shortDescription> -<longDescription>The Competing CPU Ratio Usage rule requires events to be available from the following event types: 'CPU Load'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Competing CPU Ratio Usage rule requires events to be available from the following event types: 'CPU Load'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>CompressedOops</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Boolean Flag', 'JVM Information', 'Unsigned Long Flag'.</shortDescription> -<longDescription>The Compressed Oops rule requires events to be available from the following event types: 'Boolean Flag', 'JVM Information', 'Unsigned Long Flag'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Compressed Oops rule requires events to be available from the following event types: 'Boolean Flag', 'JVM Information', 'Unsigned Long Flag'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ContextSwitch</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Thread Context Switch Rate'.</shortDescription> -<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Context Switches rule requires events to be available from the following event types: 'Thread Context Switch Rate'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>DMSIncident</id> @@ -4698,14 +4697,14 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Error'.</shortDescription> -<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Thrown Errors rule requires events to be available from the following event types: 'Java Error'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Exceptions</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Exception Statistics'.</shortDescription> -<longDescription>The Thrown Exceptions rule requires events to be available from the following event types: 'Exception Statistics'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Thrown Exceptions rule requires events to be available from the following event types: 'Exception Statistics'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Fatal Errors</id> @@ -4719,7 +4718,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'CPU Information', 'Method Profiling Sample', 'Recording Setting'.</shortDescription> -<longDescription>The Parallel Threads rule requires events to be available from the following event types: 'CPU Information', 'Method Profiling Sample', 'Recording Setting'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Parallel Threads rule requires events to be available from the following event types: 'CPU Information', 'Method Profiling Sample', 'Recording Setting'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>FileRead</id> @@ -4733,7 +4732,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'File Write'.</shortDescription> -<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The File Write Peak Duration rule requires events to be available from the following event types: 'File Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>FlightRecordingSupport</id> @@ -4754,7 +4753,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Heap Summary'.</shortDescription> -<longDescription>The GC Freed Ratio rule requires events to be available from the following event types: 'Heap Summary'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GC Freed Ratio rule requires events to be available from the following event types: 'Heap Summary'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>GcLocker</id> @@ -4775,21 +4774,21 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'GC Phase Pause'.</shortDescription> -<longDescription>The GC Pauses rule requires events to be available from the following event types: 'GC Phase Pause'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GC Pauses rule requires events to be available from the following event types: 'GC Phase Pause'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>GcStall</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The GC Stall rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GC Stall rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HeapContent</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Object Count'.</shortDescription> -<longDescription>The Heap Content rule requires events to be available from the following event types: 'Object Count'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Heap Content rule requires events to be available from the following event types: 'Object Count'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HeapDump</id> @@ -4803,7 +4802,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The GCs Caused by Heap Inspection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GCs Caused by Heap Inspection rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>HighGc</id> @@ -4817,7 +4816,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'CPU Load'.</shortDescription> -<longDescription>The High JVM CPU Load rule requires events to be available from the following event types: 'CPU Load'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The High JVM CPU Load rule requires events to be available from the following event types: 'CPU Load'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>IncreasingLiveSet</id> @@ -4838,7 +4837,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Java Monitor Blocked'.</shortDescription> -<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Java Blocking rule requires events to be available from the following event types: 'Java Monitor Blocked'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>LongGcPause</id> @@ -4852,7 +4851,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Physical Memory'.</shortDescription> -<longDescription>The Free Physical Memory rule requires events to be available from the following event types: 'Physical Memory'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Free Physical Memory rule requires events to be available from the following event types: 'Physical Memory'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ManagementAgent</id> @@ -4866,7 +4865,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'System Process'.</shortDescription> -<longDescription>The Competing Processes rule requires events to be available from the following event types: 'System Process'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Competing Processes rule requires events to be available from the following event types: 'System Process'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>MetaspaceOom</id> @@ -4880,7 +4879,7 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Method Profiling Sample', 'Recording Setting'.</shortDescription> -<longDescription>The Method Profiling rule requires events to be available from the following event types: 'Method Profiling Sample', 'Recording Setting'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Method Profiling rule requires events to be available from the following event types: 'Method Profiling Sample', 'Recording Setting'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>Options</id> @@ -4908,21 +4907,21 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Initial Environment Variable'.</shortDescription> -<longDescription>The Passwords in Environment Variables rule requires events to be available from the following event types: 'Initial Environment Variable'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in Environment Variables rule requires events to be available from the following event types: 'Initial Environment Variable'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PasswordsInSystemProperties</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Initial System Property'.</shortDescription> -<longDescription>The Passwords in System Properties rule requires events to be available from the following event types: 'Initial System Property'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Passwords in System Properties rule requires events to be available from the following event types: 'Initial System Property'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>PrimitiveToObjectConversion</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.</shortDescription> -<longDescription>The Primitive To Object Conversion rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Primitive To Object Conversion rule requires events to be available from the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>ProcessStarted</id> @@ -4936,14 +4935,14 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Read'.</shortDescription> -<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Read Peak Duration rule requires events to be available from the following event types: 'Socket Read'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>SocketWrite</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Socket Write'.</shortDescription> -<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The Socket Write Peak Duration rule requires events to be available from the following event types: 'Socket Write'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>StackdepthSetting</id> @@ -4957,14 +4956,14 @@ The heap is around 22 % full. There is likely no big benefit from enabling strin <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Heap Summary'.</shortDescription> -<longDescription>The String Deduplication rule requires events to be available from the following event types: 'Heap Summary'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The String Deduplication rule requires events to be available from the following event types: 'Heap Summary'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>SystemGc</id> <severity>Not Applicable</severity> <score>-1.0</score> <shortDescription>This rule requires events to be available from the following event types: 'Garbage Collection'.</shortDescription> -<longDescription>The GCs Caused by System.gc() rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html">-XX:FlightRecorderOptions</a>.</longDescription> +<longDescription>The GCs Caused by System.gc() rule requires events to be available from the following event types: 'Garbage Collection'.<p>They were either disabled during the recording or there might not have happened anything to trigger an event. Event settings like period and threshold may also prevent some events from being emitted. If you are using JMC to create a flight recording, then you can enable and configure event types in the Start Flight Recording wizard. If you are starting the flight recording from the command line, then you can use the settings parameter of <a href="https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624">-XX:FlightRecorderOptions</a>.</longDescription> </rule> <rule> <id>TlabAllocationRatio</id>