Skip to content

feat: complete Jaeger/Zipkin protobuf serialization #670

Description

@kcenon

What

Jaeger and Zipkin exporters currently stub the protobuf serialization path (CLAUDE.md:98). Complete the implementation so spans flow end-to-end to both backends.

  • Current: Exporters exist as skeletons; protobuf wire format not serialized
  • Expected: Spans round-trip to a Jaeger all-in-one and Zipkin v2 backend in integration tests
  • Scope: include/kcenon/monitoring/exporters/jaeger_*, zipkin_*, matching src/

Why

  • Observability pipelines in practice still rely on Jaeger/Zipkin; OTLP alone is insufficient for many deployments
  • Incomplete exporters present as broken to any real adopter
  • Closes a known gap tracked in CLAUDE.md

How

Technical Approach

  1. Pull in jaegertracing/jaeger-idl or precompiled .proto
  2. Implement Span -> Jaeger Batch mapping (tags, logs, references)
  3. Implement Span -> Zipkin v2 JSON + protobuf mapping
  4. Integration tests using jaegertracing/all-in-one and openzipkin/zipkin containers

Acceptance Criteria

  • Spans visible in Jaeger UI from integration test
  • Zipkin v2 API accepts exported spans
  • Round-trip tests for tag/log/reference fidelity
  • Benchmarks vs OTLP exporter recorded

Metadata

Metadata

Assignees

Labels

area/tracingDistributed tracing functionalitypriority/mediumMedium priority - Important but not urgentsize/LLarge - 3-5 days of worktype/feature

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions