Dash0
Artillery integrates with Dash0 using OpenTelemetry protocol to send both metrics and traces.
Quick Start
plugins:
publish-metrics:
- type: 'open-telemetry'
serviceName: 'my-service'
metrics:
endpoint: https://ingress.eu-west-1.aws.dash0.com/v1/metrics
headers:
Authorization: 'Bearer {{ $env.DASH0_AUTH_TOKEN }}'Requirements
- A Dash0 account and an auth token
Configuration
Full Configuration Example
plugins:
publish-metrics:
- type: 'open-telemetry'
serviceName: 'load-test-service'
metrics:
exporter: 'otlp-http'
endpoint: https://ingress.eu-west-1.aws.dash0.com/v1/metrics
headers:
Authorization: 'Bearer {{ $env.DASH0_AUTH_TOKEN }}'
traces:
exporter: 'otlp-http'
endpoint: https://ingress.eu-west-1.aws.dash0.com/v1/traces
headers:
Authorization: 'Bearer {{ $env.DASH0_AUTH_TOKEN }}'Regional Endpoints
You may need to adjust the endpoint URL to match the region where your Dash0 account is hosted. Common regions include:
- EU West 1:
https://ingress.eu-west-1.aws.dash0.com - US East 1:
https://ingress.us-east-1.aws.dash0.com - Other regions: Check your Dash0 dashboard for the correct endpoint
Examples
Basic Metrics Configuration
plugins:
publish-metrics:
- type: 'open-telemetry'
serviceName: 'api-gateway'
metrics:
exporter: 'otlp-http'
endpoint: https://ingress.eu-west-1.aws.dash0.com/v1/metrics
headers:
Authorization: 'Bearer {{ $env.DASH0_AUTH_TOKEN }}'
attributes:
environment: production
test.type: performanceAdvanced Configuration with Traces
plugins:
publish-metrics:
- type: 'open-telemetry'
serviceName: 'checkout-service'
resourceAttributes:
service.version: '1.5.0'
deployment.environment: staging
cloud.provider: aws
cloud.region: eu-west-1
metrics:
exporter: 'otlp-http'
endpoint: https://ingress.eu-west-1.aws.dash0.com/v1/metrics
headers:
Authorization: 'Bearer {{ $env.DASH0_AUTH_TOKEN }}'
attributes:
test.scenario: peak-load
traces:
exporter: 'otlp-http'
endpoint: https://ingress.eu-west-1.aws.dash0.com/v1/traces
headers:
Authorization: 'Bearer {{ $env.DASH0_AUTH_TOKEN }}'
sampleRate: 0.1
smartSampling:
thresholds:
firstByte: 500
total: 2000Getting Your Auth Token
- Log in to your Dash0 account
- Navigate to Settings → Auth Tokens
- Create a new auth token with appropriate permissions
- Copy the token and store it securely (e.g., in environment variables)
Best Practices
- Use environment variables: Store your auth token in environment variables rather than hardcoding
- Set appropriate sampling: For high-volume tests, use sampling to control costs
- Add meaningful attributes: Include attributes that help you filter and analyze data
- Use resource attributes: Set service version and environment for better organization
Debugging
Set DEBUG=plugin:publish-metrics:open-telemetry when running your tests:
DEBUG=plugin:publish-metrics:open-telemetry artillery run my-script.yamlReference
Please refer to the Dash0 docs for details on where to find your endpoint URL:
https://www.dash0.com/documentation/dash0/get-started/sending-data-to-dash0
Last updated on