Make tracing optional
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.3k
- Forks
- 1.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 14
Description
Is your feature request related to a problem? Please describe.
When hyper is used anywhere within the tracing pipeline, e.g. sending data to a tracing server, we can get into an infinite loop, since hyper uses tracing unconditionally. This makes the crate effectively unusable in such scenarios.
Describe the solution you'd like
A flag for tracing usage. Ideally, there should be support for users to enable tracing in their code, but disable it in tracing itself.
Describe alternatives you've considered
Using another crate.
Additional context
Originally found at https://github.com/krojew/tracing-elastic-apm/issues/13
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining where hyper uses tracing unconditionally, especially along the tracing pipeline when sending data to a tracing server. Determine how an opt-out flag could disable hyper's tracing without preventing users from enabling tracing in their own code. Done means tracing-dependent integrations no longer recurse while ordinary user tracing remains supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100