The Python ADOT distro reads AGENT_OBSERVABILITY_ENABLED which is injected by AgentCore Runtime and automatically configures the agent for the CloudWatch GenAI Observability dashboard. The Java agent currently does not provide support for this flag.
Some things that the Python distro does when AGENT_OBSERVABILITY_ENABLED=true:
- Adds aws.service.type=gen_ai_agent to the OTel resource (required for the Bedrock AgentCore dashboard tab)
- Adds a BaggageSpanProcessor that copies session.id from baggage to span attributes (enables session grouping)
- Sets parentbased_always_on sampler (100% span capture)
- Disables AWS resource detectors (prevents cloud.platform=aws_ec2 from overriding AgentCore's injected
cloud.platform=aws_bedrock_agentcore)
- Disables Application Signals
- Disables noisy HTTP client instrumentation (urllib3/requests)
Reference implementation in the Python distro:
For the Spring AI AgentCore library we built an external extension jar as a workaround but ideally we could get this out of the box: spring-ai-community/spring-ai-agentcore#112
The Python ADOT distro reads AGENT_OBSERVABILITY_ENABLED which is injected by AgentCore Runtime and automatically configures the agent for the CloudWatch GenAI Observability dashboard. The Java agent currently does not provide support for this flag.
Some things that the Python distro does when AGENT_OBSERVABILITY_ENABLED=true:
cloud.platform=aws_bedrock_agentcore)
Reference implementation in the Python distro:
For the Spring AI AgentCore library we built an external extension jar as a workaround but ideally we could get this out of the box: spring-ai-community/spring-ai-agentcore#112