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

futures: support futures 0.3 Streams/Sinks #226

Closed
hawkw opened this issue Jul 30, 2019 · 0 comments · Fixed by #544
Closed

futures: support futures 0.3 Streams/Sinks #226

hawkw opened this issue Jul 30, 2019 · 0 comments · Fixed by #544
Labels
crate/futures Related to the `tracing-futures` crate good first issue Good for newcomers kind/feature New feature or request

Comments

@hawkw
Copy link
Member

hawkw commented Jul 30, 2019

Feature Request

Crates

tracing-futures

Motivation

tracing-futures currently supports instrumenting futures 0.1 Futures, Streams, and Sinks, and std::future::Future from futures 0.3. However, the futures 0.3 Stream and Sink traits in the futures-preview crate are not supported.

Proposal

We should probably add support for these traits, with a new feature flag to depend on the futures-preview crate as well as on std::future.

@hawkw hawkw added kind/feature New feature or request good first issue Good for newcomers crate/futures Related to the `tracing-futures` crate labels Jul 30, 2019
obergner added a commit to obergner/tracing that referenced this issue Jan 22, 2020
By implementing the Stream trait from the futures 0.3 crate for
Instrumented library users may in the future instrument structs
that implement future 0.3's Stream trait, similarly to how already
today they can do this for structs that implement future 0.1's Stream
trait.

Move some helper structs that are only used for futures 0.1-related
tests into a submodule that is guarded by feature flag "futures-01".
This avoids "unused code" warnings when compiling with feature flag
"futures-03".

Refs: tokio-rs#226
obergner added a commit to obergner/tracing that referenced this issue Jan 22, 2020
Support for futures 0.3 Streams should depend on a combination of
features "futures-03" and "std-future", not "std".

Refs: tokio-rs#226
obergner added a commit to obergner/tracing that referenced this issue Jan 22, 2020
Implement the Sink trait from the futures 0.3 crate for struct
Instrumented. Library users may now instrument structs that implement
futures 0.3's Sink trait.

Fixes: tokio-rs#226
Refs: tokio-rs#226
hawkw pushed a commit that referenced this issue Jan 23, 2020
* tracing: implement futures 0.3 Stream trait for Instrumented

By implementing the Stream trait from the futures 0.3 crate for
Instrumented library users may in the future instrument structs
that implement future 0.3's Stream trait, similarly to how already
today they can do this for structs that implement future 0.1's Stream
trait.

Move some helper structs that are only used for futures 0.1-related
tests into a submodule that is guarded by feature flag "futures-01".
This avoids "unused code" warnings when compiling with feature flag
"futures-03".

Refs: #226

* tracing: depend on feature "std-future", not "std"

Support for futures 0.3 Streams should depend on a combination of
features "futures-03" and "std-future", not "std".

Refs: #226

* tracing: implement futures 0.3 Sink trait for Instrumented

Implement the Sink trait from the futures 0.3 crate for struct
Instrumented. Library users may now instrument structs that implement
futures 0.3's Sink trait.

Fixes: #226
Refs: #226
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crate/futures Related to the `tracing-futures` crate good first issue Good for newcomers kind/feature New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant