opentelemetry-ruby
opentelemetry-ruby copied to clipboard
Zipkin exporter receiving 400 from Open Telemetry Collector
Description of the bug
When sending a trace to an otel-collector, the client receives a 400:
json: cannot unmarshal string into Go struct field Endpoint.remoteEndpoint.Port of type uint16
A repro of this issue can be found here: https://github.com/lukegil/repro-ot-issue
This occurs when a basic "get" is traced, as well as in-the-field cases like when automatically tracing calls to Amazon Cognito.
It appears that the zipkin exporter is explicitly setting port as a string (here, though I could be wrong). Zipkin defines remoteEndpoint.port as being an int.
Share details about your runtime
Operating system details: MacOS 14.1.2 (but also seen on Amz linux) RUBY_ENGINE: "ruby" RUBY_VERSION: "3.0.6" RUBY_DESCRIPTION: "ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-darwin22]"
Share a simplified reproduction if possible https://github.com/lukegil/repro-ot-issue
Thanks for all your work! Let me know if I can help