New Relic integration for Gatling
Send load test metrics to New Relic.
Introduction
The New Relic integration allows Gatling Enterprise Edition to send load-test metrics - such as response times, throughput, and error rates - directly into New Relic. Once enabled, performance data from Gatling Enterprise Edition is sent to New Relic, where it can be correlated with infrastructure and application metrics already collected in New Relic.
With this integration in place, you can:
- Monitor Gatling scenarios alongside server-level KPIs (CPU, memory, network) in a single dashboard.
- Investigate performance issues more effectively by overlaying load-test metrics on traces, logs, and resource utilization charts.
Prerequisites
- A valid New Relic license key (for the metrics and events APIs)
- Your New Relic organization id (for the events)
- A Gatling Enterprise Edition account with private locations that can connect to the New Relic database.
Install the New Relic integration
The New Relic integration requires installation steps on your private locations control plane.
In your control-plane configuration, in the section system-properties, add:
control-plane {
locations = [
{
system-properties {
"gatling.enterprise.newrelic.license.key" = "<your NewRelic license key>"
"gatling.enterprise.newrelic.account" = "<your NewRelic account>" # for events
"gatling.enterprise.newrelic.dc" = "US|EU" # optional, default is US
"gatling.enterprise.newrelic.useProxy" = "<true to use the same proxy as for the Gatling API>" # optional, default is false
}
}
]
}
Uninstall the New Relic integration
To remove the link between Gatling Enterprise Edition and New Relic, remove the lines containing gatling.enterprise.newrelic in your control-plane configuration.
Metrics
Common attributes
All metrics Gatling Enterprise Edition pushes to NewRelic use the following attributes:
| Common attributes | Description |
|---|---|
run_id |
the ID of your run |
test |
the name of your test |
team |
the ID of the team your test belongs to |
load_generator |
the 0-based index of the load generator in the cluster used to run your test |
Extra user-defined attributes
You can set extra attributes with Java System properties set on your test. These System properties must follow the convention:
- name:
gatling.enterprise.newrelic.attributes.<ATTRIBUTE_NAME> - vale:
<ATTRIBUTE_VALUE>
Pushed Metrics
Gatling Enterprise Edition sends the following metrics in your New Relic account:
| Metrics | Type | Specific attributes |
|---|---|---|
gatling_enterprise.user.start_countgatling_enterprise.user.end_countgatling_enterprise.user.concurrent |
count | scenario |
gatling_enterprise.request.count |
count | scenario group request |
gatling_enterprise.response.count |
count | scenario group request status |
gatling_enterprise.response.code |
count | scenario group request code |
gatling_enterprise.response.response_time.meangatling_enterprise.response.response_time.mingatling_enterprise.response.response_time.p50gatling_enterprise.response.response_time.p95gatling_enterprise.response.response_time.p99gatling_enterprise.response.response_time.p999gatling_enterprise.response.response_time.max |
gauge | scenario group request status |
gatling_enterprise.group.count |
count | scenario group status |
gatling_enterprise.group.duration.meangatling_enterprise.group.duration.mingatling_enterprise.group.duration.p50gatling_enterprise.group.duration.p95gatling_enterprise.group.duration.p99gatling_enterprise.group.duration.p999gatling_enterprise.group.duration.maxgatling_enterprise.group.cumulated.meangatling_enterprise.group.cumulated.mingatling_enterprise.group.cumulated.p50gatling_enterprise.group.cumulated.p95gatling_enterprise.group.cumulated.p99gatling_enterprise.group.cumulated.p999gatling_enterprise.group.cumulated.max |
gauge | scenario group status |
gatling_enterprise.dns.count |
count | hostname status |
gatling_enterprise.dns.time.meangatling_enterprise.dns.time.mingatling_enterprise.dns.time.p50gatling_enterprise.dns.time.p95gatling_enterprise.dns.time.p99gatling_enterprise.dns.time.p999gatling_enterprise.dns.time.max |
gauge | hostname status |
gatling_enterprise.bandwidth_usage.sentgatling_enterprise.bandwidth_usage.receivedgatling_enterprise.tcp.open_countgatling_enterprise.tcp.close_count |
count | remote |
gatling_enterprise.tcp.connection_countgatling_enterprise.tls.handshake_count |
count | remote status |
gatling_enterprise.tcp.connect_time.meangatling_enterprise.tcp.connect_time.mingatling_enterprise.tcp.connect_time.p50gatling_enterprise.tcp.connect_time.p95gatling_enterprise.tcp.connect_time.p99gatling_enterprise.tcp.connect_time.p999gatling_enterprise.tcp.connect_time.maxgatling_enterprise.tls.handshake_time.meangatling_enterprise.tls.handshake_time.mingatling_enterprise.tls.handshake_time.p50gatling_enterprise.tls.handshake_time.p95gatling_enterprise.tls.handshake_time.p99gatling_enterprise.tls.handshake_time.p999gatling_enterprise.tls.handshake_time.max |
gauge | remote status |
gatling_enterprise.tcp.states.count |
gauge | remote state |
gatling_enterprise.cpu.usergatling_enterprise.cpu.sysgatling_enterprise.mem.ram.maxgatling_enterprise.mem.ram.usedgatling_enterprise.mem.mem.heap.maxgatling_enterprise.mem.heap.committedgatling_enterprise.mem.heap.used |
gauge |
Events
Gatling Enterprise Edition sends events to notify of the start and the end of a test.
| Key | **Value |
|---|---|
eventType |
GatlingTestStart / GatlingTestEnd |
run_id |
|
test |
|
team |
|
source |
gatling-enterprise |