Skip to content
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

Transformation to Zipkin #380

Merged
merged 10 commits into from
Feb 18, 2020

Conversation

SergeyKanzhelev
Copy link
Member

@SergeyKanzhelev SergeyKanzhelev commented Dec 10, 2019

Replacing #221 s it has no traction

I hope to get this merged before addressing other items that needs to be merged. Discussions for those may be easier to handle in small PRs

Related issue: #220

@tedsuo
Copy link
Contributor

tedsuo commented Dec 18, 2019

@SergeyKanzhelev this generally looks good. One comment: zipkin has a way of trying to joining the client and server spans together, which is the default behavior described in B3. Perhaps there should be some language here to describe this - something to the effect that it is fine to plug in an SDK which runs in this mode, but by default the OTel SDK follows the alternate B3 implementation which allows server and client spans to have separate IDs.

Related PR: #367

@tsloughter
Copy link
Member

Is this encoding the Attributes of an Event as json within a string?

@jmacd
Copy link
Contributor

jmacd commented Jan 22, 2020

Let's rephrase these "TODO" items as some kind of undefined to-be-determined future specification? The fact that we have these TODOs is preventing us from merging this work.

@Oberon00
Copy link
Member

Why is this blocking the merge? We have TODOs elsewhere too, e.g. in the HTTP semantic conventions. I'd suggest creating issues for them and linking them though.

@jmacd jmacd mentioned this pull request Jan 22, 2020
@jmacd
Copy link
Contributor

jmacd commented Jan 22, 2020

Someone in the triage party said we should. Can we replace "TODO" with "TBD"? Otherwise, please explain exactly what we should do to satisfy the TODO in the text, otherwise it feels like unfinished work.

@carlosalberto carlosalberto added this to the Alpha v0.4 milestone Jan 28, 2020
@jmacd
Copy link
Contributor

jmacd commented Jan 29, 2020

Let's try to get this merged.

@tsloughter
Copy link
Member

Not a blocker, but since I have an implementation of this I hoped to get my question (#380 (comment)) answered (and it would help the spec if it mentioned this).

Is the attribute encoding, like on an event, simply a json string? It would make things clearer if it stated that instead of giving the sample as something that looks like json.

Copy link
Member

@c24t c24t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this blocking the merge? We have TODOs elsewhere too, e.g. in the HTTP semantic conventions.

Not all TODOs are TBDs. "TODO: add examples" in particular looks like unfinished work.

I agree that we shouldn't block this over the TODOs, but want to avoid merging in specs that look half-baked.

specification/exporter-zipkin.md Show resolved Hide resolved
specification/exporter-zipkin.md Show resolved Hide resolved
specification/exporter-zipkin.md Outdated Show resolved Hide resolved
@vikrambe
Copy link

vikrambe commented Feb 5, 2020

Good to see transformation to zipkin doc here. i think this PR will also have to handle error and error.message span tags
@SergeyKanzhelev @tigrannajaryan @yurishkuro request you to review and comment on PR https://github.com/open-telemetry/oteps/pull/86/files?short_path=5746d35#diff-5746d35006fd9b35a7e7163da3faa935

@Oberon00
Copy link
Member

Oberon00 commented Feb 5, 2020

@vikrambe I couldn't find any authoritative information on the error tag in zipkin using a quick search. Could you provide a link to a definition or example?

@vikrambe
Copy link

vikrambe commented Feb 5, 2020

@Oberon00 #380 (comment)

Copy link
Member

@tigrannajaryan tigrannajaryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For prior art see also how OpenCensus to Zipkin V1 translations are implemented in Collector (which inherited this from OpenCensus): https://github.com/open-telemetry/opentelemetry-collector/blob/master/translator/trace/zipkin/protospan_to_zipkinv1.go
It is preferable to adhere to this prior art where possible unless there is a good reason to diverge, e.g. due to differences in OpenCensus and OpenTelemetry.

specification/exporter-zipkin.md Outdated Show resolved Hide resolved
@vikrambe
Copy link

vikrambe commented Feb 5, 2020

@vikrambe I couldn't find any authoritative information on the error tag in zipkin using a quick search. Could you provide a link to a definition or example?

https://github.com/jaegertracing/jaeger/blob/master/cmd/collector/app/sanitizer/zipkin/span_sanitizer.go

@Oberon00
Copy link
Member

Oberon00 commented Feb 5, 2020

@vikrambe This is from Jaeger. That is not the same as zipkin.

@tigrannajaryan
Copy link
Member

@vikrambe I couldn't find any authoritative information on the error tag in zipkin using a quick search. Could you provide a link to a definition or example?

I concur.

https://github.com/jaegertracing/jaeger/blob/master/cmd/collector/app/sanitizer/zipkin/span_sanitizer.go

@vikrambe this shows Jaeger's interpretation of Zipkin's "error" tag. What is the authoritative Zipkin source which describes the meaning of the "error" tag? Is this part of Zipkin specification or just Jaeger's take on it?

@devinsba
Copy link

devinsba commented Feb 5, 2020

@Oberon00 and @tigrannajaryan

I gave an answer: #380 (comment)

@vikrambe
Copy link

vikrambe commented Feb 5, 2020

@vikrambe I couldn't find any authoritative information on the error tag in zipkin using a quick search. Could you provide a link to a definition or example?

I concur.

https://github.com/jaegertracing/jaeger/blob/master/cmd/collector/app/sanitizer/zipkin/span_sanitizer.go

@vikrambe this shows Jaeger's interpretation of Zipkin's "error" tag. What is the authoritative Zipkin source which describes the meaning of the "error" tag? Is this part of Zipkin specification or just Jaeger's take on it?

@tigrannajaryan openzipkin/zipkin4net#212

@vikrambe
Copy link

vikrambe commented Feb 5, 2020

@vikrambe This is from Jaeger. That is not the same as zipkin.

@Oberon00 openzipkin/zipkin4net#212

@Oberon00
Copy link
Member

Oberon00 commented Feb 5, 2020

@vikrambe Answering once is enough 😉 But thanks for the link, it seems that this is indeed a thing.

@CodeBlanch
Copy link
Member

@SergeyKanzhelev Any chance of getting Zipkin Remote_endpoint field mapping defined? I have been playing with the .NET ZipkinExporter and without specifying Remote_endpoint Zipkin won't treat spans to non-instrumented services (3rd party) as external/dependencies. It really reduces the usefulness of the tool. See open-telemetry/opentelemetry-dotnet#483

@SergeyKanzhelev
Copy link
Member Author

@CodeBlanch happy to do it in the next iteration

@SergeyKanzhelev
Copy link
Member Author

I addressed all comments. Seems to be all resolved. Merging.

@SergeyKanzhelev SergeyKanzhelev merged commit d21bdeb into open-telemetry:master Feb 18, 2020
@SergeyKanzhelev SergeyKanzhelev deleted the sergkanz/zipkin branch February 18, 2020 05:57
SergeyKanzhelev added a commit to SergeyKanzhelev/opentelemetry-specification that referenced this pull request Feb 18, 2020
* zipkin - copy from PR

* the very first transformation document with many TODO

* remove the first empty line

* Update exporter-zipkin.md

* Update specification/exporter-zipkin.md

Co-Authored-By: Mauricio Vásquez <mauricio@kinvolk.io>

* error attribute omition

* microseconds and link to semantic convention

* reverted quotes in zipking boolean tag names

Co-authored-by: Mauricio Vásquez <mauricio@kinvolk.io>
thisthat pushed a commit to dynatrace-oss-contrib/opentelemetry-specification that referenced this pull request Feb 18, 2020
* zipkin - copy from PR

* the very first transformation document with many TODO

* remove the first empty line

* Update exporter-zipkin.md

* Update specification/exporter-zipkin.md

Co-Authored-By: Mauricio Vásquez <mauricio@kinvolk.io>

* error attribute omition

* microseconds and link to semantic convention

* reverted quotes in zipking boolean tag names

Co-authored-by: Mauricio Vásquez <mauricio@kinvolk.io>
@bogdandrutu bogdandrutu modified the milestones: v0.5, v0.4 May 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.