Skip to content

Releases: tokio-rs/tracing

tracing-subscriber 0.3.14

01 Jul 17:52
9638587
Compare
Choose a tag to compare

This release fixes multiple filtering bugs in the Layer implementations for
Option<impl Layer> and Vec<impl Layer>.

Fixed

  • layer: Layer::event_enabled implementation for Option<impl Layer<S>>
    returning false when the Option is None, disabling all events globally
    (#2193)
  • layer: Layer::max_level_hint implementation for Option<impl Layer<S>>
    incorrectly disabling max level filtering when the option is None (#2195)
  • layer: Layer::max_level_hint implementation for Vec<impl Layer<S>>
    returning LevelFilter::ERROR rather than LevelFilter::OFF when the Vec
    is empty (#2195)

Thanks to @CAD97 and @guswynn for contributing to this release!

tracing-opentelemetry 0.17.4

01 Jul 18:01
6752895
Compare
Choose a tag to compare

This release adds optional support for recording std::error::Errors using
[OpenTelemetry's semantic conventions for exceptions][exn-semconv].

Added

  • Layer::with_exception_fields to enable emitting exception.message and
    exception.backtrace semantic-convention fields when an Error is recorded
    as a span or event field (#2135)
  • Layer::with_exception_field_propagation to enable setting exception.message and
    exception.backtrace semantic-convention fields on the current span when an
    event with an Error field is recorded (#2135)

Thanks to @lilymara-onesignal for contributing to this release!

tracing-attributes 0.1.22

01 Jul 18:18
9c4bd43
Compare
Choose a tag to compare

This release fixes an issue where using the err or ret arguments to
#[instrument] along with an overridden target, such as

#[instrument(target = "...", err, ret)]

would not propagate the overridden target to the events generated for
errors/return values.

Fixed

  • Error and return value events generated by #[instrument(err)] or
    #[instrument(ret)] not inheriting an overridden target (#2184)
  • Incorrect default level in documentation (#2119)

Thanks to new contributor @tbraun96 for contributing to this release!

tracing-subscriber 0.3.13

30 Jun 20:35
2fdbaaa
Compare
Choose a tag to compare

This release of tracing-subscriber fixes a compilation failure due to an
incorrect tracing-core dependency that was introduced in v0.3.12.

Changed

  • tracing_core: Updated minimum dependency version to 0.1.28 (#2190)

tracing-subscriber 0.3.12

29 Jun 20:00
d86d2a4
Compare
Choose a tag to compare

This release of tracing-subscriber adds a new Layer::event_enabled method,
which allows Layers to filter events after their field values are recorded;
a Filter implementation for reload::Layer, to make using reload with
per-layer filtering more ergonomic, and additional inherent method downcasting
APIs for the Layered type. In addition, it includes dependency updates, and
minor fixes for documentation and feature flagging.

Added

  • layer: Layer::event_enabled method, which can be implemented to filter
    events based on their field values (#2008)
  • reload: Filter implementation for reload::Layer (#2159)
  • layer: Layered::downcast_ref and Layered::is inherent methods
    (#2160)

Changed

  • parking_lot: Updated dependency on parking_lot to 0.13.0 (#2143)
  • Replaced lazy_static dependency with once_cell ([#2147])

Fixed

  • Don't enable tracing-core features by default (#2107)
  • Several documentation link and typo fixes (#2064, #2068, #[2077], #2161,
    #1088)

Thanks to @ben0x539, @jamesmunns, @georgemp, @james7132, @jswrenn, @CAD97, and
@guswynn for contributing to this release!

tracing-core 0.1.28

24 Jun 00:38
542c34d
Compare
Choose a tag to compare

This release of tracing-core adds new Value implementations, including one
for String, to allow recording &String as a value without having to call
as_str() or similar, and for 128-bit integers (i128 and u128). In
addition, it adds new methods and trait implementations for Subscribers.

Added

  • Value implementation for String (#2164)
  • Value implementation for u128 and i28 (#2166)
  • downcast_ref and is methods for dyn Subscriber + Sync,
    dyn Subscriber + Send, and dyn Subscriber + Send + Sync (#2160)
  • Subscriber::event_enabled method to enable filtering based on Event field
    values (#2008)
  • Subscriber implementation for Box<S: Subscriber + ?Sized> and
    Arc<S: Subscriber + ?Sized> (#2161)

Thanks to @jswrenn and @CAD97 for contributing to this release!

tracing 0.1.35

08 Jun 15:51
cf98b73
Compare
Choose a tag to compare

This release reduces the overhead of callsite registration by using new
tracing-core APIs.

Added

  • Use DefaultCallsite to reduce callsite registration overhead (#2083)

Changed

  • tracing-core: updated to 0.1.27

tracing-opentelemetry 0.17.3

07 Jun 17:44
1133a08
Compare
Choose a tag to compare

This release adds support for emitting thread names and IDs to OpenTelemetry, as
well as recording std::error::Error values in a structured manner with their
source chain included. Additionally, this release fixes issues related to event
and span source code locations.

Added

  • Layer::with_threads to enable recording thread names/IDs according to
    OpenTelemetry semantic conventions (#2134)
  • Error::source chain when recording std::error::Error values (#2122)
  • Layer::with_location method (replaces Layer::with_event_location)
    (#2124)

Changed

  • std::error::Error values are now recorded using fmt::Display rather than
    fmt::Debug (#2122)

Fixed

  • Fixed event source code locations overwriting the parent span's source
    location (#2099)
  • Fixed Layer::with_event_location not controlling whether locations are
    emitted for spans as well as events (#2124)

Deprecated

  • Layer::with_event_location: renamed to Layer::with_location, as it now
    controls both span and event locations (#2124)

Thanks to new contributors @lilymara-onesignal, @hubertbudzynski, and @DevinCarr
for contributing to this release!

tracing-core 0.1.27

07 Jun 21:19
d6699fe
Compare
Choose a tag to compare

This release of tracing-core introduces a new DefaultCallsite type, which
can be used by instrumentation crates rather than implementing their own
callsite types. Using DefaultCallsite may offer reduced overhead from callsite
registration.

Added

  • DefaultCallsite, a pre-written Callsite implementation for use in
    instrumentation crates (#2083)
  • ValueSet::len and Record::len methods returning the number of fields in a
    ValueSet or Record (#2152)

Changed

  • Replaced lazy_static dependency with once_cell (#2147)

Documented

  • Added documentation to the callsite module (#2088, #2149)

Thanks to new contributors @jamesmunns and @james7132 for contributing to this
release!

tracing-attributes 0.1.21

27 Apr 00:04
45c0a10
Compare
Choose a tag to compare

This release adds support for setting explicit parent and follows-from spans
in the #[instrument] attribute.

Added

  • #[instrument(follows_from = ...)] argument for setting one or more
    follows-from span (#2093)
  • #[instrument(parent = ...)] argument for overriding the generated span's
    parent (#2091)

Fixed

  • Extra braces around async blocks in expanded code (causes a Clippy warning)
    (#2090)
  • Broken documentation links (#2068, #2077)

Thanks to @jarrodldavis, @ben0x539, and new contributor @jswrenn for
contributing to this release!