awslabs / awslabs/agentcore-samples

01-tutorials - [Content Improvement] - Add Datadog LLM Observability tutorial for AgentCore Runtime with Strands Agents.

Open
#974 1 comment 0 reactions 1 assignee Claimed by @akshseh View on GitHub
01-tutorials documentation
Dominant language
Python
Stars
3.4k
Forks
1.3k
Avg merge
1d 22h
Merged PRs (30d)
30

Description

**Which component is impacted by this improvement?**
- [ ] 01-AgentCore-runtime
- [ ] 02-AgentCore-gateway
- [ ] 03-AgentCore-identity
- [ ] 04-AgentCore-memory
- [ ] 05-AgentCore-tools
- [x] 06-AgentCore-observability
- [ ] 07-AgentCore-E2E

**Improvement Description**
A clear and concise description of the improvement.
```
Add a Datadog LLM Observability integration tutorial for AgentCore Runtime with Strands Agents. This builds on the existing Datadog APM integration in PR #737 by adding a dedicated tutorial that routes traces to Datadog LLM Observability using dd-otlp-source=llmobs, which provides GenAI-specific trace views including prompt/response content, token usage tracking, and model performance analysis.

The tutorial includes:

- Step-by-step Jupyter notebook for deploying agents with Datadog LLM Observability telemetry
- Strands agent implementation with direct OpenTelemetry SDK TracerProvider configuration
- DISABLE_ADOT_OBSERVABILITY=true to replace AgentCore's built-in ADOT pipeline with a custom Datadog OTLP exporter
- OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental for OpenTelemetry v1.37+ GenAI semantic conventions

This enables users to leverage Datadog's LLM Observability platform for their AgentCore-hosted agents, providing purpose-built views for GenAI applications as an alternative to both the default AgentCore observability and standard APM tracing.

**Note on dependency:** This tutorial lives under Datadog/llm-observability/ alongside the Datadog APM tutorial from PR #737. My branch (feature/datadog-llm-obs-tutorial) is based on that PR's branch, once that's in, I can open a PR to add the LLM Observability tutorial on top of it.

I've also included a fix in my branch that addresses the review comment on PR #737 about moving OTEL environment variables from code-level to deployment-level configuration. The OTEL endpoint, headers, protocol, and semantic convention settings are now passed as env_vars in launch() rather than hardcoded in the agent code.
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.