OpenTelemetry (OTLP) Integration

Stream Load Test Metrics over OpenTelemetry

The OpenTelemetry integration exports your live load test metrics over the OpenTelemetry Protocol (OTLP) to any OTLP-compatible backend, so you can watch a test in the same tool you already use for observability. It works with Honeycomb, Grafana Cloud, New Relic, Datadog, Dynatrace, Elastic, and any self-hosted OpenTelemetry Collector.

OpenTelemetry Configuration modal in LoadFocus showing name, OTLP endpoint, protocol and headers fields

Create the Integration

  1. Go to Account > Integration Settings.
  2. Click New Integration and choose OpenTelemetry.
  3. Fill in the fields below and click Save integration.

Integration Fields

  • Name: A label for this integration, for example Honeycomb HTTP.
  • OTLP Endpoint: Where metrics are sent.
    • For HTTP (protobuf), use the base URL including the scheme, for example https://api.honeycomb.io. LoadFocus appends /v1/metrics for you.
    • For gRPC, use host:port, for example api.honeycomb.io:443. If you omit the scheme, https:// is assumed.
  • Protocol: HTTP (protobuf) (the default, works everywhere) or gRPC.
  • Headers: Comma-separated key=value pairs used for authentication, for example api-key=YOUR_KEY,x-tenant=team. This is the only secret field and is stored encrypted.

Endpoints and Headers by Backend

BackendEndpoint (HTTP)Endpoint (gRPC)Headers
Honeycombhttps://api.honeycomb.ioapi.honeycomb.io:443x-honeycomb-team=INGEST_KEY,x-honeycomb-dataset=DATASET_NAME
Grafana Cloudyour stack's OTLP gateway URLnot offered on the hosted gatewayAuthorization=Basic BASE64(instanceID:token)
New Relichttps://otlp.nr-data.net (US) or https://otlp.eu01.nr-data.net (EU)otlp.nr-data.net:4317api-key=LICENSE_KEY
Dynatracehttps://ENV.live.dynatrace.com/api/v2/otlpnot offeredAuthorization=Api-Token TOKEN
Elasticyour APM server OTLP URLyour APM server host:8200Authorization=ApiKey API_KEY
Self-hosted collectorhttp(s)://your-collector:4318your-collector:4317optional

Honeycomb notes

  • Use an Ingest Key, created under Environment Settings > API Keys > Ingest. Copy the Key Secret shown once when you create the key, not the shorter Key ID from the list. Sending the Key ID returns unknown API key (HTTP 401).
  • Metrics require the x-honeycomb-dataset header to name the dataset they land in.
  • Give the key the Can create services/datasets permission so the dataset is created on the first metrics that arrive.

Attach the Integration to a Test

  1. Open a JMeter or k6 test and go to its Integrations section.
  2. Select your OpenTelemetry integration from the dropdown.
  3. Save the test, then run it.

Every run tagged with an integration streams its metrics to the configured backend.

What You Will See

Metrics arrive tagged with the resource attributes service.name, loadfocus.testrunname, and loadfocus.testrunid, so you can slice by test run.

  • JMeter tests send jmeter.samples, jmeter.response_time_ms, and jmeter.errors, tagged with sampler and response_code. JMeter batches and flushes at the end of the run, so its metrics appear once the run finishes.
  • k6 tests send k6's standard metrics such as http_req_duration, http_reqs, vus, and iterations, streamed while the test runs.

Troubleshooting

  • unknown API key or HTTP 401: the credential is wrong or missing. For Honeycomb, confirm you used the Key Secret, not the Key ID.
  • No data in the backend: confirm the destination name (Honeycomb dataset, New Relic account, and so on), confirm the auth header, and remember that JMeter metrics only appear once the run has finished.
  • Endpoint rejected: HTTP endpoints must include the https:// scheme; gRPC endpoints use host:port.
  • The run itself is unaffected: if an integration is misconfigured, the test still runs, it simply exports no metrics.

Edit or Remove the Integration

  • Edit: in Integration Settings, click the edit icon on the integration to change the name, endpoint, protocol, or headers. Leave the Headers field blank to keep the existing credential; enter a value only when you want to replace it.
  • Remove: click the delete icon on the integration to remove it from your external reporting services.