Kieker 1.9

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 String CONFIG_PROPERTY_NAME_TIME_RESOLUTION
          This is the name of the property to determine the time resolution.
static String CONFIG_PROPERTY_NAME_TIMEUNIT
           
static String CONFIG_PROPERTY_VALUE_TIMEUNIT
           
static String INPUT_PORT_NAME_NEW_RECORD
          This is the name of the input port receiving new records.
static String INPUT_PORT_NAME_NEW_TIMESTAMP
          This is the name of the input port receiving new timestamps.
static String OUTPUT_PORT_NAME_CURRENT_TIME_RECORD
          This is the name of the output port delivering the timestamp records.
static 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
 
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. 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.
 void inputRecord(IMonitoringRecord record)
          This method represents the input port for new records.
 void inputTimestamp(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, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getIncomingPlugins, getPluginDescription, getPluginName, getState, isConnectionAllowed, shutdown, start
 
Methods inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
getName
 
Methods inherited from class java.lang.Object
equals, 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 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 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 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 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 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 String CONFIG_PROPERTY_NAME_TIMEUNIT
See Also:
Constant Field Values

CONFIG_PROPERTY_VALUE_TIMEUNIT

public static final 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(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.9

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