hyperium / hyperium/hyper

Make tracing optional

Open
#2,936 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-feature
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.