Interface IRule
-
- All Known Implementing Classes:
AbstractRule
,AllocationByClassRule
,AllocationByThreadRule
,ApplicationHaltsRule
,AutoBoxingRule
,BiasedLockingRevocationPauseRule
,BiasedLockingRevocationRule
,BufferLostRule
,ClassLeakingRule
,ClassLoadingRule
,CodeCacheRule
,CompareCpuRule
,CompressedOopsRule
,ContextSwitchRule
,DebugNonSafepointsRule
,DiscouragedGcOptionsRule
,DiscouragedVmOptionsRule
,DMSIncidentRule
,DumpReasonRule
,DuplicateFlagsRule
,ErrorRule
,ExceptionRule
,FatalErrorRule
,FewSampledThreadsRule
,FileReadRule
,FileWriteRule
,FlightRecordingSupportRule
,FullGcRule
,GcFreedRatioRule
,GcLockerRule
,GcPauseRatioRule
,GcStallRule
,HeapContentRule
,HeapInspectionRule
,HighGcRule
,HighJvmCpuRule
,IncreasingLiveSetRule
,IncreasingMetaspaceLiveSetRule
,JavaBlockingRule
,LongGcPauseRule
,LowOnPhysicalMemoryRule
,ManagementAgentRule
,ManyRunningProcessesRule
,MetaspaceOomRule
,MethodProfilingRule
,OptionsCheckRule
,PasswordsInArgumentsRule
,PasswordsInEnvironmentRule
,PasswordsInSystemPropertiesRule
,RecordingSettingsRule
,SocketReadRule
,SocketWriteRule
,StackDepthSettingRule
,StringDeduplicationRule
,SystemGcRule
,TlabAllocationRatioRule
,VerifyNoneRule
,VMOperationRule
public interface IRule
Rules are used for analyzing flight recordings and creating results that can inform a user about problems.The key method to implement is
evaluate(IItemCollection, IPreferenceValueProvider)
.getId()
must return an id that is unique for each implementation andgetName()
should return a human readable name.Rule instances may be reused for multiple evaluations with different input data so it is recommended that they are stateless.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.concurrent.RunnableFuture<Result>
evaluate(IItemCollection items, IPreferenceValueProvider valueProvider)
Gets a future representing the result of the evaluation of this rule.java.util.Collection<TypedPreference<?>>
getConfigurationAttributes()
Gets information about which attributes may be configured during rule evaluation.java.lang.String
getId()
java.lang.String
getName()
java.lang.String
getTopic()
-
-
-
Method Detail
-
evaluate
java.util.concurrent.RunnableFuture<Result> evaluate(IItemCollection items, IPreferenceValueProvider valueProvider)
Gets a future representing the result of the evaluation of this rule. Running the RunnableFuture is the responsibility of the caller of this method, not the implementation.- Parameters:
items
- items to evaluatevalueProvider
- Provider of configuration values used for evaluation. The attributes that will be asked for from the provider should be provided bygetConfigurationAttributes()
.- Returns:
- a RunnableFuture that when run will return the evaluation result
-
getConfigurationAttributes
java.util.Collection<TypedPreference<?>> getConfigurationAttributes()
Gets information about which attributes may be configured during rule evaluation.- Returns:
- a list of configuration attributes
-
getId
java.lang.String getId()
- Returns:
- a unique id for this rule implementation
-
getName
java.lang.String getName()
- Returns:
- a human readable name for this rule
-
getTopic
java.lang.String getTopic()
- Returns:
- the topic for this rule, may be
null
-
-