open-telemetry / open-telemetry/opentelemetry-python-genai

opentelemetry-instrumentation-genai-bedrock gaps vs openinference instrumentation

Open
#568 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

openinference-migration
Dominant language
Python
Stars
39
Forks
63
Avg merge
1d 15h
Merged PRs (30d)
175

Description

Ready to Fix

Missing Spans
  • Add invoke_model span (botocore.client.BaseClient.invoke_model) - maps to GenAI chat or text_completion (in progress in #514)
  • Add invoke_model_with_response_stream span (botocore.client.BaseClient.invoke_model_with_response_stream) - maps to GenAI chat or text_completion (in progress in #514)
  • Add invoke_agent span (botocore.client.BaseClient.invoke_agent on bedrock-agent-runtime) - maps to GenAI invoke_agent (#569)
  • Add invoke_inline_agent span (botocore.client.BaseClient.invoke_inline_agent on bedrock-agent-runtime) - maps to GenAI invoke_agent (#570)
  • Add retrieve span (botocore.client.BaseClient.retrieve on bedrock-agent-runtime) - maps to GenAI retrieval (#571)
Missing Attributes & Features
  • Capture guardrailConfig on chat (OpenInference: metadata.guardrailIdentifier, semconv: aws.bedrock.guardrail.id) (in progress in #514)
  • Support aiobotocore async client instrumentation for chat (Converse, ConverseStream) (#572)
  • Capture buffered completion stream content on invoke_agent (OpenInference: output.value, semconv: gen_ai.output.messages) (#573)

Blocked on Semantic Conventions

Missing Spans
  • Add apply_guardrail span (botocore.client.BaseClient.apply_guardrail) (https://github.com/open-telemetry/semantic-conventions-genai/pull/427)
  • Add retrieve_and_generate span (botocore.client.BaseClient.retrieve_and_generate on bedrock-agent-runtime)
  • Add retrieve_and_generate_stream span (botocore.client.BaseClient.retrieve_and_generate_stream on bedrock-agent-runtime)
  • Add child spans for Bedrock Agent internal server traces (orchestrationTrace, preProcessingTrace, postProcessingTrace, routingClassifierTrace, guardrailTrace)
Missing Attributes & Features

Gaps for Legacy APIs

  • Support legacy text completion model formats on invoke_model (AI21 completions, Anthropic V1/V2 completions, Cohere generations, Meta generations, Titan output text) (OpenInference: llm.invocation_parameters, output.value) (in progress in #514)

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 choosing one unblocked Ready to Fix item and inspect its named botocore entry point, such as invoke_agent, invoke_inline_agent, or retrieve. Check the related issues (#569–#573) and the work in progress in #514 before starting. Done means the selected gap is implemented and its checklist item can be marked complete without taking on the convention-blocked work.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.