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

DISCUSS: Upcoming tracing 0.2 integration #145

Closed
Xuanwo opened this issue May 25, 2024 · 3 comments
Closed

DISCUSS: Upcoming tracing 0.2 integration #145

Xuanwo opened this issue May 25, 2024 · 3 comments

Comments

@Xuanwo
Copy link
Contributor

Xuanwo commented May 25, 2024

Motivation

Hello, the entire tracing community is currently focusing on version 0.2, which will be released in the future. As a separate repository outside of tracing, we need to discuss how we can integrate with tracing 0.2.

The context involves tracing-opentelemetry, which must integrate simultaneously with both tracing and opentelemetry. Given that opentelemetry frequently introduces breaking changes with each new minor release, we need to update our version accordingly.

Proposal

So I propose to release two new crates that one targets 0.1 and the other one targets 0.2.

  • tracing-0-1-opentelemetry
  • tracing-0-2-opentelemetry

tracing-opentelemetry will become a wrapper of those two crates and users can switch tracing version via enabling features. Enable different feature will lead to complie errors.

Alternatives

Add new crate tracing-0-1-opentelemetry

We can only add new crate tracing-0-1-opentelemetry, and keep tracing-opentelemetry tracking with latest tracing version.

Add new crate tracing-0-2-opentelemetry

We can only add new crate tracing-0-2-opentelemetry, and keep tracing-opentelemetry tracking with 0.1 version.

Drop support for tracing 0.1

We can upgrade to tracing 0.2 directly.

This option may seem unfriendly, but considering the current maintenance and how this crate is used, I personally believe it should work.

Use major version instead

Release tracing-opentelemetry with:

  • 1.x.y for tracing 0.1
  • 2.x.y for tracing 0.2

Discussion

Welcome for realtime discussion at tokio discord https://discord.com/channels/500028886025895936/974721015999516672/1243486117660065833

@djc
Copy link
Collaborator

djc commented May 25, 2024

Where is the tracing 0.2 discussion happening? I'm not a fan of the separate crate approach... I think I would be inclined to maybe jump tracing 0.2 compatible tracing-opentelemetry versions to 0.100.x or something like that. It looks like the pace of opentelemetry breaking releases might also slow down soon so maybe there's a simpler alternative?

open-telemetry/opentelemetry-rust#1678

@mladedav
Copy link
Contributor

I also don't think that tracing release of 0.2 is happening any time soon (there are a few non-trivial changes to design and implement in the pinned issues) and the maintainers currently don't seem to have time to drive that forward.

On the other hand opentelemetry-rust is planning a 1.0 release fairly soon and then they would have stronger API stability guarantees.

So I think this will not be an issue in the end.

If it were, I don't think you would need three crates, you can depend on two semver-incompatible versions from tracing-opentelemetry so I don't see how the additional crates would help.

@davidbarsky
Copy link
Member

davidbarsky commented May 25, 2024

Hello, the entire tracing community is currently focusing on version 0.2, which will be released in the future. As a separate repository outside of tracing, we need to discuss how we can integrate with tracing 0.2.

We drew up recent plans (in the last several months...) to move tracing to 0.2, but haven't had the time to execute on it. I'll close this issue for now and reopen it once we're closer.

@djc djc closed this as not planned Won't fix, can't repro, duplicate, stale May 25, 2024
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

No branches or pull requests

4 participants