-
Notifications
You must be signed in to change notification settings - Fork 734
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
tracing: tracking issue for tracing
0.2 breaking changes
#923
Comments
This bug's description should probably be updated as |
I want to nominate #2332 |
@hawkw , @davidbarsky , how transition will happen? Let's assume you released tracing 0.2. I wrote some application and some of my dependencies migrated to 0.2, some - not. How logging in such application (with dependencies) will work? Will it work at all? What will happen with global variables and constants, such as Now let's consider my actual scenario. I have application. I use many dependencies, such as tokio, tokio-tungstenite, reqwest, etc. I enabled tracing = { version = "0.1.40", features = ["max_level_info", "release_max_level_info"] } Unfortunately, some of my dependencies log using log = { version = "0.4.20", features = ["max_level_off", "release_max_level_off"] } Okay, so these two lines disabled spamming from my dependencies. So far, so good. Now imagine you released # Let's disable "trace" and "debug" levels for both "tracing" versions
# Will this work at all, eh?
tracing = { version = "0.1", features = ["max_level_info", "release_max_level_info"] }
tracing = { version = "0.2", features = ["max_level_info", "release_max_level_info"] } Unfortunately, I think this will simply not work |
@safinaskar We're planning to do a semver-trick-style approach.
Yes, but I don't expect that this will be a substantial issue.
Generally speaking, we recommended filtering using
Note that you can filter using the aforementioned filters earlier.
We're planning on making the compile-time filter flags be set via |
?!?!? So compile time filtering are slower than other methods?! I thought that compile time means fast
Yes, thanks a lot |
No, I meant that compile-time filtering is an extremely brute-force approach for filtering. Runtime filtering with |
Feature Request
Crates
tracing
Motivation
In order to reduce churn throughout the ecosystem, we intend to synchronize the
tokio
0.3 andtracing-core
0.2 releases. When we releasetracing-core
0.2, updatingtracing
to use the newtracing-core
will be a breaking change, so we should make other breaking API changes intracing
at the same time.This issue tracks breaking
tracing
changes that we want to make in 0.2.tracing-attributes
changesinstrument
fields opt-in rather than opt-out (instrument macro: omitself
by default #651, etc)tracing
main crate API changesEntered
!Send
(tracing:Entered
guards should be!Send
#698)Into<Option<Id>>
impl for by-valueSpan
s (fixes "Tried to clone Id(1), but no span exists with that ID" when setting parent span #688)The text was updated successfully, but these errors were encountered: