]>
Since JMeter 2.13 you can get realtime results sent to a backend through the
Backend Listener using potentially any backend (JDBC, JMS, Webservice, …) implementing AbstractBackendListenerClient.
JMeter ships with a GraphiteBackendListenerClient which allows you to send metrics to a Graphite Backend.
This feature provides:
In this document we will present the configuration setup to graph and historize the data in 2 different backends:
Threads metrics are the following:
<rootMetricsPrefix>.test.minAT
<rootMetricsPrefix>.test.maxAT
<rootMetricsPrefix>.test.meanAT
<rootMetricsPrefix>.test.startedT
<rootMetricsPrefix>.test.endedT
Response related metrics are the following:
<rootMetricsPrefix>.<samplerName>.ok.count
<rootMetricsPrefix>.<samplerName>.h.count
<rootMetricsPrefix>.<samplerName>.ok.min
<rootMetricsPrefix>.<samplerName>.ok.max
<rootMetricsPrefix>.<samplerName>.ok.pct<percentileValue>
99.9
", dot is sanitized by "_
" leading to 99_9
.
By default listener computes percentiles 90%, 95% and 99%<rootMetricsPrefix>.<samplerName>.ko.count
<rootMetricsPrefix>.<samplerName>.ko.min
<rootMetricsPrefix>.<samplerName>.ko.max
<rootMetricsPrefix>.<samplerName>.ko.pct<percentileValue>
99.9
", dot is sanitized by "_
" leading to 99_9
.
By default listener computes percentiles 90%, 95% and 99%<rootMetricsPrefix>.<samplerName>.a.count
<rootMetricsPrefix>.<samplerName>.a.min
<rootMetricsPrefix>.<samplerName>.a.max
<rootMetricsPrefix>.<samplerName>.a.pct<percentileValue>
99.9
", dot is sanitized by "_
" leading to 99_9
.
By default listener computes percentiles 90%, 95% and 99%
By default JMeter sends only metrics for all samplers using "all
" as samplerName.
To make JMeter send metrics to backend add a BackendListener using the GraphiteBackendListenerClient.
InfluxDB is an open-source, distributed,time-series database that allows to
easily store metrics.
Installation and configuration is very easy, read this for more details InfluxDB documentation.
InfluxDB data can be easily viewed in a browser through either Influga or Grafana.
We will use Grafana in this case.
To enable Graphite listener in InfluxDB, edit files /opt/influxdb/shared/config.toml
or /usr/local/etc/influxdb.conf
,
find "input_plugins.graphite
" and set this:
Connect to InfluxDB admin console and create two databases:
influxdb.conf
or config.toml
Installing grafana is just a matter of putting the unzipped bundle behind an Apache HTTP server.
Read documentation for more details.
Open config.js
file and find datasources
element, and edit it like this:
grafanaDB:true
". Also note that here we use root
user for simplicity
It is better to dedicate a special user with less rights.
TODO.