tracing/tracing-attributes
Eliza Weisman 2d0072a17b
attributes: fix async fn not moving args into body (#342)
This fixes compilation errors with `#[instrument]`ed `async fn`s on the
latest nightly. The generated `async` block was not `async move`, so the
function's attributes were not moved into it.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2019-09-12 11:26:40 -07:00
..

tracing-attributes

Macro attributes for application-level tracing.

Crates.io Documentation Documentation (master) MIT licensed Build Status Gitter chat

Documentation | Chat

Overview

tracing is a framework for instrumenting Rust programs to collect structured, event-based diagnostic information. This crate provides the #[instrument] attribute for automatically instrumenting functions using tracing.

Note that this macro is also re-exported by the main tracing crate.

Usage

First, add this to your Cargo.toml:

[dependencies]
tracing-attributes = "0.1.2"

This crate provides the #[instrument] attribute for instrumenting a function with a tracing span. For example:

use tracing_attributes::instrument;

#[instrument]
pub fn my_function(my_arg: usize) {
    // ...
}

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tokio by you, shall be licensed as MIT, without any additional terms or conditions.