Skip to content

feat: add OTLP adapter for OpenTelemetry Protocol support#7

Merged
seuros merged 1 commit intomasterfrom
feat/otlp-adapter
Dec 8, 2025
Merged

feat: add OTLP adapter for OpenTelemetry Protocol support#7
seuros merged 1 commit intomasterfrom
feat/otlp-adapter

Conversation

@seuros
Copy link
Copy Markdown
Owner

@seuros seuros commented Dec 8, 2025

Summary

  • Add generic OTLP adapter that works with any OTLP-compatible backend (SigNoz, Jaeger, Grafana Tempo, Honeycomb, etc.)
  • Uses HTTP/JSON transport on port 4318 (/v1/traces)
  • Supports exception capture with full OTLP structure (resourceSpans, scopeSpans, spans with exception events)
  • Add DRY concerns: StacktraceBuilder, TraceContext

Configuration Helpers

# Generic OTLP
config.use_otlp(endpoint: "http://localhost:4318", service_name: "my-app")

# Service-specific convenience helpers
config.use_signoz(signoz_api_key: ENV['SIGNOZ_API_KEY'])
config.use_jaeger(endpoint: "http://jaeger:4318")
config.use_tempo(endpoint: "http://tempo:4318")

Test plan

  • Unit tests for OTLP adapter (12 tests)
  • VCR cassettes recorded against live OTEL Collector
  • Configuration helpers tested
  • Payload structure validation tests

Add generic OTLP adapter that works with any OTLP-compatible backend:
- SigNoz, Jaeger, Grafana Tempo, Honeycomb, etc.
- Uses HTTP/JSON transport on port 4318 (/v1/traces)
- Supports exception capture with full OTLP structure
- Includes trace ID and span ID generation

DRY improvements:
- Add StacktraceBuilder concern for common frame building
- Add TraceContext concern for trace/span ID generation

Configuration helpers:
- use_otlp() - generic OTLP endpoint
- use_signoz() - SigNoz convenience helper
- use_jaeger() - Jaeger convenience helper
- use_tempo() - Grafana Tempo convenience helper
@seuros seuros merged commit 7d96240 into master Dec 8, 2025
6 checks passed
@seuros seuros deleted the feat/otlp-adapter branch December 8, 2025 01:29
@seuros seuros restored the feat/otlp-adapter branch December 8, 2025 01:29
@seuros seuros deleted the feat/otlp-adapter branch December 8, 2025 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant