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 tracing-etw to README.md #1635

Merged
merged 3 commits into from
Oct 13, 2021
Merged

Add tracing-etw to README.md #1635

merged 3 commits into from
Oct 13, 2021

Conversation

0b01
Copy link
Contributor

@0b01 0b01 commented Oct 13, 2021

This PR adds tracing-etw which is a new crate.

@0b01 0b01 requested review from davidbarsky, hawkw and a team as code owners October 13, 2021 01:39
Copy link
Member

@hawkw hawkw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Support for Windows ETW was something I had definitely hoped to see an implementation of, so that's great!

There's also a copy of the list of related crates in the tracing crate's lib.rs documentation:

tracing/tracing/src/lib.rs

Lines 747 to 829 in 2f6fcb0

//! ## Related Crates
//!
//! In addition to `tracing` and `tracing-core`, the [`tokio-rs/tracing`] repository
//! contains several additional crates designed to be used with the `tracing` ecosystem.
//! This includes a collection of `Collect` implementations, as well as utility
//! and adapter crates to assist in writing collectors and instrumenting
//! applications.
//!
//! In particular, the following crates are likely to be of interest:
//!
//! - [`tracing-futures`] provides a compatibility layer with the `futures`
//! crate, allowing spans to be attached to `Future`s, `Stream`s, and `Executor`s.
//! - [`tracing-subscriber`] provides `tracing_subscriber::Subscribe` implementations and
//! utilities for working with collectors. This includes a [`FmtSubscriber`]
//! for logging formatted trace data to stdout, with similar
//! filtering and formatting to the [`env_logger`] crate.
//! - [`tracing-log`] provides a compatibility layer with the [`log`] crate,
//! allowing log messages to be recorded as `tracing` `Event`s within the
//! trace tree. This is useful when a project using `tracing` have
//! dependencies which use `log`. Note that if you're using
//! `tracing-subscriber`'s `FmtSubscriber`, you don't need to depend on
//! `tracing-log` directly.
//! - [`tracing-appender`] provides utilities for outputting tracing data,
//! including a file appender and non blocking writer.
//!
//! Additionally, there are also several third-party crates which are not
//! maintained by the `tokio` project. These include:
//!
//! - [`tracing-timing`] implements inter-event timing metrics on top of `tracing`.
//! It provides a subscriber that records the time elapsed between pairs of
//! `tracing` events and generates histograms.
//! - [`tracing-opentelemetry`] provides a subscriber for emitting traces to
//! [OpenTelemetry]-compatible distributed tracing systems.
//! - [`tracing-honeycomb`] Provides a layer that reports traces spanning multiple machines to [honeycomb.io]. Backed by [`tracing-distributed`].
//! - [`tracing-distributed`] Provides a generic implementation of a layer that reports traces spanning multiple machines to some backend.
//! - [`tracing-actix-web`] provides `tracing` integration for the `actix-web` web framework.
//! - [`tracing-actix`] provides `tracing` integration for the `actix` actor
//! framework.
//! - [`tracing-gelf`] implements a subscriber for exporting traces in Greylog
//! GELF format.
//! - [`tracing-coz`] provides integration with the [coz] causal profiler
//! (Linux-only).
//! - [`tracing-bunyan-formatter`] provides a layer implementation that reports events and spans
//! in [bunyan] format, enriched with timing information.
//! - [`tracing-wasm`] provides a `Collect`/`Subscribe` implementation that reports
//! events and spans via browser `console.log` and [User Timing API (`window.performance`)].
//! - [`tide-tracing`] provides a [tide] middleware to trace all incoming requests and responses.
//! - [`test-env-log`] takes care of initializing `tracing` for tests, based on
//! environment variables with an `env_logger` compatible syntax.
//! - [`tracing-unwrap`] provides convenience methods to report failed unwraps
//! on `Result` or `Option` types to a [`collect`].
//! - [`diesel-tracing`] provides integration with [`diesel`] database connections.
//! - [`tracing-tracy`] provides a way to collect [Tracy] profiles in instrumented
//! applications.
//! - [`tracing-elastic-apm`] provides a layer for reporting traces to [Elastic APM].
//!
//! If you're the maintainer of a `tracing` ecosystem crate not listed above,
//! please let us know! We'd love to add your project to the list!
//!
//! [`tracing-opentelemetry`]: https://crates.io/crates/tracing-opentelemetry
//! [OpenTelemetry]: https://opentelemetry.io/
//! [`tracing-honeycomb`]: https://crates.io/crates/tracing-honeycomb
//! [`tracing-distributed`]: https://crates.io/crates/tracing-distributed
//! [honeycomb.io]: https://www.honeycomb.io/
//! [`tracing-actix-web`]: https://crates.io/crates/tracing-actix-web
//! [`tracing-actix`]: https://crates.io/crates/tracing-actix
//! [`tracing-gelf`]: https://crates.io/crates/tracing-gelf
//! [`tracing-coz`]: https://crates.io/crates/tracing-coz
//! [coz]: https://github.com/plasma-umass/coz
//! [`tracing-bunyan-formatter`]: https://crates.io/crates/tracing-bunyan-formatter
//! [bunyan]: https://github.com/trentm/node-bunyan
//! [`tracing-wasm`]: https://docs.rs/tracing-wasm
//! [User Timing API (`window.performance`)]: https://developer.mozilla.org/en-US/docs/Web/API/User_Timing_API
//! [`tide-tracing`]: https://crates.io/crates/tide-tracing
//! [tide]: https://crates.io/crates/tide
//! [`test-env-log`]: https://crates.io/crates/test-env-log
//! [`tracing-unwrap`]: https://docs.rs/tracing-unwrap
//! [`diesel`]: https://crates.io/crates/diesel
//! [`diesel-tracing`]: https://crates.io/crates/diesel-tracing
//! [`tracing-tracy`]: https://crates.io/crates/tracing-tracy
//! [Tracy]: https://github.com/wolfpld/tracy
//! [`tracing-elastic-apm`]: https://crates.io/crates/tracing-elastic-apm
//! [Elastic APM]: https://www.elastic.co/apm

would you mind adding your crate there, as well? Thanks again!

@0b01
Copy link
Contributor Author

0b01 commented Oct 13, 2021

@hawkw done! :)

Copy link
Member

@hawkw hawkw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 looks good to me, thanks!

@hawkw hawkw merged commit 9396211 into tokio-rs:master Oct 13, 2021
hawkw pushed a commit that referenced this pull request Oct 22, 2021
This PR adds tracing-etw which is a new crate.

* Update README.md

* Update lib.rs
hawkw pushed a commit that referenced this pull request Oct 22, 2021
This PR adds tracing-etw which is a new crate.

* Update README.md

* Update lib.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants