Customizing Graphs Plugins

Filtering Samples

You may ignore results by sampler names, setting Include/Exclude criteria at Rows tab. Multiple labels may be specified using comma as separator. You can also use a regular expression by checking the appropriate check box.

Standard displayFiltered display

You can set an interval to display results with Start / End offset (seconds) relative to the first timestamp in the logs (result jtl, csv) file.

Standard displayFiltered display

Saving the Outputs

Saving Image

You can either copy the Graphs to clipboard or save them to a PNG image file by right-clicking them and using the pop-up menu:

Saving Data

You can also export the data of the chart in a csv file using the same pop-up.

Filtering Rows

You can show/hide rows using the Rows Selector Tab:

Tuning the Graphs Plugins

You have the possibility to fine tune the rendering and some aspects of the plugins using the Settings Tab. Please note that all the options are not available for all Graphs, it depends of the type of Graph you are using. The Settings Panel is adapted to each Graph. A preview panel will show in real time the impact of the changes.

Time Line Settings

Group Values Interval

By default, the Graphs plugins are aggregating the values received by JMeter for intervals of 500 ms or 1 sec. You can change this default value for a bigger one if you plan to have long test runs. It will result in less memory used, lesser points in the Graphs. The drawback is you will loose some granularity as this option has impact on the metrics collected. It is recommended to use instead the Limit number of points option, except if you have real memory problems because of huge tests. This option will be saved in the test plan.

Normal displayRun of the same test with bigger grouping value

Standard / Aggregate Display

This option is very useful as it gives you 2 graphs in one. You can get either a detailed display, which consist of one row per sample, or an aggregated one, which will average or sum (depending of the graph type) all the values and display a single row. Note you can switch in real time between them. This option is saved in the test plan.

Standard displayAggregate display

Relative Time

This option will display time based graphs X axis relative to the test start time.

Standard timeRelative time

Rendering Options

Some of these options can be set globally using the user.properties file as described in the installation procedure.
You can change them dynamically during the test, they will not be saved in the test plan.

Paint Gradient

Enable or disable the gradient paint as background of the chart. It may be useful to remove it if you plan to print the chart.

Gradient enabledGradient disabled

Draw Zeroing Lines

This option draw at the beginning and at the end of each row a vertical line from the point to the horizontal axis. It can be nice for the thread state over time graph for instance.

Without Final zeroing linesWith Final zeroing lines

Draw Current X Line

This option will draw a vertical line to show which value is updated in the chart. This can be used for non time based Graphs, such as Response time vs Threads:

With Draw current X line enabled

Limit Number of Points in Row

This is the most helpful option. It will dynamically reduce the number of points of the rows for better readability. You just specify how many maximum points can be displayed, and the chart will adapt itself. This can be enabled/disable in real time, with no impact on the metrics collected.

Normal displayDisplay with limit number of point enabled

Prevent X Axis Range to Adapt to Outliers

This option is used only for the Response Time Distribution graph. By selecting it, it will prevent the graph to be scaled for outliers values. In the following example, you can see there was a timeout which occurs during the test. The impact on the chart is the X axis scales itself to display this value, and all other ones become difficult to see. By selecting this option, these kind of values will be ignored when drawing the graph.

Normal displayWith option to prevent outliers

Hide Non-representative Points

This option is used for graphs with thread count as X axis. For these kind of graphs, we can expect to see values based on the ramp up strategy used. For instance, in the following ramp up, we expect to see values for (10, 20, 30, ... , 100) users:

But during the test, at some point of time we have different count during the ramp up or ramp down between 2 steps. And this will show non-representative values, as we may have only few of them for a given thread count.

This option is here to remove these non representative points.

Normal display
With Hide non representative points option

Color

Double-Click to Change Color

When you double click on the colored square in the legend, JMeterPlugins chooses a different color for you. A Choser(http://docs.oracle.com/javase/tutorial/uiswing/components/colorchooser.html) box is not currently available.

Double click on the colored square in the legend to change color of the line
ColorsDispatcher

When you double-click, by default the CycleColors dispatcher is used There are 2 other dispatchers now available:

* HueRotatePalette * CustomPalette

To use either palette, please uncomment either set of properties in your user.properties file

# HueRotatePalette properties
#  - options property has 3 fields
#    - Starting color
#    - Number of hue rotations 
#    - Number of gradient shades from black->gray (can be 0)
#jmeterPlugin.customColorsDispatcher=huerotate
#jmeterPlugin.customColorsDispatcher.options=9C27B0,8,4
# CustomPalette properties
#  - options property is simply a comma seperated list of color values
#jmeterPlugin.customColorsDispatcher=custompalette
#jmeterPlugin.customColorsDispatcher.options = 000000,616161,9e9e9e,f44336,9c27b0,3f51b5,2196f3,00bcd4,009688,4caf50,8bc34a,ffc107,ff9800,ff5722,795548,e91e63,673ab7,03a9f4,827717,33691e,00acc1,00897b,9575cd

NB: You can use this in addition to the labelToColorMapping property below

Color Consistency

What color is the CPU line for this graph? If the answer is the same color for every single graph, the audience of your performance graphs will be thankful that you haven't needlessly switched things around.

For example, let's say you want to make the CPU line blue for all graphs. Just add this property in the JMETER_HOME/bin/user.properties file:

jmeterPlugin.labelToColorMapping=cpu=blue

To provide a color mapping for additional labels, just add a colon between the mappings, as shown below.

Specify the color you want for labels with particular text.

Notes:

- Colors can be specified using either the case-insensitive html color name or the the 6-hex-digit RGB value preceded by the pound/hash sign (#). For details, see here(http://www.w3schools.com/htmL/html_colornames.asp).

For example, the text "cpu=blue" in the above image is equivalent to both "cPu=Blue" and "CPu="#0000FF", which also shows that label matching is case insensitive.

- JMeter must be restarted to pick up changes in the user.properties file. - Each label in the legend on a "jp@gc - Composite Graph" each has two parts, separated by " > ".

The jmeterPlugin.labelToColorMapping only governs the part on the right of the " > ", as shown with the three black underlines in the above image.

- Using spaces in label names is allowed. For instance, using "myhost CPU=blue:yourhost CPU=red" is required to avoid having multiple lines

render (confusingly) the same color if using "cpu=blue".

- The order (left-to-right) of the mappings in the property matters; the first match wins. - Label matching happens with case-insensitive java.lang.String#contains(). RegEx is not supported.

Other Color Tricks

If your labels include the text 01, 02, 03, etc, then these colors:

...can be obtained using this property:

#Shades of Orange
jmeterPlugin.labelToColorMapping=01=#FFF3E0:02=#FFE0B2:03=#FFCC80:04=#FFB74D:05=#FFA726:06=#FF9800:07=#FB8C00:08=#F57C00:09=#EF6C00:10=#E65100

Below are some additional palettes, all stolen from here(http://www.google.com/design/spec/style/color.html#).

## Reds:
#jmeterPlugin.labelToColorMapping=01=#FFEBEE:02=#FFCDD2:03=#EF9A9A:04=#E57373:05=#EF5350:06=#F44336:07=#E53935:08=#D32F2F:09=#C62828:10=#B71C1C
## Blue
#jmeterPlugin.labelToColorMapping=01=#E3F2FD:02=#BBDEFB:03=#90CAF9:04=#64B5F6:05=#42A5F5:06=#2196F3:07=#1E88E5:08=#1976D2:09=#1565C0:10=#0D47A1
## Green
#jmeterPlugin.labelToColorMapping=01=#E8F5E9:02=#C8E6C9:03=#A5D6A7:04=#81C784:05=#66BB6A:06=#4CAF50:07=#43A047:08=#388E3C:09=#2E7D32:10=#1B5E2
## Brown
#jmeterPlugin.labelToColorMapping=01=#EFEBE9:02=#D7CCC8:03=#BCAAA4:04=#A1887F:05=#8D6E63:06=#795548:07=#6D4C41:08=#5D4037:09=#4E342E:10=#3E2723