Skip to content

[bot] Missing instrumentation for Amazon Q Business Java SDK (qbusiness) #147

Description

@braintrust-bot

Summary

The Braintrust Java SDK instruments software.amazon.awssdk:bedrockruntime (direct model invocation via Converse/ConverseStream), but does not instrument software.amazon.awssdk:qbusiness — the official AWS SDK v2 module for Amazon Q Business, AWS's "fully managed, generative-AI powered enterprise chat assistant." This is a distinct AWS service and Maven artifact from all currently-instrumented Bedrock/OpenAI/Anthropic/GenAI modules, with its own conversational-agent execution surface.

What is missing

The software.amazon.awssdk:qbusiness SDK provides these execution-oriented surfaces, none of which are instrumented:

API Client Description
chat() / chatAsync() QBusinessClient / QBusinessAsyncClient Streaming, agentic conversation turn — retrieval-augmented generation over enterprise data sources, plugin/action invocation, attributed source citations
chatSync() QBusinessClient / QBusinessAsyncClient Non-streaming conversation turn (ChatSyncRequest/ChatSyncResponse)
putFeedback() QBusinessClient Feedback on a generated response (execution-adjacent, tied to a specific chat turn)

These are genuine model-execution/agent-run surfaces (not admin/CRUD) — Chat/ChatSync invoke Amazon Q's underlying generative model with retrieval, tool/plugin actions, and conversation state, analogous in kind to Bedrock's Converse/ConverseStream that this repo already instruments.

Why existing instrumentation does not cover this

  • aws_bedrock_2_30_0 (instrumented) targets only BedrockRuntimeClientBuilder/BedrockRuntimeAsyncClientBuilder — a different client hierarchy and Maven artifact (bedrockruntime, not qbusiness).
  • No other module references qbusiness or QBusiness classes.
  • Amazon Q Business is a separate managed AWS product from Bedrock (own IAM actions, own API endpoint, own SDK artifact), so it is not reachable through any Bedrock instrumentation.

Braintrust docs status

Upstream sources

Local repo files inspected

  • settings.gradle (lines 28–33) — lists all six instrumentation modules (openai_2_15_0, anthropic_2_2_0, genai_1_18_0, langchain_1_8_0, springai_1_0_0, aws_bedrock_2_30_0); no qbusiness module present
  • braintrust-sdk/instrumentation/aws_bedrock_2_30_0/src/main/java/dev/braintrust/instrumentation/awsbedrock/v2_30_0/auto/AWSBedrockInstrumentationModule.javainstanceof checks limited to BedrockRuntimeClientBuilder/BedrockRuntimeAsyncClientBuilder
  • Full-repo grep for qbusiness, QBusiness — zero matches

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions