open-telemetry / open-telemetry/opentelemetry-python-contrib
opentelemetry-bootstrap too many false positives
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 1.1k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 16
Description
Here's what I get when I run bootstrap:
> opentelemetry-bootstrap -a requirements
opentelemetry-instrumentation-aws-lambda==0.36b0
opentelemetry-instrumentation-dbapi==0.36b0
opentelemetry-instrumentation-logging==0.36b0
opentelemetry-instrumentation-sqlite3==0.36b0
opentelemetry-instrumentation-urllib==0.36b0
opentelemetry-instrumentation-wsgi==0.36b0
opentelemetry-instrumentation-asgi==0.36b0
opentelemetry-instrumentation-fastapi==0.36b0
opentelemetry-instrumentation-tortoiseorm==0.36b0
opentelemetry-instrumentation-urllib3==0.36b0
- why is aws-lambda here? is the assumption that if it's web app, it may be run in a lambda? why?
- why is sqlite3 here? it's not used in my project at all
- why is urllib included? sure, the closest is my project includes Sentry (see separate note)
- what is tortoiseorm? does this tool drop every possibly instrumentation in just in case?
- Sentry which has urllib3 dep, but why urllib (without 3)? and if that's the reason, perhaps instrumenting another instrumentation is hardly a good idea, right?
- I don't think I'm using dbapi either
- why is wsgi here? I'm not using that
- why is there both fastapi and asgi? are they complementary or is one redundant?
- why not starlette for that matter?
So, in my view, this tool installs 10 things, 8 of which are most likely useless, and 2 seem OK, at least on the surface -- logging and fastapi.
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 reproducing the reported opentelemetry-bootstrap -a requirements output and inspect how the bootstrap command identifies instrumentations and their dependencies. Compare each listed package with the project's actual dependencies and define which detections are false positives. Done means the command no longer includes unrelated instrumentations while retaining relevant ones.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100