open-telemetry / open-telemetry/opentelemetry-python-contrib
[flask_instrumentor] dropping inbound propagation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 1.1k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 16
Description
Is your feature request related to a problem?
My problem is that I get weird long traces registered.
I believe this is because my customers are leaking traceparent and tracestate headers.
Describe the solution you'd like
I would like to be able to tell the FlaskInstrumentor to ignore inbound tracing properties.
That is, disabling inbound propagation.
Sadly, my infrastructure doesn't allow me to simply drop the headers, so I have to ignore the headers at my level.
Describe alternatives you've considered
I have considered customising the global propagator to strip out the information, but it's a bit unclear how to do it.
Here is a recent article I've found about it, in .NET: https://martinjt.me/2023/07/07/trace-propagation-and-public-api-endpoints-in-net-part-1-disable-all/
Additional context
- I cannot drop the requests using NGINX, Caddy or similar, since I don't have control over them in this setup 👀
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 locating FlaskInstrumentor and the inbound propagation handling in the repository. Review how instrumentation options are exposed and how tracing headers are processed; done means FlaskInstrumentor can disable inbound propagation so leaked traceparent and tracestate headers do not affect incoming traces.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- flask, python
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100