Kieker 1.12

kieker.tools.currentTimeEventGenerator
Class CurrentTimeEventGenerationFilter

java.lang.Object
  extended by kieker.analysis.analysisComponent.AbstractAnalysisComponent
      extended by kieker.analysis.plugin.AbstractPlugin
          extended by kieker.analysis.plugin.filter.AbstractFilterPlugin
              extended by kieker.tools.currentTimeEventGenerator.CurrentTimeEventGenerationFilter
All Implemented Interfaces:
IAnalysisComponent, IFilterPlugin, IPlugin

public class CurrentTimeEventGenerationFilter
extends AbstractFilterPlugin

Generates time events with a given resolution based on the timestamps of incoming IMonitoringRecords.

  1. The first record received via inputTimestamp(Long) immediately leads to a new TimestampRecord with the given timestamp.
  2. The timestamp of the first record is stored as firstTimestamp and future events are generated at firstTimestamp + i * timerResolution.
  3. Future IMonitoringRecord may lead to future TimestampRecord as follows:
    1. A newly incoming IMonitoringRecord with logging timestamp tstamp leads to the new timer events satisfying firstTimestamp + i * timerResolution < tstamp.
It is guaranteed that the generated timestamps are in ascending order.

Since:
1.3
Author:
Andre van Hoorn

Nested Class Summary
 
Nested classes/interfaces inherited from interface kieker.analysis.plugin.IPlugin
IPlugin.PluginInputPortReference, IPlugin.STATE
 
Field Summary
static java.lang.String CONFIG_PROPERTY_NAME_TIME_RESOLUTION
          This is the name of the property to determine the time resolution.
static java.lang.String CONFIG_PROPERTY_NAME_TIMEUNIT
          Property name for the configuration of the timeunit.
static java.lang.String CONFIG_PROPERTY_VALUE_TIMEUNIT
           
static java.lang.String INPUT_PORT_NAME_NEW_RECORD
          This is the name of the input port receiving new records.
static java.lang.String INPUT_PORT_NAME_NEW_TIMESTAMP
          This is the name of the input port receiving new timestamps.
static java.lang.String OUTPUT_PORT_NAME_CURRENT_TIME_RECORD
          This is the name of the output port delivering the timestamp records.
static java.lang.String OUTPUT_PORT_NAME_CURRENT_TIME_VALUE
          This is the name of the output port delivering the timestamps.
 
Fields inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
CONFIG_NAME, configuration, log, LOG, projectContext, recordsTimeUnitFromProjectContext
 
Constructor Summary
CurrentTimeEventGenerationFilter(Configuration configuration, IProjectContext projectContext)
          Creates an event generator which generates time events with the given resolution in timeunits via the output port OUTPUT_PORT_NAME_CURRENT_TIME_RECORD.
 
Method Summary
 Configuration getCurrentConfiguration()
          This method should deliver a Configuration object containing the current configuration of this instance.
 void inputRecord(IMonitoringRecord record)
          This method represents the input port for new records.
 void inputTimestamp(java.lang.Long timestamp)
          Evaluates the given timestamp internal current time which may lead to newly generated events via OUTPUT_PORT_NAME_CURRENT_TIME_RECORD.
 
Methods inherited from class kieker.analysis.plugin.filter.AbstractFilterPlugin
init, terminate
 
Methods inherited from class kieker.analysis.plugin.AbstractPlugin
areAllRepositoryPortsConnected, connect, connect, deliver, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getDefaultConfiguration, getIncomingPlugins, getPluginDescription, getPluginName, getRepository, getState, isConnectionAllowed, notifyNewIncomingConnection, notifyNewOutgoingConnection, shutdown, start
 
Methods inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface kieker.analysis.plugin.IPlugin
connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getName, getPluginDescription, getPluginName, getState
 

Field Detail

INPUT_PORT_NAME_NEW_TIMESTAMP

public static final java.lang.String INPUT_PORT_NAME_NEW_TIMESTAMP
This is the name of the input port receiving new timestamps.

See Also:
Constant Field Values

INPUT_PORT_NAME_NEW_RECORD

public static final java.lang.String INPUT_PORT_NAME_NEW_RECORD
This is the name of the input port receiving new records.

See Also:
Constant Field Values

OUTPUT_PORT_NAME_CURRENT_TIME_RECORD

public static final java.lang.String OUTPUT_PORT_NAME_CURRENT_TIME_RECORD
This is the name of the output port delivering the timestamp records.

See Also:
Constant Field Values

OUTPUT_PORT_NAME_CURRENT_TIME_VALUE

public static final java.lang.String OUTPUT_PORT_NAME_CURRENT_TIME_VALUE
This is the name of the output port delivering the timestamps.

See Also:
Constant Field Values

CONFIG_PROPERTY_NAME_TIME_RESOLUTION

public static final java.lang.String CONFIG_PROPERTY_NAME_TIME_RESOLUTION
This is the name of the property to determine the time resolution.

See Also:
Constant Field Values

CONFIG_PROPERTY_NAME_TIMEUNIT

public static final java.lang.String CONFIG_PROPERTY_NAME_TIMEUNIT
Property name for the configuration of the timeunit.

See Also:
Constant Field Values

CONFIG_PROPERTY_VALUE_TIMEUNIT

public static final java.lang.String CONFIG_PROPERTY_VALUE_TIMEUNIT
See Also:
Constant Field Values
Constructor Detail

CurrentTimeEventGenerationFilter

public CurrentTimeEventGenerationFilter(Configuration configuration,
                                        IProjectContext projectContext)
Creates an event generator which generates time events with the given resolution in timeunits via the output port OUTPUT_PORT_NAME_CURRENT_TIME_RECORD.

Parameters:
configuration - The configuration to be used for this plugin.
projectContext - The project context to be used for this plugin.
Method Detail

inputRecord

public void inputRecord(IMonitoringRecord record)
This method represents the input port for new records.

Parameters:
record - The next record.

inputTimestamp

public void inputTimestamp(java.lang.Long timestamp)
Evaluates the given timestamp internal current time which may lead to newly generated events via OUTPUT_PORT_NAME_CURRENT_TIME_RECORD.

Parameters:
timestamp - The next timestamp.

getCurrentConfiguration

public Configuration getCurrentConfiguration()
This method should deliver a 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.

Specified by:
getCurrentConfiguration in interface IAnalysisComponent
Specified by:
getCurrentConfiguration in interface IPlugin
Specified by:
getCurrentConfiguration in class AbstractAnalysisComponent
Returns:
A completely filled configuration object.

Kieker 1.12

Copyright 2015 Kieker Project, http://kieker-monitoring.net