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