public class RealtimeRecordDelayFilter extends AbstractFilterPlugin
IMonitoringRecord
s with delays computed from the
IMonitoringRecord.getLoggingTimestamp()
value
(assumed to be in the configured resolution). For example, after
initialization, if records with logging timestamps 3000 and 4500 nanos are
received, the first record is forwarded immediately; the second will be
forwarded 1500 nanos later. The acceleration factor can be used to
accelerate/slow down the replay (default 1.0, which means no
acceleration/slow down).IPlugin.PluginInputPortReference, IPlugin.STATE
Modifier and Type | Field and Description |
---|---|
static double |
CONFIG_PROPERTY_ACCELERATION_FACTOR_DEFAULT |
static java.lang.String |
CONFIG_PROPERTY_NAME_ACCELERATION_FACTOR
Factor to use for accelerating/slowing down the replay.
|
static java.lang.String |
CONFIG_PROPERTY_NAME_ADDITIONAL_SHUTDOWN_DELAY_SECONDS
The number of additional seconds to wait before execute the termination
(after all records have been forwarded).
|
static java.lang.String |
CONFIG_PROPERTY_NAME_NUM_WORKERS
The number of threads to be used for the internal
ThreadPoolExecutor , processing the scheduled
IMonitoringRecord s. |
static java.lang.String |
CONFIG_PROPERTY_NAME_TIMER
The precision of the used timer (MILLISECONDS or NANOSECONDS).
|
static java.lang.String |
CONFIG_PROPERTY_NAME_WARN_NEGATIVE_DELAY_SECONDS
The number of seconds of negative scheduling time that produces a warning.
|
static java.lang.String |
INPUT_PORT_NAME_RECORDS
The name of the input port receiving the records.
|
static java.lang.String |
OUTPUT_PORT_NAME_RECORDS
The name of the output port delivering the delayed records.
|
CONFIG_NAME, configuration, logger, projectContext, recordsTimeUnitFromProjectContext
Constructor and Description |
---|
RealtimeRecordDelayFilter(Configuration configuration,
IProjectContext projectContext)
Creates a new instance of this class using the given parameters.
|
Modifier and Type | Method and Description |
---|---|
Configuration |
getCurrentConfiguration()
This method should deliver a
Configuration object containing the current configuration of this instance. |
void |
inputRecord(IMonitoringRecord monitoringRecord)
This method represents the input port of this filter.
|
void |
terminate(boolean error)
Initiates a termination of the plugin.
|
init
areAllRepositoryPortsConnected, connect, connect, deliver, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getDefaultConfiguration, getIncomingPlugins, getPluginDescription, getPluginName, getRepository, getState, isConnectionAllowed, notifyNewIncomingConnection, notifyNewOutgoingConnection, shutdown, start
getName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getName, getPluginDescription, getPluginName, getState
public static final java.lang.String INPUT_PORT_NAME_RECORDS
public static final java.lang.String OUTPUT_PORT_NAME_RECORDS
public static final java.lang.String CONFIG_PROPERTY_NAME_NUM_WORKERS
ThreadPoolExecutor
, processing the scheduled
IMonitoringRecord
s.public static final java.lang.String CONFIG_PROPERTY_NAME_ADDITIONAL_SHUTDOWN_DELAY_SECONDS
public static final java.lang.String CONFIG_PROPERTY_NAME_WARN_NEGATIVE_DELAY_SECONDS
public static final java.lang.String CONFIG_PROPERTY_NAME_TIMER
public static final java.lang.String CONFIG_PROPERTY_NAME_ACCELERATION_FACTOR
public static final double CONFIG_PROPERTY_ACCELERATION_FACTOR_DEFAULT
public RealtimeRecordDelayFilter(Configuration configuration, IProjectContext projectContext)
configuration
- The configuration for this component.projectContext
- The project context for this component.public final void inputRecord(IMonitoringRecord monitoringRecord)
monitoringRecord
- The next monitoring record.public void terminate(boolean error)
AbstractFilterPlugin
AnalysisController.terminate(boolean)
instead.
After receiving this notification, the plugin should terminate any running
methods, e.g., read for readers.terminate
in interface IPlugin
terminate
in class AbstractFilterPlugin
error
- Determines whether the plugin is terminated due to an error or not.public Configuration getCurrentConfiguration()
Configuration
object containing the current configuration of this instance. In other words: The constructor should be
able to use the given object to initialize a new instance of this class with the same intern properties.getCurrentConfiguration
in interface IAnalysisComponent
getCurrentConfiguration
in interface IPlugin
getCurrentConfiguration
in class AbstractAnalysisComponent
Copyright 2021 Kieker Project, http://kieker-monitoring.net