open-telemetry / open-telemetry/opentelemetry-python-contrib

[flask_instrumentor] dropping inbound propagation

Open
#1,896 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.