Quickstart: sending data to MultiTool
Using Claude Code? Check out the hot path.
This guide shows how to send your OpenTelemetry trace data to MultiTool and attribute it to a specific version of your service.
You’ll make two small changes:
- point your exporter at MultiTool
- set your service name, version, and deployment environment as resource attributes
Prerequisities
-
Create a free MultiTool account
-
Create a new workspace from the MultiTool app
Step 1: Create a MultiTool API key
In the MultiTool app:
- Navigate to Manage workspace → API keys.
- Choose "Create API key"
- Provide a name and expiration date
- Copy the API key value (you’ll only be able to see it once)
You’ll also be able to view and delete existing keys from this page.
Store the key as an environment variable:
export MULTI_API_KEY="YOUR_KEY_HERE"
Step 2: Set a version and environment for your service
Set a version identifier that changes per deploy, and the environment the service runs in:
export APP_VERSION="1.2.3" # or git SHA, image tag, etc.
export APP_ENVIRONMENT="production" # or staging, development, etc.
Step 3: Update your trace exporter
Configure your OTLP HTTP exporter to send data to MultiTool:
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'
const traceExporter = new OTLPTraceExporter({
url: 'https://api.multitool.run/api/otlp/v1/traces',
headers: {
'X-API-KEY': process.env['MULTI_API_KEY'] ?? '',
},
})
Step 4: Set your service attributes in your resource
Add service.name, service.version, and deployment.environment.name to your OpenTelemetry resource:
import { NodeSDK } from '@opentelemetry/sdk-node'
import { resourceFromAttributes } from '@opentelemetry/resources'
import {
ATTR_SERVICE_NAME,
ATTR_SERVICE_VERSION,
} from '@opentelemetry/semantic-conventions'
const sdk = new NodeSDK({
resource: resourceFromAttributes({
[ATTR_SERVICE_NAME]: 'your-service-name',
[ATTR_SERVICE_VERSION]: process.env['APP_VERSION'] ?? '',
'deployment.environment.name': process.env['APP_ENVIRONMENT'] ?? '',
}),
traceExporter,
})
MultiTool also needs http.response.status_code on your HTTP server spans to detect errors. OTel auto-instrumentation sets this for you; if you hand-roll spans, set it yourself.
Step 5: Verify data in MultiTool
Run your service as usual with the environment variables set. Once traffic flows, traces will begin appearing in MultiTool, grouped by service.version and deployment.environment.name.
Common issues
No data showing up
Check that MULTI_API_KEY is set in your runtime environment.
Data not grouped correctly
Ensure APP_VERSION is non-empty and changes per deploy.
Exporter not working
Confirm you’re using the OTLP HTTP exporter (@opentelemetry/exporter-trace-otlp-http).