| tracing-chrome |
| ====== |
| |
| [![Crates.io](https://img.shields.io/crates/v/tracing-chrome)](https://crates.io/crates/tracing-chrome) |
| [![Documentation](https://docs.rs/tracing-chrome/badge.svg)](https://docs.rs/tracing-chrome/) |
| ![GitHub](https://img.shields.io/github/license/Antigroup/tracing-chrome) |
| ![CI](https://github.com/thoren-d/tracing-chrome/workflows/CI/badge.svg?branch=develop) |
| |
| # Overview |
| |
| tracing-chrome is a Layer for [tracing-subscriber](https://crates.io/crates/tracing-subscriber) that outputs traces in Chrome's trace viewer format that can be viewed with `chrome://tracing` or [ui.perfetto.dev](https://ui.perfetto.dev). |
| |
| # Usage |
| |
| Add this near the beginning of `main`: |
| ```rust |
| use tracing_chrome::ChromeLayerBuilder; |
| use tracing_subscriber::{registry::Registry, prelude::*}; |
| |
| let (chrome_layer, _guard) = ChromeLayerBuilder::new().build(); |
| tracing_subscriber::registry().with(chrome_layer).init(); |
| ``` |
| |
| When `_guard` is dropped, your trace will be in a file like `trace-1668480819035032.json`. |
| |
| Open that file with [ui.perfetto.dev](https://ui.perfetto.dev) (or `chrome://tracing`) and take a look at your pretty trace. |
| |
| ![](https://github.com/thoren-d/tracing-chrome/raw/develop/doc/images/perfetto-screenshot.png) |
| |
| # License |
| |
| Licensed under the [MIT license](http://opensource.org/licenses/MIT) |
| |
| ## Contributions |
| |
| Unless you state otherwise, any contribution intentionally submitted for inclusion in the work shall be licensed as above. |