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

Adds support for zipkin v2 #5260

Closed
jcchavezs opened this issue Aug 28, 2019 · 5 comments
Closed

Adds support for zipkin v2 #5260

jcchavezs opened this issue Aug 28, 2019 · 5 comments
Labels
Projects
Milestone

Comments

@jcchavezs
Copy link
Contributor

jcchavezs commented Aug 28, 2019

Do you want to request a feature or report a bug?

Feature

What did you expect to see?

Currently Traefik only supports zipkin v1 by using zipkin-go-opentracing v0.3.x. This is because it uses the old version of zipkin-go-opentracing which only supported v1 reporting. Version 0.4.2 of zipkin-go-opentracing uses zipkin v2 format which is smaller and the default reporting format (read this to understand how v2 is better than v1).

We have two options here:

  1. We move to new version of zipkin-go-opentracing and reports in v2 format, meaning that users will need to change their reporter URL from :host/api/v1/spans into :host/api/v2/spans. Feels like a breaking change but there is nothing else users will need to do.
  2. We maintain both versions of zipkin-go-opentracing, this is weird because basically we might need to maintain both versions of zipkin-go-opentracing: 0.3 for v1 and 0.4 for v2 but go modules support that. This will require for us to find a way in configuration to determine if v1 or v2, it can be another parameter but then it feels odd as the httpEndpoint is different depending on v1 or v2.

Personally I would go for 1 but I would like to hear other's opinion. I am happy to come up with a PR for this.

Ping @adriancole @basvanbeek

@dduportal dduportal added kind/enhancement a new or improved feature. area/middleware/tracing priority/P2 need to be fixed in the future and removed status/0-needs-triage labels Aug 28, 2019
@ldez ldez added this to To do in v2 via automation Aug 29, 2019
@jbdoumenjou
Copy link
Member

jbdoumenjou commented Sep 2, 2019

Hi @jcchavezs,

It doesn't seem possible to use go modules to keep both versions of zipkin-go-opentracing, unless you have specific idea.
Anyway, we think it is reasonable to migrate to the v2 version and stop the support of the v1.

@basvanbeek
Copy link
Contributor

That is correct. You need to either pick a V1 old style release < 0.4.0 or pick a v2 bridge release 0.4.x.
The 0.4.3 release is the best minimum release to start from.

@jcchavezs
Copy link
Contributor Author

Interesting. I thought we could do it as explained in here for example: https://www.melvinvivas.com/go-version-1-11-modules/ but I haven't done it yet. My specific idea was to create another package for zipkin-v2 and decide accordingly to config, however I am really happy we can just migrate to the new version. I will see if I can work on that today.

@ldez
Copy link
Member

ldez commented Sep 2, 2019

To use 2 versions, the 2 versions must be 2 different major versions (semver).

@traefiker
Copy link
Contributor

Closed by #5283.

v2 automation moved this from To do to Done Sep 3, 2019
@traefik traefik locked and limited conversation to collaborators Oct 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
No open projects
v2
Done
Development

No branches or pull requests

6 participants