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

Add rubicon 3.x support #1

Open
wants to merge 6 commits into
base: v0.1.x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions tracing-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ maintenance = { status = "actively-developed" }

[dependencies]
once_cell = { version = "1.13.0", optional = true }
rubicon = "3.3.3"

[target.'cfg(tracing_unstable)'.dependencies]
valuable = { version = "0.1.0", optional = true, default-features = false }
Expand Down
20 changes: 12 additions & 8 deletions tracing-core/src/callsite.rs
Original file line number Diff line number Diff line change
Expand Up @@ -254,14 +254,16 @@ pub fn register(callsite: &'static dyn Callsite) {
CALLSITES.push_dyn(callsite);
}

static CALLSITES: Callsites = Callsites {
list_head: AtomicPtr::new(ptr::null_mut()),
has_locked_callsites: AtomicBool::new(false),
};
rubicon::process_local! {
static CALLSITES: Callsites = Callsites {
list_head: AtomicPtr::new(ptr::null_mut()),
has_locked_callsites: AtomicBool::new(false),
};

static DISPATCHERS: Dispatchers = Dispatchers::new();
static DISPATCHERS: Dispatchers = Dispatchers::new();

static LOCKED_CALLSITES: Lazy<Mutex<Vec<&'static dyn Callsite>>> = Lazy::new(Default::default);
static LOCKED_CALLSITES: Lazy<Mutex<Vec<&'static dyn Callsite>>> = Lazy::new(Default::default);
}

struct Callsites {
list_head: AtomicPtr<DefaultCallsite>,
Expand Down Expand Up @@ -526,8 +528,10 @@ mod dispatchers {
has_just_one: AtomicBool,
}

static LOCKED_DISPATCHERS: Lazy<RwLock<Vec<dispatcher::Registrar>>> =
Lazy::new(Default::default);
rubicon::process_local! {
static LOCKED_DISPATCHERS: Lazy<RwLock<Vec<dispatcher::Registrar>>> =
Lazy::new(Default::default);
}

pub(super) enum Rebuilder<'a> {
JustOne,
Expand Down
56 changes: 33 additions & 23 deletions tracing-core/src/dispatcher.rs
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,10 @@
error,
};

#[cfg(feature = "alloc")]

Check failure on line 147 in tracing-core/src/dispatcher.rs

View workflow job for this annotation

GitHub Actions / clippy

unexpected `cfg` condition value: `alloc`

error: unexpected `cfg` condition value: `alloc` --> tracing-core/src/dispatcher.rs:147:7 | 147 | #[cfg(feature = "alloc")] | ^^^^^^^^^^^^^^^^^ | = note: expected values for `feature` are: `default`, `once_cell`, `std`, and `valuable` = help: consider adding `alloc` as a feature in `Cargo.toml` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `-D unexpected-cfgs` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(unexpected_cfgs)]`
use alloc::sync::{Arc, Weak};

#[cfg(feature = "alloc")]

Check failure on line 150 in tracing-core/src/dispatcher.rs

View workflow job for this annotation

GitHub Actions / clippy

unexpected `cfg` condition value: `alloc`

error: unexpected `cfg` condition value: `alloc` --> tracing-core/src/dispatcher.rs:150:7 | 150 | #[cfg(feature = "alloc")] | ^^^^^^^^^^^^^^^^^ | = note: expected values for `feature` are: `default`, `once_cell`, `std`, and `valuable` = help: consider adding `alloc` as a feature in `Cargo.toml` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
use core::ops::Deref;

/// `Dispatch` trace data to a [`Subscriber`].
Expand Down Expand Up @@ -186,30 +186,34 @@
}

#[cfg(feature = "std")]
thread_local! {
rubicon::thread_local! {
static CURRENT_STATE: State = State {
default: RefCell::new(None),
can_enter: Cell::new(true),
};
}

static EXISTS: AtomicBool = AtomicBool::new(false);
static GLOBAL_INIT: AtomicUsize = AtomicUsize::new(UNINITIALIZED);
rubicon::process_local! {
static EXISTS: AtomicBool = AtomicBool::new(false);
static GLOBAL_INIT: AtomicUsize = AtomicUsize::new(UNINITIALIZED);

#[cfg(feature = "std")]
static SCOPED_COUNT: AtomicUsize = AtomicUsize::new(0);
#[cfg(feature = "std")]
static SCOPED_COUNT: AtomicUsize = AtomicUsize::new(0);
}

const UNINITIALIZED: usize = 0;
const INITIALIZING: usize = 1;
const INITIALIZED: usize = 2;

static mut GLOBAL_DISPATCH: Dispatch = Dispatch {
subscriber: Kind::Global(&NO_SUBSCRIBER),
};
static NONE: Dispatch = Dispatch {
subscriber: Kind::Global(&NO_SUBSCRIBER),
};
static NO_SUBSCRIBER: NoSubscriber = NoSubscriber::new();
rubicon::process_local! {
static mut GLOBAL_DISPATCH: Dispatch = Dispatch {
subscriber: Kind::Global(&NO_SUBSCRIBER),
};
static NONE: Dispatch = Dispatch {
subscriber: Kind::Global(&NO_SUBSCRIBER),
};
static NO_SUBSCRIBER: NoSubscriber = NoSubscriber::new();
}

/// The dispatch state of a thread.
#[cfg(feature = "std")]
Expand Down Expand Up @@ -455,7 +459,7 @@
unsafe {
// This is safe given the invariant that setting the global dispatcher
// also sets `GLOBAL_INIT` to `INITIALIZED`.
&GLOBAL_DISPATCH

Check failure on line 462 in tracing-core/src/dispatcher.rs

View workflow job for this annotation

GitHub Actions / clippy

creating a shared reference to mutable static is discouraged

error: creating a shared reference to mutable static is discouraged --> tracing-core/src/dispatcher.rs:462:9 | 462 | &GLOBAL_DISPATCH | ^^^^^^^^^^^^^^^^ shared reference to mutable static | = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447> = note: this will be a hard error in the 2024 edition = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior = note: `-D static-mut-refs` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(static_mut_refs)]` help: use `addr_of!` instead to create a raw pointer | 462 | addr_of!(GLOBAL_DISPATCH) |
}
}

Expand Down Expand Up @@ -929,15 +933,17 @@
}

struct TestCallsite;
static TEST_CALLSITE: TestCallsite = TestCallsite;
static TEST_META: Metadata<'static> = metadata! {
name: "test",
target: module_path!(),
level: Level::DEBUG,
fields: &[],
callsite: &TEST_CALLSITE,
kind: Kind::EVENT
};
rubicon::process_local! {
static TEST_CALLSITE: TestCallsite = TestCallsite;
static TEST_META: Metadata<'static> = metadata! {
name: "test",
target: module_path!(),
level: Level::DEBUG,
fields: &[],
callsite: &TEST_CALLSITE,
kind: Kind::EVENT
};
}

impl Callsite for TestCallsite {
fn set_interest(&self, _: Interest) {}
Expand Down Expand Up @@ -966,7 +972,9 @@
fn record_follows_from(&self, _: &span::Id, _: &span::Id) {}

fn event(&self, _: &Event<'_>) {
static EVENTS: AtomicUsize = AtomicUsize::new(0);
rubicon::process_local! {
static EVENTS: AtomicUsize = AtomicUsize::new(0);
}
assert_eq!(
EVENTS.fetch_add(1, Ordering::Relaxed),
0,
Expand Down Expand Up @@ -1007,7 +1015,9 @@
}

fn new_span(&self, _: &span::Attributes<'_>) -> span::Id {
static NEW_SPANS: AtomicUsize = AtomicUsize::new(0);
rubicon::process_local! {
static NEW_SPANS: AtomicUsize = AtomicUsize::new(0);
}
assert_eq!(
NEW_SPANS.fetch_add(1, Ordering::Relaxed),
0,
Expand Down
51 changes: 29 additions & 22 deletions tracing-core/src/field.rs
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@
/// Visits an arbitrary type implementing the [`valuable`] crate's `Valuable` trait.
///
/// [`valuable`]: https://docs.rs/valuable
#[cfg(all(tracing_unstable, feature = "valuable"))]

Check failure on line 270 in tracing-core/src/field.rs

View workflow job for this annotation

GitHub Actions / clippy

unexpected `cfg` condition name: `tracing_unstable`

error: unexpected `cfg` condition name: `tracing_unstable` --> tracing-core/src/field.rs:270:15 | 270 | #[cfg(all(tracing_unstable, feature = "valuable"))] | ^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tracing_unstable)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tracing_unstable)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
#[cfg_attr(docsrs, doc(cfg(all(tracing_unstable, feature = "valuable"))))]
fn record_value(&mut self, field: &Field, value: valuable::Value<'_>) {
self.record_debug(field, &value)
Expand Down Expand Up @@ -371,7 +371,7 @@
/// can be recorded using its `Valuable` implementation.
///
/// [`Valuable`]: https://docs.rs/valuable/latest/valuable/trait.Valuable.html
#[cfg(all(tracing_unstable, feature = "valuable"))]

Check failure on line 374 in tracing-core/src/field.rs

View workflow job for this annotation

GitHub Actions / clippy

unexpected `cfg` condition name: `tracing_unstable`

error: unexpected `cfg` condition name: `tracing_unstable` --> tracing-core/src/field.rs:374:11 | 374 | #[cfg(all(tracing_unstable, feature = "valuable"))] | ^^^^^^^^^^^^^^^^ | = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows` = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tracing_unstable)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tracing_unstable)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
#[cfg_attr(docsrs, doc(cfg(all(tracing_unstable, feature = "valuable"))))]
pub fn valuable<T>(t: &T) -> valuable::Value<'_>
where
Expand Down Expand Up @@ -651,10 +651,12 @@
}
}

static FIELD: Field = Field {
i: 0,
fields: FieldSet::new(&[], crate::identify_callsite!(&NULL_CALLSITE)),
};
rubicon::process_local! {
static FIELD: Field = Field {
i: 0,
fields: FieldSet::new(&[], crate::identify_callsite!(&NULL_CALLSITE)),
};
}

let mut res = Ok(());
self.record(&FIELD, &mut |_: &Field, val: &dyn fmt::Debug| {
Expand Down Expand Up @@ -716,10 +718,10 @@

// ===== impl ValuableValue =====

#[cfg(all(tracing_unstable, feature = "valuable"))]

Check failure on line 721 in tracing-core/src/field.rs

View workflow job for this annotation

GitHub Actions / clippy

unexpected `cfg` condition name: `tracing_unstable`

error: unexpected `cfg` condition name: `tracing_unstable` --> tracing-core/src/field.rs:721:11 | 721 | #[cfg(all(tracing_unstable, feature = "valuable"))] | ^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tracing_unstable)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tracing_unstable)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
impl crate::sealed::Sealed for valuable::Value<'_> {}

#[cfg(all(tracing_unstable, feature = "valuable"))]

Check failure on line 724 in tracing-core/src/field.rs

View workflow job for this annotation

GitHub Actions / clippy

unexpected `cfg` condition name: `tracing_unstable`

error: unexpected `cfg` condition name: `tracing_unstable` --> tracing-core/src/field.rs:724:11 | 724 | #[cfg(all(tracing_unstable, feature = "valuable"))] | ^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tracing_unstable)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tracing_unstable)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
#[cfg_attr(docsrs, doc(cfg(all(tracing_unstable, feature = "valuable"))))]
impl Value for valuable::Value<'_> {
fn record(&self, key: &Field, visitor: &mut dyn Visit) {
Expand All @@ -727,10 +729,10 @@
}
}

#[cfg(all(tracing_unstable, feature = "valuable"))]

Check failure on line 732 in tracing-core/src/field.rs

View workflow job for this annotation

GitHub Actions / clippy

unexpected `cfg` condition name: `tracing_unstable`

error: unexpected `cfg` condition name: `tracing_unstable` --> tracing-core/src/field.rs:732:11 | 732 | #[cfg(all(tracing_unstable, feature = "valuable"))] | ^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tracing_unstable)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tracing_unstable)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
impl crate::sealed::Sealed for &'_ dyn valuable::Valuable {}

#[cfg(all(tracing_unstable, feature = "valuable"))]

Check failure on line 735 in tracing-core/src/field.rs

View workflow job for this annotation

GitHub Actions / clippy

unexpected `cfg` condition name: `tracing_unstable`

error: unexpected `cfg` condition name: `tracing_unstable` --> tracing-core/src/field.rs:735:11 | 735 | #[cfg(all(tracing_unstable, feature = "valuable"))] | ^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tracing_unstable)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tracing_unstable)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
#[cfg_attr(docsrs, doc(cfg(all(tracing_unstable, feature = "valuable"))))]
impl Value for &'_ dyn valuable::Valuable {
fn record(&self, key: &Field, visitor: &mut dyn Visit) {
Expand Down Expand Up @@ -836,7 +838,7 @@
/// Returns the [`Field`] named `name`, or `None` if no such field exists.
///
/// [`Field`]: super::Field
pub fn field<Q: ?Sized>(&self, name: &Q) -> Option<Field>

Check failure on line 841 in tracing-core/src/field.rs

View workflow job for this annotation

GitHub Actions / clippy

bound is defined in more than one place

error: bound is defined in more than one place --> tracing-core/src/field.rs:841:18 | 841 | pub fn field<Q: ?Sized>(&self, name: &Q) -> Option<Field> | ^ 842 | where 843 | Q: Borrow<str>, | ^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations = note: `-D clippy::multiple-bound-locations` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(clippy::multiple_bound_locations)]`
where
Q: Borrow<str>,
{
Expand Down Expand Up @@ -1091,15 +1093,18 @@

// Make sure TEST_CALLSITE_* have non-zero size, so they can't be located at the same address.
struct TestCallsite1(u8);
static TEST_CALLSITE_1: TestCallsite1 = TestCallsite1(0);
static TEST_META_1: Metadata<'static> = metadata! {
name: "field_test1",
target: module_path!(),
level: Level::INFO,
fields: &["foo", "bar", "baz"],
callsite: &TEST_CALLSITE_1,
kind: Kind::SPAN,
};

rubicon::process_local! {
static TEST_CALLSITE_1: TestCallsite1 = TestCallsite1(0);
static TEST_META_1: Metadata<'static> = metadata! {
name: "field_test1",
target: module_path!(),
level: Level::INFO,
fields: &["foo", "bar", "baz"],
callsite: &TEST_CALLSITE_1,
kind: Kind::SPAN,
};
}

impl crate::callsite::Callsite for TestCallsite1 {
fn set_interest(&self, _: crate::subscriber::Interest) {
Expand All @@ -1112,15 +1117,17 @@
}

struct TestCallsite2(u8);
static TEST_CALLSITE_2: TestCallsite2 = TestCallsite2(0);
static TEST_META_2: Metadata<'static> = metadata! {
name: "field_test2",
target: module_path!(),
level: Level::INFO,
fields: &["foo", "bar", "baz"],
callsite: &TEST_CALLSITE_2,
kind: Kind::SPAN,
};
rubicon::process_local! {
static TEST_CALLSITE_2: TestCallsite2 = TestCallsite2(0);
static TEST_META_2: Metadata<'static> = metadata! {
name: "field_test2",
target: module_path!(),
level: Level::INFO,
fields: &["foo", "bar", "baz"],
callsite: &TEST_CALLSITE_2,
kind: Kind::SPAN,
};
}

impl crate::callsite::Callsite for TestCallsite2 {
fn set_interest(&self, _: crate::subscriber::Interest) {
Expand Down
7 changes: 7 additions & 0 deletions tracing-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -292,3 +292,10 @@ pub use self::{metadata::Kind, subscriber::Interest};
mod sealed {
pub trait Sealed {}
}

rubicon::compatibility_check! {
("version", env!("CARGO_PKG_VERSION")),

#[cfg(feature = "std")]
("std", "enabled"),
}
4 changes: 3 additions & 1 deletion tracing-core/src/metadata.rs
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,9 @@ pub struct LevelFilter(Option<Level>);
#[derive(Clone, Debug)]
pub struct ParseLevelFilterError(());

static MAX_LEVEL: AtomicUsize = AtomicUsize::new(LevelFilter::OFF_USIZE);
rubicon::process_local! {
static MAX_LEVEL: AtomicUsize = AtomicUsize::new(LevelFilter::OFF_USIZE);
}

// ===== impl Metadata =====

Expand Down
30 changes: 30 additions & 0 deletions tracing-core/src/subscriber.rs
Original file line number Diff line number Diff line change
Expand Up @@ -699,6 +699,36 @@ impl Subscriber for NoSubscriber {
fn exit(&self, _span: &span::Id) {}
}

impl Subscriber for rubicon::TrustedExtern<NoSubscriber> {
fn enabled(&self, metadata: &Metadata<'_>) -> bool {
self.0.enabled(metadata)
}

fn new_span(&self, span: &span::Attributes<'_>) -> span::Id {
self.0.new_span(span)
}

fn record(&self, span: &span::Id, values: &span::Record<'_>) {
self.0.record(span, values)
}

fn record_follows_from(&self, span: &span::Id, follows: &span::Id) {
self.0.record_follows_from(span, follows)
}

fn event(&self, event: &Event<'_>) {
self.0.event(event)
}

fn enter(&self, span: &span::Id) {
self.0.enter(span)
}

fn exit(&self, span: &span::Id) {
self.0.exit(span)
}
}

impl NoSubscriber {
/// Returns a new `NoSubscriber`.
#[must_use]
Expand Down
15 changes: 9 additions & 6 deletions tracing-flame/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
[package]
name = "tracing-flame"
version = "0.2.0"
authors = [
"Jane Lusby <[email protected]>",
"Tokio Contributors <[email protected]>"
]
authors = ["Jane Lusby <[email protected]>", "Tokio Contributors <[email protected]>"]
edition = "2018"
license = "MIT"
readme = "README.md"
Expand All @@ -26,9 +23,15 @@ default = ["smallvec"]
smallvec = ["tracing-subscriber/smallvec"]

[dependencies]
tracing-subscriber = { path = "../tracing-subscriber", version = "0.3.0", default-features = false, features = ["registry", "fmt"] }
tracing = { path = "../tracing", version = "0.1.35", default-features = false, features = ["std"] }
tracing-subscriber = { path = "../tracing-subscriber", version = "0.3.0", default-features = false, features = [
"registry",
"fmt",
] }
tracing = { path = "../tracing", version = "0.1.35", default-features = false, features = [
"std",
] }
once_cell = "1.13.0"
rubicon = "3.3.3"


[dev-dependencies]
Expand Down
6 changes: 5 additions & 1 deletion tracing-flame/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ mod error;

static START: Lazy<Instant> = Lazy::new(Instant::now);

thread_local! {
rubicon::thread_local! {
static LAST_EVENT: Cell<Instant> = Cell::new(*START);

static THREAD_NAME: String = {
Expand Down Expand Up @@ -505,3 +505,7 @@ where

Ok(())
}

rubicon::compatibility_check! {
("version", env!("CARGO_PKG_VERSION")),
}
18 changes: 11 additions & 7 deletions tracing/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ name = "tracing"
# - Update CHANGELOG.md.
# - Create "v0.1.x" git tag
version = "0.1.40"
authors = ["Eliza Weisman <[email protected]>", "Tokio Contributors <[email protected]>"]
authors = [
"Eliza Weisman <[email protected]>",
"Tokio Contributors <[email protected]>",
]
license = "MIT"
readme = "README.md"
repository = "https://github.com/tokio-rs/tracing"
Expand All @@ -32,6 +35,7 @@ tracing-core = { path = "../tracing-core", version = "0.1.32", default-features
log = { version = "0.4.17", optional = true }
tracing-attributes = { path = "../tracing-attributes", version = "0.1.27", optional = true }
pin-project-lite = "0.2.9"
rubicon = "3.3.3"

[dev-dependencies]
criterion = { version = "0.3.6", default_features = false }
Expand All @@ -45,17 +49,17 @@ wasm-bindgen-test = "0.3.38"
[features]
default = ["std", "attributes"]

max_level_off = []
max_level_off = []
max_level_error = []
max_level_warn = []
max_level_info = []
max_level_warn = []
max_level_info = []
max_level_debug = []
max_level_trace = []

release_max_level_off = []
release_max_level_off = []
release_max_level_error = []
release_max_level_warn = []
release_max_level_info = []
release_max_level_warn = []
release_max_level_info = []
release_max_level_debug = []
release_max_level_trace = []

Expand Down
Loading
Loading