Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Kieker 1.10
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## kieker.tools.currentTimeEventGenerator
Class CurrentTimeEventGenerationFilter

    java.lang.Object
      kieker.analysis.analysisComponent.AbstractAnalysisComponent
          kieker.analysis.plugin.AbstractPlugin
              kieker.analysis.plugin.filter.AbstractFilterPlugin
                  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 `IMonitoringRecord`s.

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` Property name for the configuration of the 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.
`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

  Property name for the configuration of the 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Kieker 1.10
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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