-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zipkin exporter #495
Zipkin exporter #495
Conversation
It looks like it's using BigEndian according to some code in the repo: |
Pushed an update. Still no tests, but added an example with a README. I couldn't get the zipkin collector to show the spans, though. Maybe it's because of missing endpoint information - the collector replies with HTTP 202 (which might mean that the sent data is okish, but not yet processed?). |
This looks good. I think we should try to have some sort of test, even if it's not fully validated against a real server at this time. Maybe just start an HTTP Server & check that you receive the expected data after a POST? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, looks good just missing a test or two.
Pushed some changes before I saw the review. Mostly fixes and tests. |
The zipkin exporter implements the SpanBatcher interface. It follows the current-at-the-time-of-writing document about conversion from OpenTelemetry span data to Zipkin spans. Which means that endpoint information is not yet filled.
The fixed paths should be prefixed with a slash. The "relative" paths mean that git will ignore all the files that end with the path.
This sends span information to a locally running zipkin collector. Currently I have a problem getting the collector to show me the spans after accepting them with HTTP 202. Not sure if this is because of missing endpoint information.
Updated again, added some docs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* Add zipkin exporter The zipkin exporter implements the SpanBatcher interface. It follows the current-at-the-time-of-writing document about conversion from OpenTelemetry span data to Zipkin spans. Which means that endpoint information is not yet filled. * Fix typo in docs * Add a zipkin example This sends span information to a locally running zipkin collector. Currently I have a problem getting the collector to show me the spans after accepting them with HTTP 202. Not sure if this is because of missing endpoint information. * Make gitignore consistent The fixed paths should be prefixed with a slash. The "relative" paths mean that git will ignore all the files that end with the path. * Add tests for zipkin exporter
This adds a zipkin exporter. For converting span data from otel to zipkin, I tried to follow https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/exporter-zipkin.md
The tests are still missing.Added the tests, got ~85% coverage.
This PR implements bothSpanSyncer
andSpanBatcher
interfaces as a separate types. Not sure if this is a way to go, but the code was simple enough to have both.Implements now only the
SpanBatcher
interface.One place I was stumped was when I wanted to convert otel trace ID (which is an array of 16 bytes) into zipkin trace ID (which is a pair of high and low uint64s). What endianness to use?Using big endian.
Fixes #109.