open-telemetry / open-telemetry/opentelemetry-python-genai
Pull Request Dashboard
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 39
- Forks
- 63
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 175
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 |
|---|---|---|---|---|---|
| #744 [openai, openai-agents] Use concrete invocation types in raw response and robust mock assertions | lmolkova | eternalcuriouslearner ✅ | ✅ | ✅ | 5h |
Waiting on reviewers
| PR | Author | Reviewers | CI | Conflicts | Age |
|---|---|---|---|---|---|
| #622 [google-genai] Do not unconditionally set OTEL_INSTRUMENTATION_GENAI_EMIT_EVENT during instrumentation | somuai | DylanRussell | ✅ | ✅ | 8d |
| #719 feat: crewai invoke agent and execute tool instrumentation | venkata-pavani | ✅ | ✅ | 3d | |
| #522 fix(genai-openai): do not drain generator content; capture inline base64 file_data | FeelKyoun | DylanRussell lmolkova 🔴 |
✅ | ✅ | 3d |
#721 [opentelemetry-instrumentation-genai-bedrock] Add Async Client Support |
DylanRussell | lmolkova | ✅ | ✅ | 2d |
| #326 feat(google-genai): capture embedding config attributes | tomatotomata | aabmass DylanRussell |
✅ | ✅ | 2d |
#731 [opentelemetry-instrumentation-genai-agno] Add instrumentation for continue.run and continue.arun |
DylanRussell | ✅ | ❌ | 2d | |
#733 [opentelemetry-instrumentation-genai-bedrock] Add instrumentation for the RetrieveAndGenerate methods |
DylanRussell | ✅ | ✅ | 1d | |
#736 [opentelemetry-instrumentation-genai-bedrock] Instrument invoke_inline_agent method |
DylanRussell | ✅ | ✅ | 1d | |
#737 [opentelemetry-instrumentation-genai-agno] Add instrumentation for background workflow executions |
DylanRussell | ✅ | ✅ | 1d | |
| #617 fix(langchain): trace nested workflows | 1fanwang | lmolkova | ✅ | ❌ | 16h |
| #747 [opentelemetry-util-genai] Add tests for tool invocation context property and explicit context | lmolkova | ✅ | ✅ | 4h | |
| #746 [opentelemetry-util-genai] Deprecate should_emit_event, use private _should_emit_event, and support dataclass serialization | lmolkova | ✅ | ✅ | 4h | |
| #745 [opentelemetry-util-genai] Decouple stream wrappers from GenAIInvocation with typing protocols | lmolkova | ✅ | ✅ | 3h |
Waiting on authors
| PR | Author | Reviewers | CI | Conflicts | Age |
|---|---|---|---|---|---|
| #100 opentelemetry-instrumentation-genai-openai-agents: handle MCPListToolsSpanData | Jwrede | Copilot 💬 lmolkova 💬 lzchen |
✅ | ❌ | 111d |
| #313 feat: Add Groq instrumentation package | royrhea | Copilot 💬 eternalcuriouslearner ⏳🔴 lzchen |
✅ | ❌ | 53d |
| #373 Haystack instrumentation part1 | srinjoy356 | Copilot 💬 lmolkova |
❌ | ❌ | 40d |
| #312 Add CoPawInstrumentor for QwenPaw's legacy copaw distribution | 123liuziming | lmolkova 💬 | ✅ | ❌ | 36d |
| #367 Fix global tox test matrix failures and linters | royrhea | aabmass lmolkova 💬 |
✅ | ❌ | 36d |
| #311 Add QwenPaw instrumentation | 123liuziming | eternalcuriouslearner ✅ lmolkova 💬 |
⏳ | ❌ | 36d |
| #102 Add Cohere instrumentation package scaffolding | Nik-Reddy | eternalcuriouslearner ✅ lmolkova 📌 lzchen ✅ |
✅ | ✅ | 33d |
| #417 langchain: preserve dict-form output messages | alexliluz | eternalcuriouslearner 💬📌🔴 rads-1996 💬 |
❌ | ❌ | 29d |
| #528 util-genai & langchain: nest async/graph child spans under their caller | sidsri14 | rads-1996 💬 | ⏳ | ❌ | 16d |
| #681 [openai] Record cache-write and modality token usage | 1fanwang | lmolkova 💬📌🔴 | ✅ | ✅ | 7d |
#683 [opentelemetry-instrumentation-genai-dspy] Add instrumentation for inference invocations |
DylanRussell | Copilot 💬 | ✅ | ✅ | 4d |
| #634 Add agent call count metrics on AgentInvocation (#597) | dlowzzxx | lmolkova 🔴 lzchen 💬 |
✅ | ✅ | 3d |
#726 [opentelemetry-instrumentation-genai-openai-agents] Propagate gen_ai.conversation.id to nested spans |
sfc-gh-zeningchen | lmolkova 💬📌 rads-1996 💬 |
✅ | ❌ | 3d |
| #640 fix: capture LangChain token usage fallbacks | amarrtech | rads-1996 💬 | ❌ | ❌ | 20h |
#740 Use inspect.signature and then bind.partial and then fetch argument instead of manually parsing args/kwargs |
DylanRussell | eternalcuriouslearner 💬✅ | ✅ | ✅ | 15h |
| #663 Prototype of span / event / metric deduplication and context passing for inference span | DylanRussell | lmolkova 💬 | ✅ | ✅ | 9h |
#741 Minor utils cleanup: remove start and get_start_attributes methods, inline the code inside __init__ |
DylanRussell | lmolkova 💬 | ✅ | ✅ | 9h |
#673 [opentelemetry-instrumentation-genai-agno] Add instrumentation for retrieval and make various other improvements |
DylanRussell | lmolkova 💬 | ✅ | ❌ | 8h |
#650 [opentelemetry-instrumentation-genai-openai] Record Responses API tool-loop history |
sfc-gh-zeningchen | lmolkova 💬 | ✅ | ✅ | 8h |
#738 [opentelemetry-instrumentation-genai-agno] Add instrumentation for agno embedding methods |
DylanRussell | lmolkova 💬 | ✅ | ✅ | 7h |
Draft pull requests
| PR | Author | Draft age |
|---|---|---|
#340 Add opentelemetry-instrumentation-genai-smolagents instrumentation package |
alexander-akhmetov | 49d |
| #392 Share the with_raw_response proxy between instrumentations | lmolkova | 34d |
| #318 feat(haystack): migrate openinference-instrumentation-haystack | srinjoy356 | 33d |
| #492 util-genai: end streamed invocations abandoned before draining | sidsri14 | 19d |
| #536 Add LangGraph durable-execution agent lifecycle events | meshailabs | 17d |
| #507 Instrument LangGraph execution state changes | Utkarsh-Sinha0 | 15d |
| #187 Prototype showing gen_ai.conversation_root span attribute to mark the root GenAI span of a conversation | wrisa | 15d |
| #621 [openai-agents] Map GuardrailSpanData to the semconv run_guardrail span (blocked on semconv-genai#427) | AgentGymLeader | 14d |
| #623 Switch conformance tests to common runner and align scenario coverage | lmolkova | 14d |
| #702 Codegen most of utils | lmolkova | 6d |
| #730 [opentelemetry-instrumentation-genai-langchain] Capture prompt template name and variables on chat | rads-1996 | 1d |
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 body is a pull-request dashboard snapshot and links to .github/scripts/pull-request-dashboard/dashboard.py. Start by reading that script and clarify the intended change, since the issue provides no acceptance criteria or specific behavior to modify. Done should be defined by explicit requirements and a verifiable dashboard result.
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
- 20/100