Skip to content

Add External Live Reporting

External Live Reporting

While the test is running in OctoPerf it is also possible to ask OctoPerf to send the metrics to another database. To that end we have implemented several backend listeners from JMeter. Feel free to get in touch with us at support@octoperf.com if you would see others implemented.

The general principle is that every load generator will send its metrics in real time to your database. In the case of large tests, this may result in a large amount of metrics to integrate, make sure to dimension it properly.

Warning

Make sure that your database will be accessible from the load generators while the test is running, otherwise it will not be possible for OctoPerf to send the metrics. In case of a closed environment you can use an on premise agent to that end.

InfluxDB / Grafana

The InfluxDB External reporting allows you to send metrics to your own InfluxDB database and display them in your own grafana dashboards. It is based upon the JMeter InfluxDB backend listener.

InfluxDB / Grafana

Name Description
URL URL of your influxDB database in regards to the OctoPerf load generators. Make sure this is accessible from the load generators.
Token Influx DB Authentication token.
Application Name of the application under test. This will be stored in the events as a tag named application
Measurement Measurement as per Influx Line Protocol Reference.
Event tags Grafana allows a tag for each annotation. This value is stored in the events** measurement as a tag named tags.
Custom tags Custom tags that you want to add for this test.
Percentiles The percentiles you want to send to influxDB. A percentile may contain a fractional part, for example 12.5 (The separator is always ".")
Send detailed metrics When disabled, only a summary with no detail is sent.
Regular expression action names Only the transaction/request names matching this regex will be sent to influxDB.

Note

OctoPerf will automatically add Custom tags as follows:

  • TAG_region = Provider's region
  • TAG_hostname = JMeter container name
  • TAG_virtualUserName = Virtual user name

On top of that we also write the runtime scenario name to testTitle in the backend listener.

Graphite

The Graphite external reporting will push the OctoPerf metrics to your Graphite database during the test. It is based upon the JMeter Graphite backend listener.

Graphite

Name Description
Metrics sender The implementation class that will be used as the metrics sender.
Hostname Graphite hostname. Make sure this is accessible from the load generators.
Port Graphite port.
Root metric prefix The prefix in front of each metric.
Percentiles The percentiles you want to send to influxDB. A percentile may contain a fractional part, for example 12.5 (The separator is always ".")
Send detailed metrics When disabled, only a summary with no detail is sent.
Action names If "Regular expression action names" is activated only the transaction/request names matching this regex will be sent to Graphite. If "Regular expression action names" is disabled a list of the transaction/request names must be provided instead.

Dynatrace

Similarly it is possible to use this mechanism to send detailed metrics to your Dynatrace account. If you need more details on the implementation and available metrics, check Dynatrace's JMeter plugin documentation.

Dynatrace

Name Description
URL Your Dynatrace URL.
API token Your Dynatrace API Token, the procedure to generate one is available here.
Transaction dimensions A comma-separated list of key=value pairs which will be used as dimensions for the test step related metrics.
Test dimensions A comma-separated list of key=value pairs which will be used as dimensions for the test related metrics.

Note

OctoPerf will automatically add Test dimensions as follows:

  • region = Provider's region
  • hostname = JMeter container name
  • virtualUserName = Virtual user name
  • testName = runtime scenario name

Datadog

Datadog also offers a JMeter integration that you can activate during your tests. Check their documentation to have more details.

external-live-reporting-datadog

Name Description
URL Your Datadog URL. Usually .com or .eu depending on your datadog instance location.
Log intake URL Your Datadog Log intake URL. Usually .com or .eu depending on your datadog instance location.
Api key Your Datadog API key.
Metrics Max Batch Size Metrics are submitted every 10 seconds in batches of this size
Logs Batch Size Logs are submitted in batches of size logsBatchSize as soon as this size is reached.
Send results as logs By default only metrics are reported to Datadog. To report individual test results as log events, set this field to true.
Include sub-results By default sub-results are ignored. Activate this option to send them.
Custom tags Tags to be added to this test.
Samplers Regular expression A regex to filter the sampler to collect.

Note

OctoPerf will automatically add Custom tags as follows:

  • region = Provider's region
  • hostname = JMeter container name
  • virtualUserName = Virtual user name
  • testName = runtime scenario name

Troubleshooting

If you do not see the metrics in your database afterward, try checking the JMeter logs for error messages like this:

ERROR o.a.j.v.b.i.HttpMetricsSender: Error writing metrics to influxDB Url: http://172.17.0.1:8086/api/v2/write?org=test-org&bucket=test_octoperf, responseCode: 401, responseBody: {"code":"unauthorized","message":"unauthorized access"}

external-reporting-error

In this situation your token might be incorrect or expired but other messages will tell you more about what's the issue.