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
`static String` `DEFAULT_AGGREGATED_KEYS_SERIES_FORMAT`
`protected static String` `DEFAULT_GROUP`
`static String` `DEFAULT_OVERALL_SERIES_FORMAT`
`static String` `RESULT_MAX_X`
`static String` `RESULT_MAX_Y`
`static String` `RESULT_MIN_X`
`static String` `RESULT_MIN_Y`
`static String` `RESULT_SERIES`
`static String` `RESULT_SERIES_DATA`
`static String` `RESULT_SERIES_IS_CONTROLLER`
`static String` `RESULT_SERIES_IS_OVERALL`
`static String` `RESULT_SERIES_NAME`
`static String` `RESULT_SUPPORTS_CONTROLLERS_DISCRIMINATION`
`static String` `RESULT_TITLE`

### Constructor Summary

Constructors
`protected` `AbstractGraphConsumer()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`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)`
`String` `getAggregatedKeysSeriesFormat()` Gets the format for the name of aggregated keys seriesData.
`protected HashMap<String,GroupInfo>` `getGroupInfos()` Gets the group information.
`protected boolean` `getInvertsKeysAndValues()` Get flag to indicate we should swap keys and values.
`protected GraphKeysSelector` `getKeysSelector()` Gets the keys selector.
`String` `getOverallSeriesFormat()` Gets the format of the "overall" seriesData name.
`String` `getTitle()` Gets the title of the graph.
`void` `initialize()`
`protected abstract void` `initializeExtraResults(MapResultData parentResult)` Inherited classes can add properties to the result
`boolean` `rendersPercentiles()` Indicates if the graph renders percentiles.
`void` `setAggregatedKeysSeriesFormat(String aggregatedKeysSeriesFormat)` Sets the format for the name of aggregated keys seriesData.
`void` `setOverallSeriesFormat(String overallSeriesFormat)` Sets the format of the "overall" seriesData name.
`void` `setRenderPercentiles(boolean renderPercentiles)` Enables or disables the percentiles render.
`protected void` `setRevertKeysAndValues(boolean invertKeysAndValues)` Set flag to indicate we should swap keys and values.
`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 Detail

#### 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 Detail

#### AbstractGraphConsumer

    protected AbstractGraphConsumer()

### Method Detail

#### 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()