Package org.apache.jmeter.report.processor.graph

# Class AbstractGraphConsumer

java.lang.Object
org.apache.jmeter.report.processor.AbstractSampleProcessor
org.apache.jmeter.report.processor.AbstractSampleConsumer
org.apache.jmeter.report.processor.graph.AbstractGraphConsumer

All Implemented Interfaces:
  `SampleConsumer`, `SampleProcessor`, `SampleProducer`

Direct Known Subclasses:
  `AbstractOverTimeGraphConsumer`, `AbstractVersusRequestsGraphConsumer`, `ResponseTimeDistributionGraphConsumer`, `ResponseTimePercentilesGraphConsumer`, `ResponseTimePerSampleGraphConsumer`, `SyntheticResponseTimeDistributionGraphConsumer`, `TimeVSThreadGraphConsumer`

public abstract class AbstractGraphConsumer extends AbstractSampleConsumer

The class AbstractGraphConsumer provides a consumer that build a sorted map from samples. It uses a projection to define the key (x-axis coordinate) and an aggregator to define the value (y-axis coordinate).

About the seriesData:

Series are defined by the seriesSelector, so they can be static or dynamic (sample linked) depending on the implementation of the selector.

About the groupData:

The grapher build an aggregator for each seriesData/key pair using an external factory. All groupData from a series do the same aggregate calculation.

About the keys (x-axis coordinates):

Keys are defined by the keysSelector for each seriesData, so the keys can be different depending on the seriesData

About the values (y-axis coordinates):

Values are defined by the result aggregate produced by each aggregator. During consumption, values to add to the groupData are defined by the valueSelector.

Since:
  3.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DEFAULT_AGGREGATED_KEYS_SERIES_FORMAT`
  `protected static final String`
  `DEFAULT_GROUP`
  `static final String`
  `DEFAULT_OVERALL_SERIES_FORMAT`
  `static final String`
  `RESULT_MAX_X`
  `static final String`
  `RESULT_MAX_Y`
  `static final String`
  `RESULT_MIN_X`
  `static final String`
  `RESULT_MIN_Y`
  `static final String`
  `RESULT_SERIES`
  `static final String`
  `RESULT_SERIES_DATA`
  `static final String`
  `RESULT_SERIES_IS_CONTROLLER`
  `static final String`
  `RESULT_SERIES_IS_OVERALL`
  `static final String`
  `RESULT_SERIES_NAME`
  `static final String`
  `RESULT_SUPPORTS_CONTROLLERS_DISCRIMINATION`
  `static final String`
  `RESULT_TITLE`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AbstractGraphConsumer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `consume(Sample sample, int channel)`
  Consumes the specified sample ton the specified channel.
  `protected abstract Map<String,GroupInfo>`
  `createGroupInfos()`
  `protected abstract GraphKeysSelector`
  `createKeysSelector()`
  `protected MapResultData`
  `createSerieResult(String series, SeriesData seriesData)`
  `final String`
  `getAggregatedKeysSeriesFormat()`
  Gets the format for the name of aggregated keys seriesData.
  `protected final HashMap<String,GroupInfo>`
  `getGroupInfos()`
  Gets the group information.
  `protected final boolean`
  `getInvertsKeysAndValues()`
  Get flag to indicate we should swap keys and values.
  `protected final GraphKeysSelector`
  `getKeysSelector()`
  Gets the keys selector.
  `final String`
  `getOverallSeriesFormat()`
  Gets the format of the "overall" seriesData name.
  `final String`
  `getTitle()`
  Gets the title of the graph.
  `void`
  `initialize()`
  `protected abstract void`
  `initializeExtraResults(MapResultData parentResult)`
  Inherited classes can add properties to the result
  `final boolean`
  `rendersPercentiles()`
  Indicates if the graph renders percentiles.
  `final void`
  `setAggregatedKeysSeriesFormat(String aggregatedKeysSeriesFormat)`
  Sets the format for the name of aggregated keys seriesData.
  `final void`
  `setOverallSeriesFormat(String overallSeriesFormat)`
  Sets the format of the "overall" seriesData name.
  `final void`
  `setRenderPercentiles(boolean renderPercentiles)`
  Enables or disables the percentiles render.
  `protected final void`
  `setRevertKeysAndValues(boolean invertKeysAndValues)`
  Set flag to indicate we should swap keys and values.
  `final void`
  `setTitle(String title)`
  Sets the title of the graph.
  `void`
  `startConsuming()`
  Start the sample consuming.
  `void`
  `stopConsuming()`
  Stops the consuming process.

  ### Methods inherited from class org.apache.jmeter.report.processor.AbstractSampleConsumer

  `addSampleConsumer, getConsumedChannelCount, getConsumedMetadata, getConsumer, getDataFromContext, getName, getWorkingDirectory, produce, removeSampleConsumer, setChannelAttribute, setConsumedMetadata, setDataToContext, setName, setProducedMetadata, setSampleConsumer, setSampleConsumers, setSampleContext, startProducing, stopProducing`

  ### Methods inherited from class org.apache.jmeter.report.processor.AbstractSampleProcessor

  `getChannelAttribute, getSampleContext`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.jmeter.report.processor.SampleProcessor

  `getChannelAttribute, getSampleContext`

- ## Field Details

  - ### DEFAULT_GROUP

    protected static final String DEFAULT_GROUP
    See Also:
      - Constant Field Values

  - ### RESULT_MIN_X

    public static final String RESULT_MIN_X
    See Also:
      - Constant Field Values

  - ### RESULT_MAX_X

    public static final String RESULT_MAX_X
    See Also:
      - Constant Field Values

  - ### RESULT_MIN_Y

    public static final String RESULT_MIN_Y
    See Also:
      - Constant Field Values

  - ### RESULT_MAX_Y

    public static final String RESULT_MAX_Y
    See Also:
      - Constant Field Values

  - ### RESULT_TITLE

    public static final String RESULT_TITLE
    See Also:
      - Constant Field Values

  - ### RESULT_SUPPORTS_CONTROLLERS_DISCRIMINATION

    public static final String RESULT_SUPPORTS_CONTROLLERS_DISCRIMINATION
    See Also:
      - Constant Field Values

  - ### RESULT_SERIES

    public static final String RESULT_SERIES
    See Also:
      - Constant Field Values

  - ### RESULT_SERIES_NAME

    public static final String RESULT_SERIES_NAME
    See Also:
      - Constant Field Values

  - ### RESULT_SERIES_DATA

    public static final String RESULT_SERIES_DATA
    See Also:
      - Constant Field Values

  - ### RESULT_SERIES_IS_CONTROLLER

    public static final String RESULT_SERIES_IS_CONTROLLER
    See Also:
      - Constant Field Values

  - ### RESULT_SERIES_IS_OVERALL

    public static final String RESULT_SERIES_IS_OVERALL
    See Also:
      - Constant Field Values

  - ### DEFAULT_OVERALL_SERIES_FORMAT

    public static final String DEFAULT_OVERALL_SERIES_FORMAT
    See Also:
      - Constant Field Values

  - ### DEFAULT_AGGREGATED_KEYS_SERIES_FORMAT

    public static final String DEFAULT_AGGREGATED_KEYS_SERIES_FORMAT
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### AbstractGraphConsumer

    protected AbstractGraphConsumer()

- ## Method Details

  - ### getGroupInfos

    protected final HashMap<String,GroupInfo> getGroupInfos()
    Gets the group information.
    Returns:
      the group information

  - ### getInvertsKeysAndValues

    protected final boolean getInvertsKeysAndValues()
    Get flag to indicate we should swap keys and values.
    Returns:
      the invertKeysAndValues flag

  - ### setRevertKeysAndValues

    protected final void setRevertKeysAndValues(boolean invertKeysAndValues)
    Set flag to indicate we should swap keys and values.
    Parameters:
      `invertKeysAndValues` - the reverts keys and values

  - ### rendersPercentiles

    public final boolean rendersPercentiles()
    Indicates if the graph renders percentiles.
    Returns:
      true if percentiles are rendered; false otherwise

  - ### setRenderPercentiles

    public final void setRenderPercentiles(boolean renderPercentiles)
    Enables or disables the percentiles render.
    Parameters:
      `renderPercentiles` - flag to render percentiles or not

  - ### getKeysSelector

    protected final GraphKeysSelector getKeysSelector()
    Gets the keys selector.
    Returns:
      the keys selector

  - ### getOverallSeriesFormat

    public final String getOverallSeriesFormat()
    Gets the format of the "overall" seriesData name.
    Returns:
      the format of the "overall" seriesData name

  - ### setOverallSeriesFormat

    public final void setOverallSeriesFormat(String overallSeriesFormat)
    Sets the format of the "overall" seriesData name.
    Parameters:
      `overallSeriesFormat` - the name of "overall" seriesData to set

  - ### getAggregatedKeysSeriesFormat

    public final String getAggregatedKeysSeriesFormat()
    Gets the format for the name of aggregated keys seriesData.
    Returns:
      the format for the name of aggregated keys seriesData

  - ### setAggregatedKeysSeriesFormat

    public final void setAggregatedKeysSeriesFormat(String aggregatedKeysSeriesFormat)
    Sets the format for the name of aggregated keys seriesData.
    Parameters:
      `aggregatedKeysSeriesFormat` - the format for the name of aggregated keys seriesData to set

  - ### getTitle

    public final String getTitle()
    Gets the title of the graph.
    Returns:
      the title of the graph

  - ### setTitle

    public final void setTitle(String title)
    Sets the title of the graph.
    Parameters:
      `title` - the title to set

  - ### createKeysSelector

    protected abstract GraphKeysSelector createKeysSelector()

  - ### createGroupInfos

    protected abstract Map<String,GroupInfo> createGroupInfos()

  - ### createSerieResult

    protected MapResultData createSerieResult(String series, SeriesData seriesData)
    Parameters:
      `series` - The series name
      `seriesData` - `SeriesData`
    Returns:
      MapResultData metadata for serie

  - ### initializeExtraResults

    protected abstract void initializeExtraResults(MapResultData parentResult)
    Inherited classes can add properties to the result
    Parameters:
      `parentResult` - the parent result

  - ### startConsuming

    public void startConsuming()
    Description copied from interface: `SampleConsumer`
    Start the sample consuming. This step is used by consumer to initialize their process.

  - ### consume

    public void consume(Sample sample, int channel)
    Description copied from interface: `SampleConsumer`
    Consumes the specified sample ton the specified channel.
    Parameters:
      `sample` - The sample to be consumed
      `channel` - The channel on which the sample is consumed

  - ### stopConsuming

    public void stopConsuming()
    Description copied from interface: `SampleConsumer`
    Stops the consuming process. No sample will be processed after this service has been called.

  - ### initialize

    public void initialize()