Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.diffblue.com/llms.txt

Use this file to discover all available pages before exploring further.

Diffblue Agents emits structured telemetry events throughout workflow execution. Events are stored locally at ~/.diffblue/agents/telemetry/events-*.jsonl. To send them to an external observability platform, configure one or more OTLP-compatible collectors such as Grafana, Datadog, or Honeycomb.

Configure an OTLP endpoint

Add one or more OTLP endpoints to ~/.diffblue/agents/config.properties. Each endpoint is identified by a numeric prefix (1 to 99).
otel.exporter.otlp.1.endpoint=https://otlp.example.com:4318/v1/logs
otel.exporter.otlp.1.timeout=30s
otel.exporter.otlp.1.headers=Authorization=Bearer <your-token>
PropertyDescription
otel.exporter.otlp.<n>.endpointOTLP HTTP endpoint URL (required)
otel.exporter.otlp.<n>.timeoutRequest timeout (default: 30s)
otel.exporter.otlp.<n>.headersHTTP headers as comma-separated key=value pairs
Replace <n> with a number from 1 to 99.

Multiple endpoints

# Primary collector
otel.exporter.otlp.1.endpoint=https://otlp.example.com:4318/v1/logs
otel.exporter.otlp.1.headers=Authorization=Bearer <primary-token>

# Secondary collector
otel.exporter.otlp.2.endpoint=https://backup-otlp.example.com:4318/v1/logs
otel.exporter.otlp.2.headers=Authorization=Bearer <secondary-token>

Provider examples

otel.exporter.otlp.1.endpoint=https://otlp-gateway-prod-gb-south-1.grafana.net/otlp/v1/logs
otel.exporter.otlp.1.headers=Authorization=Basic <base64-encoded-instance-id:token>
Refer to your provider’s documentation for the exact endpoint URL and authentication header format. These may vary by region or account.

Error handling

Invalid endpoint configurations are skipped without affecting workflow execution. Diffblue Agents logs a warning to stderr for:
  • Malformed endpoint URLs
  • Invalid timeout values (the default of 30 seconds is used instead)
  • Malformed header key-value pairs
If an endpoint is unreachable at runtime, events are dropped for that endpoint. Other configured endpoints and the workflow itself are not affected.