The current weaver integration uses a custom ToWeaverJson serializer + Docker file mount to feed telemetry into weaver. It works, but we're maintaining a custom serializer that's coupled to weaver's internal JSON format.
opentelemetry-rust-contrib recently adopted a simpler pattern: a CI workflow starts weaver as an OTLP receiver (using the upstream composite actions), runs the instrumented app with a real OTLP exporter pointing at weaver, then stops and checks findings. No custom serializers, validates the actual wire format.
Examples:
Unit tests stay as-is (InMemoryExporter + direct assertions). The CI workflow just adds the semconv compliance gate on top.
Might be worth considering for here too. Thoughts?
The current weaver integration uses a custom
ToWeaverJsonserializer + Docker file mount to feed telemetry into weaver. It works, but we're maintaining a custom serializer that's coupled to weaver's internal JSON format.opentelemetry-rust-contrib recently adopted a simpler pattern: a CI workflow starts weaver as an OTLP receiver (using the upstream composite actions), runs the instrumented app with a real OTLP exporter pointing at weaver, then stops and checks findings. No custom serializers, validates the actual wire format.
Examples:
Unit tests stay as-is (InMemoryExporter + direct assertions). The CI workflow just adds the semconv compliance gate on top.
Might be worth considering for here too. Thoughts?