| ![Tracing — Structured, application-level diagnostics][splash] |
| |
| [splash]: https://raw.githubusercontent.com/tokio-rs/tracing/master/assets/splash.svg |
| |
| # tracing-attributes |
| |
| Macro attributes for application-level tracing. |
| |
| [![Crates.io][crates-badge]][crates-url] |
| [![Documentation][docs-badge]][docs-url] |
| [![Documentation (master)][docs-master-badge]][docs-master-url] |
| [![MIT licensed][mit-badge]][mit-url] |
| [![Build Status][actions-badge]][actions-url] |
| [![Discord chat][discord-badge]][discord-url] |
| |
| [Documentation][docs-url] | [Chat][discord-url] |
| |
| [crates-badge]: https://img.shields.io/crates/v/tracing-attributes.svg |
| [crates-url]: https://crates.io/crates/tracing-attributes |
| [docs-badge]: https://docs.rs/tracing-attributes/badge.svg |
| [docs-url]: https://docs.rs/tracing-attributes/0.1.26 |
| [docs-master-badge]: https://img.shields.io/badge/docs-master-blue |
| [docs-master-url]: https://tracing-rs.netlify.com/tracing_attributes |
| [mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg |
| [mit-url]: LICENSE |
| [actions-badge]: https://github.com/tokio-rs/tracing/workflows/CI/badge.svg |
| [actions-url]:https://github.com/tokio-rs/tracing/actions?query=workflow%3ACI |
| [discord-badge]: https://img.shields.io/discord/500028886025895936?logo=discord&label=discord&logoColor=white |
| [discord-url]: https://discord.gg/EeF3cQw |
| |
| ## 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. |
| |
| *Compiler support: [requires `rustc` 1.56+][msrv]* |
| |
| [msrv]: #supported-rust-versions |
| |
| ## Usage |
| |
| First, add this to your `Cargo.toml`: |
| |
| ```toml |
| [dependencies] |
| tracing-attributes = "0.1.26" |
| ``` |
| |
| |
| This crate provides the `#[instrument]` attribute for instrumenting a function |
| with a `tracing` [span]. For example: |
| |
| ```rust |
| use tracing_attributes::instrument; |
| |
| #[instrument] |
| pub fn my_function(my_arg: usize) { |
| // ... |
| } |
| ``` |
| |
| [`tracing`]: https://crates.io/crates/tracing |
| [span]: https://docs.rs/tracing/latest/tracing/span/index.html |
| |
| ## Supported Rust Versions |
| |
| Tracing is built against the latest stable release. The minimum supported |
| version is 1.56. The current Tracing version is not guaranteed to build on Rust |
| versions earlier than the minimum supported version. |
| |
| Tracing follows the same compiler support policies as the rest of the Tokio |
| project. The current stable Rust compiler and the three most recent minor |
| versions before it will always be supported. For example, if the current stable |
| compiler version is 1.69, the minimum supported version will not be increased |
| past 1.66, three minor versions prior. Increasing the minimum supported compiler |
| version is not considered a semver breaking change as long as doing so complies |
| with this policy. |
| |
| ## License |
| |
| This project is licensed under the [MIT license](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. |