-
Notifications
You must be signed in to change notification settings - Fork 733
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
Use const thread_locals when possible #2838
Conversation
Thanks! Out of curiosity, what change does this result in on the benchmarks? |
No idea. I just ended up in a thread_local rabbit hole and this is a free change that will result in better codegen AFAIK. See the second paragraph of the docs: https://doc.rust-lang.org/std/macro.thread_local.html. |
Ok, I was able to run the benchmarks, but honestly not sure if it's all that conclusive.
|
The lint was added, so this will fail clippy soon: rust-lang/rust-clippy#12015 |
The lint will cause the code to fail in about 2 releases. Current trunk is for |
Does this change require bumping our MSRV? |
No, it released in 1.59: rust-lang/rust#91355 |
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.
Overall, this looks good to me! I have a tiny style nit about the naming of the new const fn constructors, let me know what you think?
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
Sounds good, done! |
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.
looks good to me, thank you!
This results in a substantial performance improvement, and is compatible with our MSRV. Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com> Co-authored-by: Eliza Weisman <eliza@buoyant.io>
This results in a substantial performance improvement, and is compatible with our MSRV. Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com> Co-authored-by: Eliza Weisman <eliza@buoyant.io>
This results in a substantial performance improvement, and is compatible with our MSRV. Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com> Co-authored-by: Eliza Weisman <eliza@buoyant.io>
### Added - Add index API for `Field` ([#2820]) - allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Use const `thread_local`s when possible ([#2838]) ### Fixed - Fix missed `register_callsite` error ([#2938]) - Do not add `valuable/std` feature as dependency unless `valuable` is used ([#3002]) - prefix macro calls with ::core to avoid clashing with local macros ([#3024]) ### Documented - Fix incorrect (incorrectly updated) docs for LevelFilter ([#2767]) [#2767]: #2767 [#2820]: #2820 [#2838]: #2838 [#2938]: #2938 [#3002]: #3002 [#3024]: #3024
# 0.1.33 (November 25, 2024) ### Added - Add index API for `Field` ([#2820]) - allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Use const `thread_local`s when possible ([#2838]) ### Fixed - Fix missed `register_callsite` error ([#2938]) - Do not add `valuable/std` feature as dependency unless `valuable` is used ([#3002]) - prefix macro calls with ::core to avoid clashing with local macros ([#3024]) ### Documented - Fix incorrect (incorrectly updated) docs for LevelFilter ([#2767]) [#2767]: #2767 [#2820]: #2820 [#2838]: #2838 [#2938]: #2938 [#3002]: #3002 [#3024]: #3024 # Please enter the commit message for your changes. Lines starting # with '#' will be kept; you may remove them yourself if you want to. # An empty message aborts the commit. # # Date: Sat Nov 23 23:28:42 2024 +0100 # # On branch hds/tracing-core-0.1.33 # Changes to be committed: # modified: tracing-core/CHANGELOG.md # modified: tracing-core/Cargo.toml #
# 0.1.33 (November 25, 2024) ### Added - Add index API for `Field` ([#2820]) - allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Use const `thread_local`s when possible ([#2838]) ### Fixed - Fix missed `register_callsite` error ([#2938]) - Do not add `valuable/std` feature as dependency unless `valuable` is used ([#3002]) - prefix macro calls with ::core to avoid clashing with local macros ([#3024]) ### Documented - Fix incorrect (incorrectly updated) docs for LevelFilter ([#2767]) [#2767]: #2767 [#2820]: #2820 [#2838]: #2838 [#2938]: #2938 [#3002]: #3002 [#3024]: #3024
# 0.1.33 (November 25, 2024) ### Added - Add index API for `Field` ([#2820]) - allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Use const `thread_local`s when possible ([#2838]) ### Fixed - Fix missed `register_callsite` error ([#2938]) - Do not add `valuable/std` feature as dependency unless `valuable` is used ([#3002]) - prefix macro calls with ::core to avoid clashing with local macros ([#3024]) ### Documented - Fix incorrect (incorrectly updated) docs for LevelFilter ([#2767]) [#2767]: #2767 [#2820]: #2820 [#2838]: #2838 [#2938]: #2938 [#2954]: #2954 [#3002]: #3002 [#3024]: #3024
# 0.1.33 (November 25, 2024) ### Added - Add index API for `Field` ([#2820]) - allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Use const `thread_local`s when possible ([#2838]) ### Fixed - Fix missed `register_callsite` error ([#2938]) - Do not add `valuable/std` feature as dependency unless `valuable` is used ([#3002]) - prefix macro calls with ::core to avoid clashing with local macros ([#3024]) ### Documented - Fix incorrect (incorrectly updated) docs for LevelFilter ([#2767]) Thanks to new contributor @maddiemort for contributing to this release! [#2767]: #2767 [#2820]: #2820 [#2838]: #2838 [#2938]: #2938 [#2954]: #2954 [#3002]: #3002 [#3024]: #3024
# 0.1.33 (November 25, 2024) ### Added - Add index API for `Field` ([#2820]) - allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - Use const `thread_local`s when possible ([#2838]) ### Fixed - Fix missed `register_callsite` error ([#2938]) - Do not add `valuable/std` feature as dependency unless `valuable` is used ([#3002]) - prefix macro calls with ::core to avoid clashing with local macros ([#3024]) ### Documented - Fix incorrect (incorrectly updated) docs for LevelFilter ([#2767]) Thanks to new contributor @maddiemort for contributing to this release! [#2767]: #2767 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2938]: #2938 [#2954]: #2954 [#3002]: #3002 [#3024]: #3024
# 0.1.33 (November 25, 2024) ### Added - Add index API for `Field` ([#2820]) - allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - Use const `thread_local`s when possible ([#2838]) ### Fixed - Fix missed `register_callsite` error ([#2938]) - Do not add `valuable/std` feature as dependency unless `valuable` is used ([#3002]) - prefix macro calls with ::core to avoid clashing with local macros ([#3024]) ### Documented - Fix incorrect (incorrectly updated) docs for LevelFilter ([#2767]) Thanks to new contributor @maddiemort for contributing to this release! [#2767]: #2767 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2938]: #2938 [#2954]: #2954 [#3002]: #3002 [#3024]: #3024
# 0.1.41 (November 25, 2024) [[[crates.io][crate-0.1.41]]] | [[[docs.rs][docs-0.1.41]]] This release updates the `tracing-core` dependency to [v0.1.33][core-0.1.33] and the `tracing-attributes` dependency to [v0.1.28][attrs-0.1.28]. ### Added - **core**: Add index API for `Field` ([#2820]) - **core**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - **core**: Use const `thread_local`s when possible ([#2838]) ### Fixed - Removed core imports in macros ([#2762]) - **attributes**: Added missing RecordTypes for instrument ([#2781]) - **attributes**: Change order of async and unsafe modifier ([#2864]) - Fix missing field prefixes ([#2878]) - **attributes**: Extract match scrutinee ([#2880]) - Fix non-simple macro usage without message ([#2879]) - Fix event macros with constant field names in the first position ([#2883]) - Allow field path segments to be keywords ([#2925]) - **core**: Fix missed `register_callsite` error ([#2938]) - **attributes**: Support const values for `target` and `name` ([#2941]) - Prefix macro calls with ::core to avoid clashing with local macros ([#3024]) [#2762]: #2762 [#2781]: #2781 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2864]: #2864 [#2878]: #2878 [#2879]: #2879 [#2880]: #2880 [#2883]: #2883 [#2925]: #2925 [#2938]: #2938 [#2941]: #2941 [#2954]: #2954 [#3024]: #3024 [attrs-0.1.28]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.28 [core-0.1.33]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.33 [docs-0.1.41]: https://docs.rs/tracing/0.1.41/tracing/ [crate-0.1.41]: https://crates.io/crates/tracing/0.1.41
# 0.1.41 (November 25, 2024) [[[crates.io][crate-0.1.41]]] | [[[docs.rs][docs-0.1.41]]] This release updates the `tracing-core` dependency to [v0.1.33][core-0.1.33] and the `tracing-attributes` dependency to [v0.1.28][attrs-0.1.28]. ### Added - **core**: Add index API for `Field` ([#2820]) - **core**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - **core**: Use const `thread_local`s when possible ([#2838]) ### Fixed - Removed core imports in macros ([#2762]) - **attributes**: Added missing RecordTypes for instrument ([#2781]) - **attributes**: Change order of async and unsafe modifier ([#2864]) - Fix missing field prefixes ([#2878]) - **attributes**: Extract match scrutinee ([#2880]) - Fix non-simple macro usage without message ([#2879]) - Fix event macros with constant field names in the first position ([#2883]) - Allow field path segments to be keywords ([#2925]) - **core**: Fix missed `register_callsite` error ([#2938]) - **attributes**: Support const values for `target` and `name` ([#2941]) - Prefix macro calls with ::core to avoid clashing with local macros ([#3024]) [#2762]: #2762 [#2781]: #2781 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2864]: #2864 [#2878]: #2878 [#2879]: #2879 [#2880]: #2880 [#2883]: #2883 [#2925]: #2925 [#2938]: #2938 [#2941]: #2941 [#2954]: #2954 [#3024]: #3024 [attrs-0.1.28]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.28 [core-0.1.33]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.33 [docs-0.1.41]: https://docs.rs/tracing/0.1.41/tracing/ [crate-0.1.41]: https://crates.io/crates/tracing/0.1.41
# 0.1.41 (November 25, 2024) [[[crates.io][crate-0.1.41]]] | [[[docs.rs][docs-0.1.41]]] This release updates the `tracing-core` dependency to [v0.1.33][core-0.1.33] and the `tracing-attributes` dependency to [v0.1.28][attrs-0.1.28]. ### Added - **core**: Add index API for `Field` ([#2820]) - **core**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - **core**: Use const `thread_local`s when possible ([#2838]) ### Fixed - Removed core imports in macros ([#2762]) - **attributes**: Added missing RecordTypes for instrument ([#2781]) - **attributes**: Change order of async and unsafe modifier ([#2864]) - Fix missing field prefixes ([#2878]) - **attributes**: Extract match scrutinee ([#2880]) - Fix non-simple macro usage without message ([#2879]) - Fix event macros with constant field names in the first position ([#2883]) - Allow field path segments to be keywords ([#2925]) - **core**: Fix missed `register_callsite` error ([#2938]) - **attributes**: Support const values for `target` and `name` ([#2941]) - Prefix macro calls with ::core to avoid clashing with local macros ([#3024]) [#2762]: #2762 [#2781]: #2781 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2864]: #2864 [#2878]: #2878 [#2879]: #2879 [#2880]: #2880 [#2883]: #2883 [#2925]: #2925 [#2938]: #2938 [#2941]: #2941 [#2954]: #2954 [#3024]: #3024 [attrs-0.1.28]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.28 [core-0.1.33]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.33 [docs-0.1.41]: https://docs.rs/tracing/0.1.41/tracing/ [crate-0.1.41]: https://crates.io/crates/tracing/0.1.41
# 0.1.41 (November 25, 2024) [ [crates.io][crate-0.1.41] ] | [ [docs.rs][docs-0.1.41] ] This release updates the `tracing-core` dependency to [v0.1.33][core-0.1.33] and the `tracing-attributes` dependency to [v0.1.28][attrs-0.1.28]. ### Added - **core**: Add index API for `Field` ([#2820]) - **core**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - **core**: Use const `thread_local`s when possible ([#2838]) ### Fixed - Removed core imports in macros ([#2762]) - **attributes**: Added missing RecordTypes for instrument ([#2781]) - **attributes**: Change order of async and unsafe modifier ([#2864]) - Fix missing field prefixes ([#2878]) - **attributes**: Extract match scrutinee ([#2880]) - Fix non-simple macro usage without message ([#2879]) - Fix event macros with constant field names in the first position ([#2883]) - Allow field path segments to be keywords ([#2925]) - **core**: Fix missed `register_callsite` error ([#2938]) - **attributes**: Support const values for `target` and `name` ([#2941]) - Prefix macro calls with ::core to avoid clashing with local macros ([#3024]) [#2762]: #2762 [#2781]: #2781 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2864]: #2864 [#2878]: #2878 [#2879]: #2879 [#2880]: #2880 [#2883]: #2883 [#2925]: #2925 [#2938]: #2938 [#2941]: #2941 [#2954]: #2954 [#3024]: #3024 [attrs-0.1.28]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.28 [core-0.1.33]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.33 [docs-0.1.41]: https://docs.rs/tracing/0.1.41/tracing/ [crate-0.1.41]: https://crates.io/crates/tracing/0.1.41
# 0.1.41 (November 25, 2024) [ [crates.io][crate-0.1.41] ] | [ [docs.rs][docs-0.1.41] ] This release updates the `tracing-core` dependency to [v0.1.33][core-0.1.33] and the `tracing-attributes` dependency to [v0.1.28][attrs-0.1.28]. ### Added - **core**: Add index API for `Field` ([#2820]) - **core**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - **core**: Use const `thread_local`s when possible ([#2838]) ### Fixed - Removed core imports in macros ([#2762]) - **attributes**: Added missing RecordTypes for instrument ([#2781]) - **attributes**: Change order of async and unsafe modifier ([#2864]) - Fix missing field prefixes ([#2878]) - **attributes**: Extract match scrutinee ([#2880]) - Fix non-simple macro usage without message ([#2879]) - Fix event macros with constant field names in the first position ([#2883]) - Allow field path segments to be keywords ([#2925]) - **core**: Fix missed `register_callsite` error ([#2938]) - **attributes**: Support const values for `target` and `name` ([#2941]) - Prefix macro calls with ::core to avoid clashing with local macros ([#3024]) [#2762]: #2762 [#2781]: #2781 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2864]: #2864 [#2878]: #2878 [#2879]: #2879 [#2880]: #2880 [#2883]: #2883 [#2925]: #2925 [#2938]: #2938 [#2941]: #2941 [#2954]: #2954 [#3024]: #3024 [attrs-0.1.28]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.28 [core-0.1.33]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.33 [docs-0.1.41]: https://docs.rs/tracing/0.1.41/tracing/ [crate-0.1.41]: https://crates.io/crates/tracing/0.1.41
# 0.1.41 (November 27, 2024) [ [crates.io][crate-0.1.41] ] | [ [docs.rs][docs-0.1.41] ] This release updates the `tracing-core` dependency to [v0.1.33][core-0.1.33] and the `tracing-attributes` dependency to [v0.1.28][attrs-0.1.28]. ### Added - **core**: Add index API for `Field` ([#2820]) - **core**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - **core**: Use const `thread_local`s when possible ([#2838]) ### Fixed - Removed core imports in macros ([#2762]) - **attributes**: Added missing RecordTypes for instrument ([#2781]) - **attributes**: Change order of async and unsafe modifier ([#2864]) - Fix missing field prefixes ([#2878]) - **attributes**: Extract match scrutinee ([#2880]) - Fix non-simple macro usage without message ([#2879]) - Fix event macros with constant field names in the first position ([#2883]) - Allow field path segments to be keywords ([#2925]) - **core**: Fix missed `register_callsite` error ([#2938]) - **attributes**: Support const values for `target` and `name` ([#2941]) - Prefix macro calls with ::core to avoid clashing with local macros ([#3024]) [#2762]: #2762 [#2781]: #2781 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2864]: #2864 [#2878]: #2878 [#2879]: #2879 [#2880]: #2880 [#2883]: #2883 [#2925]: #2925 [#2938]: #2938 [#2941]: #2941 [#2954]: #2954 [#3024]: #3024 [attrs-0.1.28]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.28 [core-0.1.33]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.33 [docs-0.1.41]: https://docs.rs/tracing/0.1.41/tracing/ [crate-0.1.41]: https://crates.io/crates/tracing/0.1.41
# 0.1.41 (November 27, 2024) [ [crates.io][crate-0.1.41] ] | [ [docs.rs][docs-0.1.41] ] This release updates the `tracing-core` dependency to [v0.1.33][core-0.1.33] and the `tracing-attributes` dependency to [v0.1.28][attrs-0.1.28]. ### Added - **core**: Add index API for `Field` ([#2820]) - **core**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Bump MSRV to 1.63 ([#2793]) - **core**: Use const `thread_local`s when possible ([#2838]) ### Fixed - Removed core imports in macros ([#2762]) - **attributes**: Added missing RecordTypes for instrument ([#2781]) - **attributes**: Change order of async and unsafe modifier ([#2864]) - Fix missing field prefixes ([#2878]) - **attributes**: Extract match scrutinee ([#2880]) - Fix non-simple macro usage without message ([#2879]) - Fix event macros with constant field names in the first position ([#2883]) - Allow field path segments to be keywords ([#2925]) - **core**: Fix missed `register_callsite` error ([#2938]) - **attributes**: Support const values for `target` and `name` ([#2941]) - Prefix macro calls with ::core to avoid clashing with local macros ([#3024]) [#2762]: #2762 [#2781]: #2781 [#2793]: #2793 [#2820]: #2820 [#2838]: #2838 [#2864]: #2864 [#2878]: #2878 [#2879]: #2879 [#2880]: #2880 [#2883]: #2883 [#2925]: #2925 [#2938]: #2938 [#2941]: #2941 [#2954]: #2954 [#3024]: #3024 [attrs-0.1.28]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.28 [core-0.1.33]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.33 [docs-0.1.41]: https://docs.rs/tracing/0.1.41/tracing/ [crate-0.1.41]: https://crates.io/crates/tracing/0.1.41
# 0.3.19 (November 29, 2024) [ [crates.io][crate-0.3.19] ] | [ [docs.rs][docs-0.3.19] ] This release updates the `tracing` dependency to [v0.1.41][tracing-0.1.41] and the `tracing-serde` dependency to [v0.2.0][tracing-serde-0.2.0]. ### Added - Add `set_span_events` to `fmt::Subscriber` ([#2962]) - **tracing**: Allow `&[u8]` to be recorded as event/span field (#2954) ### Changed - Set `log` max level when reloading ([#1270) - Bump MSRV to 1.63 ([#2793]) - Use const `thread_local`s when possible ([#2838]) - Don't gate `with_ansi()` on the "ansi" feature ([#3020]) - Updated tracing-serde to 0.2.0 ([#3160]) [#1270]: #1270 [#2793]: #2793 [#2838]: #2838 [#2962]: #2962 [#3020]: #3020 [#3160]: #3160 [tracing-0.1.41]: https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.41 [tracing-serde-0.2.0]: https://github.com/tokio-rs/tracing/releases/tag/tracing-serde-0.2.0 [docs-0.3.19]: https://docs.rs/tracing-subscriber/0.3.19/tracing_subscriber/ [crate-0.3.19]: https://crates.io/crates/tracing-subscriber/0.3.19
# 0.3.19 (November 29, 2024) [ [crates.io][crate-0.3.19] ] | [ [docs.rs][docs-0.3.19] ] This release updates the `tracing` dependency to [v0.1.41][tracing-0.1.41] and the `tracing-serde` dependency to [v0.2.0][tracing-serde-0.2.0]. ### Added - Add `set_span_events` to `fmt::Subscriber` ([#2962]) - **tracing**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Set `log` max level when reloading ([#1270]) - Bump MSRV to 1.63 ([#2793]) - Use const `thread_local`s when possible ([#2838]) - Don't gate `with_ansi()` on the "ansi" feature ([#3020]) - Updated tracing-serde to 0.2.0 ([#3160]) [#1270]: #1270 [#2793]: #2793 [#2838]: #2838 [#2962]: #2962 [#3020]: #3020 [#3160]: #3160 [tracing-0.1.41]: https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.41 [tracing-serde-0.2.0]: https://github.com/tokio-rs/tracing/releases/tag/tracing-serde-0.2.0 [docs-0.3.19]: https://docs.rs/tracing-subscriber/0.3.19/tracing_subscriber/ [crate-0.3.19]: https://crates.io/crates/tracing-subscriber/0.3.19
# 0.3.19 (November 28, 2024) [ [crates.io][crate-0.3.19] ] | [ [docs.rs][docs-0.3.19] ] This release updates the `tracing` dependency to [v0.1.41][tracing-0.1.41] and the `tracing-serde` dependency to [v0.2.0][tracing-serde-0.2.0]. ### Added - Add `set_span_events` to `fmt::Subscriber` ([#2962]) - **tracing**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Set `log` max level when reloading ([#1270]) - Bump MSRV to 1.63 ([#2793]) - Use const `thread_local`s when possible ([#2838]) - Don't gate `with_ansi()` on the "ansi" feature ([#3020]) - Updated tracing-serde to 0.2.0 ([#3160]) [#1270]: #1270 [#2793]: #2793 [#2838]: #2838 [#2954]: #2954 [#2962]: #2962 [#3020]: #3020 [#3160]: #3160 [tracing-0.1.41]: https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.41 [tracing-serde-0.2.0]: https://github.com/tokio-rs/tracing/releases/tag/tracing-serde-0.2.0 [docs-0.3.19]: https://docs.rs/tracing-subscriber/0.3.19/tracing_subscriber/ [crate-0.3.19]: https://crates.io/crates/tracing-subscriber/0.3.19
# 0.3.19 (November 29, 2024) [ [crates.io][crate-0.3.19] ] | [ [docs.rs][docs-0.3.19] ] This release updates the `tracing` dependency to [v0.1.41][tracing-0.1.41] and the `tracing-serde` dependency to [v0.2.0][tracing-serde-0.2.0]. ### Added - Add `set_span_events` to `fmt::Subscriber` ([#2962]) - **tracing**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Set `log` max level when reloading ([#1270]) - Bump MSRV to 1.63 ([#2793]) - Use const `thread_local`s when possible ([#2838]) - Don't gate `with_ansi()` on the "ansi" feature ([#3020]) - Updated tracing-serde to 0.2.0 ([#3160]) [#1270]: #1270 [#2793]: #2793 [#2838]: #2838 [#2954]: #2954 [#2962]: #2962 [#3020]: #3020 [#3160]: #3160 [tracing-0.1.41]: https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.41 [tracing-serde-0.2.0]: https://github.com/tokio-rs/tracing/releases/tag/tracing-serde-0.2.0 [docs-0.3.19]: https://docs.rs/tracing-subscriber/0.3.19/tracing_subscriber/ [crate-0.3.19]: https://crates.io/crates/tracing-subscriber/0.3.19
# 0.3.19 (November 29, 2024) [ [crates.io][crate-0.3.19] ] | [ [docs.rs][docs-0.3.19] ] This release updates the `tracing` dependency to [v0.1.41][tracing-0.1.41] and the `tracing-serde` dependency to [v0.2.0][tracing-serde-0.2.0]. ### Added - Add `set_span_events` to `fmt::Subscriber` ([#2962]) - **tracing**: Allow `&[u8]` to be recorded as event/span field ([#2954]) ### Changed - Set `log` max level when reloading ([#1270]) - Bump MSRV to 1.63 ([#2793]) - Use const `thread_local`s when possible ([#2838]) - Don't gate `with_ansi()` on the "ansi" feature ([#3020]) - Updated tracing-serde to 0.2.0 ([#3160]) [#1270]: #1270 [#2793]: #2793 [#2838]: #2838 [#2954]: #2954 [#2962]: #2962 [#3020]: #3020 [#3160]: #3160 [tracing-0.1.41]: https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.41 [tracing-serde-0.2.0]: https://github.com/tokio-rs/tracing/releases/tag/tracing-serde-0.2.0 [docs-0.3.19]: https://docs.rs/tracing-subscriber/0.3.19/tracing_subscriber/ [crate-0.3.19]: https://crates.io/crates/tracing-subscriber/0.3.19
They have much better perf.