Open mhalbritter opened 2 hours ago
We have the following properties:
management.zipkin.tracing.connect-timeout
management.zipkin.tracing.encoding
management.zipkin.tracing.endpoint
management.zipkin.tracing.export.enabled
management.zipkin.tracing.read-timeout
management.otlp.tracing.connect-timeout
management.otlp.tracing.compression
management.otlp.tracing.endpoint
management.otlp.tracing.export.enabled
management.otlp.tracing.headers.*
management.otlp.tracing.timeout
management.otlp.tracing.transport
I think we should hide the fact that Brave while sending OTLP is using the Zipkin client-side components under the hood and use the management.otlp.tracing.*
properties if OtlpProtoV1Encoder
is on the classpath.
That means:
management.zipkin.tracing.connect-timeout
(-> management.otlp.tracing.connect-timeout
)
management.zipkin.tracing.encoding
(not applicable, because OTLP is always encoded as Proto3)
management.zipkin.tracing.endpoint
(-> management.otlp.tracing.endpoint
)
management.zipkin.tracing.export.enabled
(-> management.otlp.tracing.export.enabled
)
management.zipkin.tracing.read-timeout
(hmmm)
management.otlp.tracing.compression
(we could make the compression in our Zipkin senders an opt-in)
management.otlp.tracing.headers.*
(we could add support for additional headers in our Zipkin senders)
management.otlp.tracing.timeout
(hmmm)
management.otlp.tracing.transport
(we should document that, when using Brave, only http is supported. There are no plans to implement a gRPC based Zipkin sender)
There's a
OtlpProtoV1Encoder
in https://github.com/openzipkin-contrib/zipkin-otel and here's a sample project.The weird situation we now have is that we use Brave as a tracer, and something OTLP-capable as a backend. But there's also Zipkin (at least the client-side components) in the mix, because it is sending the Brave
Span
s through theAsyncZipkinSpanHandler
and theBytesMessageSender
.That means both
management.zipkin.tracing.*
andmanagement.otlp.tracing.*
properties could be applicable.