open-telemetry / open-telemetry/opentelemetry-python-contrib
Pull Request Dashboard
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 1.1k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 16
Description
[!NOTE]
Open non-draft PRs grouped by who is expected to act next. Draft PRs are listed separately. The grouping is partly performed by an LLM (source) and could contain mistakes.Reviewers column: ✅ active approval · ✔️ active approval (non-code-owner) · ⏳ review pending · 💬 review thread needs author action · 📌 top-level feedback needs author action · 🔴 changes requested.
CI column: ✅ passing · ⏳ running · ❌ failing · 🔐 workflow action required.
Waiting on maintainers
| PR | Author | Reviewers | CI | Conflicts | Age |
|---|---|---|---|---|---|
| #4850 build(deps): bump pyasn1 from 0.6.3 to 0.6.4 | app/dependabot | xrmx ✅ | ✅ | ✅ | 59d |
| #4925 asyncpg: report unix socket connections as network.transport=unix | chuenchen309 | aabmass xrmx ✅ |
✅ | ✅ | 37d |
| #4637 feature: add kafka consumer group attribute to kafka-python | mznet | tammy-baylis-swi ✅ | ✅ | ✅ | 24d |
| #4837 Psycopg2 semconv optin tests | henry3260 | emdneto ✅ | ✅ | ✅ | 23d |
#4798 Implement db.query.parameter.<key> in the dbapi base |
ocelotl | herin049 ✅ tammy-baylis-swi ✅ |
✅ | ✅ | 16d |
| #5016 celery: wait for the recorded metric instead of result.ready() in the metrics tests | henry3260 | emdneto ✅ Shriprasad-P ✔️ |
✅ | ✅ | 14d |
| #5035 fix(grpc): correct disable_next_message_compression delegation | proshunsuke | henry3260 ✔️ ocelotl ✅ |
✅ | ✅ | 11d |
| #4615 opentelemetry-instrumentation-botocore: capture Bedrock prompt cache token usage | vinigrazzioli-96 | emdneto ✅ xrmx ✅ |
✅ | ✅ | 7d |
| #4869 Add baggage propagation tests for Flask and WSGI instrumentations | jojinkb | ocelotl ✅ | ✅ | ✅ | 7d |
| #4974 prepare semconv utilities to support messaging stability opt-in | emdneto | henry3260 ✔️ lzchen ✅ shashank-reddy-nr ⏳ xrmx ⏳ |
✅ | ✅ | 5d |
| #5043 opentelemetry-instrumentation-sqlalchemy: stop appending the database name to db.operation.name | henry3260 | herin049 ✅ | ✅ | ✅ | 2d |
| #5012 Add Azure Kubernetes Service resource detector | JacksonWeber | hectorhdzg ✅ JacksonWeber lmolkova ✅ lzchen ✅ rads-1996 ✔️ |
✅ | ✅ | 2d |
| #5011 opentelemetry-instrumentation-threading: keep the submitted callable's metadata through ThreadPoolExecutor.submit | henry3260 | emdneto ✅ | ✅ | ✅ | 2d |
Waiting on reviewers
| PR | Author | Reviewers | CI | Conflicts | Age |
|---|---|---|---|---|---|
| #4154 feat: add opentelemetry-instrumentation-aerospike | KimSoungRyoul | KimSoungRyoul | ✅ | ❌ | 158d |
| #4654 fix(instrumentation-pika): update span attributes to current messaging semconv | stark256-spec | ✅ | ❌ | 64d | |
| #4849 build(deps): bump setuptools from 81.0.0 to 83.0.0 | app/dependabot | ❌ | ✅ | 59d | |
| #4862 docs(httpx): document response payload logging | euisuh | ✅ | ✅ | 57d | |
| #4669 Add Environment Documentation for Virtual Environment Including Local Core Repository | SoulofAkuma | emdneto ⏳ | ✅ | ✅ | 56d |
| #4906 opentelemetry-instrumentation-dbapi: instrument commit and rollback | bmwalters | ✅ | ❌ | 48d | |
| #4923 build(deps): bump aiohttp from 3.14.1 to 3.14.3 | app/dependabot | herin049 | ❌ | ✅ | 45d |
| #4939 docs(fastapi): document env vars, trace propagation, websockets, and logging | rut0607 | ✅ | ✅ | 41d | |
| #4940 build(deps): bump django from 5.2.15 to 5.2.16 | app/dependabot | ❌ | ✅ | 40d | |
| #4941 build(deps): bump django from 4.2.30 to 5.2.16 in /tests/opentelemetry-docker-tests/tests | app/dependabot | ✅ | ✅ | 40d | |
| #4920 opentelemetry-instrumentation-boto3sqs: migrate to current messaging semantic conventions | anneheartrecord | ✅ | ❌ | 32d | |
| #4905 fix(logging): do not unlink log record factories chained after ours | UTKARSH698 | pmcollins | ✅ | ✅ | 31d |
| #4723 opentelemetry-instrumentation-django: fix spans ending prematurely for StreamingHttpResponse | SurbhiD404 | ✅ | ✅ | 29d | |
| #4827 fix(celery): populate origin and hostname as distinct span attributes | ahmed5145 | tammy-baylis-swi ✅ | ✅ | ✅ | 25d |
| #4555 Document FastAPI instrumentation setup | Harshal96 | emdneto tammy-baylis-swi ✅ xrmx 🔴 |
✅ | ✅ | 24d |
| #5003 Fix losing celery spans when worker_max_tasks_per_child recycles the pool child | sidsri14 | ✅ | ✅ | 23d | |
| #5008 build(deps): bump webob from 1.8.10 to 1.8.11 | app/dependabot | xrmx 💬 | ✅ | ✅ | 22d |
| #5004 Add Quart auto-instrumentation support | stitipatra | ✅ | ✅ | 20d | |
| #5024 opentelemetry-resource-detector-azure: update Azure Functions attributes | Lewis-E | ✅ | ✅ | 17d | |
| #5023 redis: emit db.namespace for database index | yashaskn8 | ✅ | ✅ | 16d | |
| #5007 opentelemetry-resource-detector-azure: update Azure App Service attributes | Lewis-E | hectorhdzg | ✅ | ✅ | 16d |
| #5015 celery: wait for exported spans instead of result.ready() in tests | aniketwaghh | henry3260 ✔️ | ✅ | ✅ | 13d |
| #5030 botocore: label Bedrock embedding calls as embeddings | jstar0 | ✅ | ✅ | 12d | |
| #4766 opentelemetry-instrumentation: add config_dataclass opt-in to BaseInstrumentor | ocelotl | henry3260 ✔️ xrmx |
✅ | ✅ | 11d |
| #5001 opentelemetry-instrumentation-tornado: do not unpatch a handler class that only inherits the patched marker | ocelotl | ✅ | ✅ | 11d | |
| #5036 docs(aws): document EKS resource detector prerequisites | sanjaykrishna2001 | ✅ | ✅ | 11d | |
| #5037 fix(fastapi): unwrap middleware to instrument wrapped FastAPI app (#4031) | dlowzzxx | ✅ | ✅ | 10d | |
| #4688 opentelemetry-instrumentation-logging: add ability to configure scope attributes for LoggingHandler | herin049 | emdneto JacksonWeber ⏳ |
✅ | ✅ | 10d |
#4300 Add WSGI, ASGI enrich_metric_attributes for HTTP server duration/request/response metrics |
tammy-baylis-swi | emdneto | ✅ | ✅ | 10d |
| #5040 opentelemetry-process-context: implement Resource publishing (OTEP-4719) | herin049 | herin049 | ✅ | ✅ | 10d |
| #4961 Fix ECS resource detector populating container.name with the hostname | rdbisme | emdneto ⏳🔴 | ✅ | ✅ | 8d |
| #4832 feat(aws-lambda): add logger provider support with force flush for Lambda freeze handling | dhruvparanjape | herin049 ⏳ tammy-baylis-swi |
✅ | ✅ | 8d |
| #5026 Allow per-package patch releases of the elasticsearch instrumentation | ocelotl | lzchen xrmx |
✅ | ✅ | 8d |
| #4944 opentelemetry-util-http: add redact_query_string and apply it in the wsgi instrumentation | henry3260 | xrmx ⏳ | ✅ | ✅ | 8d |
| #5046 Fix grpc aio client interceptor hanging when an RPC never dispatches | Shamsidinkhon | ✅ | ✅ | 7d | |
| #4992 docs(requests): clarify hook mutation and propagation order | jstar0 | ✅ | ✅ | 5d | |
| #5056 fix(boto3sqs): start processing spans lazily on message access | Shriprasad-P | ✅ | ✅ | 4d | |
| #5062 fix(boto3sqs): end the processing span of every entry in delete_message_batch | chrikrah | JoeyPatricio ✔️ | ✅ | ✅ | 4d |
| #5063 sqlalchemy: modernize db.client.connection.count metric | ahmed5145 | ✅ | ✅ | 4d | |
| #5065 fix(tortoiseorm): avoid IndexError in _do_execute for empty/whitespace-only statements | JoeyPatricio | henry3260 ✔️ | ✅ | ✅ | 3d |
| #5072 fix(logging): invoke log hooks without active spans | git-jxj | ✅ | ✅ | 1d | |
| #5074 build(deps): bump anyio from 4.14.1 to 4.14.2 | app/dependabot | ✅ | ✅ | 18h | |
| #5076 ci: remediate zizmor findings | opentelemetrybot | ✅ | ✅ | 15h | |
| #5078 fix(grpc): prevent duplicate exception events on server spans (#5068) | somuai | ✅ | ✅ | 6h |
Waiting on authors
| PR | Author | Reviewers | CI | Conflicts | Age |
|---|---|---|---|---|---|
| #4096 botocore: trace presigned URL generation | rite7sh | emdneto 📌 herin049 💬📌🔴 |
✅ | ❌ | 248d |
| #4102 django: handle cancelled requests more cleanly | zmievsa | emdneto 📌 tammy-baylis-swi 📌✅ xrmx 📌 |
✅ | ✅ | 247d |
#4090 feat: add commenter_for_all_spans option to enable SQLCommenter for non-recording spans |
Elyahou | aabmass 📌 emdneto 📌 lzchen ✅ tammy-baylis-swi 📌✅ xrmx 📌 |
✅ | ❌ | 245d |
| #4183 feat(lambda): read cloud.account.id from symlink in Lambda detector | RaphaelManke | emdneto 📌 herin049 tammy-baylis-swi 📌 |
✅ | ❌ | 211d |
| #4178 _instrumentation in package.py for instrumentations | 42Questions | emdneto 📌✅ lzchen ✅ MikeGoldsmith ✅ xrmx ⏳ |
❌ | ❌ | 205d |
#4268 pika: Fix messaging.destination attribute |
baodrate | emdneto 📌 MikeGoldsmith 🔴 |
✅ | ✅ | 163d |
| #4248 [system_metrics] Update system.disk.time to system.disk.operation.time | srikaaviya | DylanRussell emdneto 📌 lmolkova tammy-baylis-swi 📌✅ xrmx 📌 |
✅ | ✅ | 129d |
| #4075 feat(aws-lambda): Add trace headers to aws_lambda instrumentation | sam-mosleh | emdneto 📌 herin049 ✅ xrmx |
✅ | ❌ | 129d |
| #4572 Add optional http.client.response.body.size span attribute & metric to Aiohttp-client instrumentation. | weizhikuan | emdneto 📌 herin049 ⏳ tammy-baylis-swi 📌 |
✅ | ✅ | 128d |
| #4653 fix(instrumentation-botocore): do not mark HTTP 3xx responses as span errors | stark256-spec | xrmx 🔴 | ❌ | ❌ | 92d |
| #4656 fix(asgi): exclude background task duration from HTTP server metrics | grvmishra788 | herin049 ⏳ xrmx 💬📌 |
✅ | ❌ | 66d |
| #4648 fix(instrumentation-confluent-kafka): add getattr delegation to ProxiedProducer and ProxiedConsumer | stark256-spec | xrmx 💬🔴 | ✅ | ✅ | 64d |
| #4566 starlette: add missing configuration params from ASGI Middleware | Fiery-Fenix | aabmass 📌 emdneto lzchen tammy-baylis-swi ✅ |
✅ | ❌ | 46d |
| #4872 fix(sqlalchemy): safely handle garbage-collected target during event listener removal | aditya-cyberverse | chuenchen309 📌 | ❌ | ✅ | 44d |
| #4938 Pass the response message to the aio gRPC client response hook | alliasgher | henry3260 ⏳📌 ocelotl 💬 |
✅ | ✅ | 38d |
| #4844 fix(structlog): preserve existing processors | hsusul | JWinermaSplunk ✔️ xrmx 📌 |
✅ | ✅ | 37d |
| #4954 Fix server.address extraction for openai 3.x (httpx2) | ari-abb | aabmass 📌 | ✅ | ✅ | 36d |
| #4960 opentelemetry-util-http: preserve redacted query args | jstar0 | xrmx 📌 | ❌ | ❌ | 33d |
| #4621 [opentelemetry-instrumentation-grpc] Add support for metrics | lorenzoronzani | aidandj 📌 lmolkova ⏳🔴 lzchen tammy-baylis-swi ✅ |
✅ | ✅ | 32d |
| #4064 Reduce severity & verbosity of instrumentation ImportError | john-karp | tammy-baylis-swi 📌 | ✅ | ❌ | 32d |
| #4927 opentelemetry-bootstrap: detect migrated GenAI instrumentations | luisangelrod | DylanRussell ✅ emdneto 💬 lmolkova 💬 lzchen 💬 tammy-baylis-swi 📌 xrmx 💬 |
❌ | ❌ | 32d |
| #4989 feat: add opentelemetry-instrumentation-oracledb package | herin049 | herin049 pmcollins 📌 |
✅ | ✅ | 25d |
| #4982 fix(logging): restore handlers and formatters on uninstrument | sidsri14 | HarperZ9 📌 | ✅ | ✅ | 24d |
| #4997 fix(botocore): tag Bedrock embedding InvokeModel calls as embeddings | BetterAndBetterII | henry3260 💬📌 JoeyPatricio 📌 xrmx 🔴 |
✅ | ✅ | 24d |
| #5013 docs(logging): clarify log record enrichment vs export | CharoenwitKunna | henry3260 💬 | ✅ | ✅ | 20d |
| #4993 docs: document OTEL_SEMCONV_STABILITY_OPT_IN in database instrumentations | sidsri14 | tammy-baylis-swi 💬📌 | ❌ | ✅ | 18d |
| #5014 opentelemetry-instrumentation-kafka-python: migrate to stable/incubating messaging semconv | mwimpelberg28 | emdneto 📌🔴 | ✅ | ❌ | 17d |
| #4958 pull_request_template: simplify by removing some not so used sections | xrmx | aabmass 📌✅ emdneto ✅ tammy-baylis-swi ✅ |
✅ | ✅ | 16d |
#5020 exceptions: use the exception event name per semantic conventions |
iblancasa | emdneto ⏳📌 iblancasa |
✅ | ✅ | 15d |
| #4254 Document OTEL_SEMCONV_STABILITY_OPT_IN environment variable | thakoreh | aabmass 💬✅ Copilot 💬 emdneto herin049 pmcollins tammy-baylis-swi 💬✅ xrmx ⏳🔴 |
✅ | ✅ | 14d |
| #4985 Document database semantic convention opt-in | miachillgood | tammy-baylis-swi 💬✅ | ✅ | ✅ | 14d |
| #4727 feat(kafka): add messaging.kafka.cluster.id to producer/consumer spans | shashank-reddy-nr | emdneto 💬 | ✅ | ✅ | 9d |
| #4775 opentelemetry-sampler-jaeger-remote: add support for Jaeger remote sampler | herin049 | ❌ | ✅ | 9d | |
| #5031 opentelemetry-instrumentation-asgi: set error.type when the application raises | chrikrah | henry3260 ✔️ Shriprasad-P 📌🔴 |
✅ | ✅ | 8d |
| #4934 fix(dbapi): avoid IndexError in get_operation_name for comment/whites… | Atishyy27 | xrmx 📌✅ | ✅ | ✅ | 7d |
| #5045 Add a policy for accepting new instrumentations | ocelotl | emdneto 💬 | ✅ | ✅ | 7d |
| #4605 fix(aws-lambda): support ALB multiValueHeaders | jbfenton | herin049 ⏳ tammy-baylis-swi ✅ xrmx ✅ |
❌ | ✅ | 7d |
| #5055 fix(grpc): invoke callable hooks that lack name | Shriprasad-P | herin049 🔴 | ❌ | ✅ | 4d |
| #4840 opentelemetry-instrumentation-django: add code attributes to spans | manduinca | tammy-baylis-swi xrmx 📌 |
✅ | ✅ | 3d |
| #5067 docs: document OTEL_SEMCONV_STABILITY_OPT_IN for HTTP instrumentations | HarshRajSinghania | herin049 | ❌ | ✅ | 3d |
| #5032 opentelemetry-instrumentation-wsgi: expose captured request headers to samplers | ghdtjdwn | emdneto herin049 xrmx |
❌ | ✅ | 2d |
| #5058 Add IBM MQ instrumentation for the ibmmq and pymqi clients | Aryan16138 | thompson-tomo 💬 | ✅ | ✅ | 1d |
| #5029 fix(aiohttp-client): create the duration histograms once, not per ClientSession | bharadwaj-pendyala | herin049 💬 | ✅ | ✅ | 1d |
| #5066 fix(confluent-kafka): align producer and consumer spans with semantic conventions | mviamari-crexi | Shriprasad-P 📌 | ✅ | ✅ | 1d |
| #5041 feat: add Valkey instrumentation library | herin049 | emdneto 💬 herin049 |
❌ | ✅ | 1d |
| #5073 Capture headers before sampling in django instrumentation | anuraaga | ❌ | ✅ | 1d | |
#5025 Clarify error message when there is a DependencyConflict |
DylanRussell | aabmass ✅ herin049 💬✅ |
✅ | ✅ | 14h |
| #5064 opamp: avoid enabling heartbeats after connection failure | saichowdary007 | ❌ | ✅ | 14h | |
| #5077 fix(logging): stop duplicating injected trace context in log attributes | RichardoMrMu | herin049 💬 | ✅ | ✅ | 8h |
Draft pull requests
| PR | Author | Draft age |
|---|---|---|
| #4269 pika: update type hints | baodrate | 204d |
| #4279 [WIP] gRPC instrumentation migration to release candidate semconv (1.44.0+) | lmolkova | 200d |
| #3689 (Do Not Merge) Add Labeler and instrumentation integration for custom attribute addition to HTTP request duration metrics (Flask, Django, Falcon, WSGI, ASGI) | tammy-baylis-swi | 198d |
#4307 [WIP] Add Flask enrich_metric_attributes if Labeler contains custom attributes |
tammy-baylis-swi | 197d |
#4308 [WIP] Add Django enrich_metric_attributes if Labeler contains custom attributes |
tammy-baylis-swi | 197d |
#4309 [WIP] Add Falcon enrich_metric_attributes if Labeler contains custom attributes |
tammy-baylis-swi | 197d |
| #4799 mysql: add capture_parameters option | ocelotl | 68d |
| #4800 mysqlclient: add capture_parameters option | ocelotl | 68d |
| #4801 pymysql: add capture_parameters option | ocelotl | 68d |
| #4802 pymssql: add capture_parameters option | ocelotl | 68d |
| #4803 sqlite3: add capture_parameters option | ocelotl | 68d |
| #4804 asyncpg: capture db.query.parameter.<key> under new semconv | ocelotl | 68d |
| #4805 tortoiseorm: capture db.query.parameter.<key> under new semconv | ocelotl | 68d |
| #4806 aiopg: capture db.query.parameter.<key> under new semconv | ocelotl | 68d |
| #4807 sqlalchemy: add capture_parameters option for db.query.parameter.<key> | ocelotl | 68d |
#4888 Remove packaging as a runtime dependency of opentelemetry-instrumentation-falcon |
ocelotl | 52d |
#4889 Remove packaging as a runtime dependency of opentelemetry-instrumentation-flask |
ocelotl | 52d |
#4890 Remove packaging as a runtime dependency of opentelemetry-instrumentation-pika |
ocelotl | 52d |
#4891 Remove packaging as a runtime dependency of opentelemetry-instrumentation-sqlalchemy |
ocelotl | 52d |
| #4964 Fix and re-enable the flaky celery docker tests | Pissinatti-py | 32d |
| #4966 Add semantic-convention conformance test for the Flask instrumentation | ocelotl | 32d |
| #4967 Add semantic-convention conformance test for the requests instrumentation | ocelotl | 32d |
#4883 Remove packaging as a runtime dependency of opentelemetry-instrumentation |
ocelotl | 29d |
| #4962 feat: add opt-in attributes cluster_name, vhost | abhishuraina | 29d |
| #4983 Fix precommit failure from unformatted aio-pika instrumentation test | Copilot | 28d |
| #4988 redis: emit db.namespace for database index | PuvaanRaaj | 27d |
| #5006 opentelemetry-opamp-client: move to protobuf-py | xrmx | 23d |
| #5005 Add implementation of telemetry policy | anuraaga | 2d |
| #5075 Make azure app service and azure functions resource detector process dependent | rads-1996 | 17h |
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
The issue body is a generated Pull Request Dashboard; its referenced entry point is .github/scripts/pull-request-dashboard/dashboard.py. Read that script first, but the payload does not state a change or completion condition, so clarify the intended work before editing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, python
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100