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 IRuleRules 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.StringgetId()java.lang.StringgetName()java.lang.StringgetTopic()
-
-
-
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
-
-