View a markdown version of this page

Supported environments, languages, and frameworks - Amazon CloudWatch
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Supported environments, languages, and frameworks

The environments, languages, and frameworks with a documented path for sending telemetry to CloudWatch Omni.

Environments

Environment Workload How telemetry leaves Signals Deployment tooling documented Procedure
Amazon EC2 Applications, AI agents Applications: CloudWatch agent on the host. AI agents: direct export from the ADOT SDK. Applications: traces, metrics, logs. AI agents: traces. Amazon CLI, CDK (TypeScript, Python, Java), Terraform, CloudFormation Applications · AI agents
Amazon ECS (Fargate) Applications, AI agents Applications: CloudWatch agent sidecar. AI agents: direct export from the ADOT SDK. Applications: traces, metrics, logs. AI agents: traces. Amazon CLI, CDK (TypeScript, Python, Java), Terraform, CloudFormation Applications · AI agents
Amazon EKS Applications, AI agents Applications: CloudWatch Observability add-on (agent DaemonSet). AI agents: direct export from the ADOT SDK. Applications: traces, metrics, logs. AI agents: traces. Amazon CLI, Terraform, or CDK for the add-on; kubectl, Helm, or CDK for the application Applications · AI agents
Amazon Lambda Applications, AI agents Applications: Lambda delivers segments and logs itself; the ADOT layer adds handler spans. AI agents: the ADOT layer starts the OpenTelemetry runtime and the execution role signs trace exports. Applications: traces, logs. AI agents: traces. Amazon CLI, CDK (TypeScript, Python, Java), Terraform, CloudFormation, Amazon SAM Applications · AI agents
Amazon Bedrock AgentCore AI agents The runtime exports traces. Traces AgentCore starter toolkit, CDK (TypeScript, Python), Terraform, CloudFormation AI agents
Azure VM Applications CloudWatch agent on the VM, credentials federated from the VM's managed identity. Traces, metrics, logs Azure setup script Applications
Azure Kubernetes Service Applications CloudWatch Observability Helm chart, credentials federated from workload identity. Traces, metrics, logs Helm, kubectl Applications
Google Compute Engine Applications CloudWatch agent on the instance, credentials federated from the instance's service account. Traces, metrics, logs Google Cloud setup script Applications
Google Kubernetes Engine Applications CloudWatch Observability Helm chart, credentials federated from the cluster's OIDC issuer. Traces, metrics, logs Helm, kubectl Applications

Application languages and frameworks

Language Auto-instrumentation Frameworks with documented notes Procedure
Python opentelemetry-instrument launcher FastAPI, Flask, Django Step 4, Python tab
Node.js @opentelemetry/auto-instrumentations-node register hook Express, gRPC Step 4, Node.js tab
Java OpenTelemetry Java agent (-javaagent) Spring Boot, gRPC Step 4, Java tab
.NET Automatic instrumentation profiler for ASP.NET Core and gRPC services; SDK in code for console applications ASP.NET Core, gRPC Step 4, .NET tab
Go Go has no agent. Initialize the SDK in code and add library instrumentation, such as otelhttp or otelgrpc. net/http, gRPC Step 4, Go tab
  • Any of these languages works in any environment in the Environments table. For Python, Node.js, Java, and .NET, the listed frameworks are traced without code changes. For Go, wrap them with the library instrumentation shown in Step 4 of Send application telemetry. Other libraries may be covered by the OpenTelemetry registry for the language.

AI agent languages and frameworks

Each language column lists the libraries documented for that framework: the OpenTelemetry distribution, and the OpenInference instrumentor where one exists. The distribution is required on both paths and is documented for Python and Node.js only: Amazon Distro for OpenTelemetry 0.20.0 or later for Python, 0.13.0 or later for Node.js.

Framework Python Node.js Recommended versions Notes
LangGraph, LangChain OpenTelemetry · OpenInference OpenTelemetry · OpenInference Python: langchain >=0.3.21,<2 Node.js: @langchain/core >=1.0.0,<2.0.0 Traces through the LangChain instrumentor. Python is zero-code; Node.js needs startup code.
Strands Agents OpenTelemetry · OpenInference OpenTelemetry We recommend using the latest available Strands Agents version. Built-in OpenTelemetry tracing on both languages, so the distribution needs no wiring: the SDK creates the agent, model, and tool spans itself. The Python OpenInference path attaches a span processor to the distribution's provider. Use one tracing path, not both, or the processor is inert.
CrewAI OpenTelemetry · OpenInference — crewai >=1.10.0,<2 CrewAI is Python only. Zero-code. Requires setuptools<81 and CREWAI_DISABLE_TELEMETRY=true.
OpenAI Agents OpenTelemetry · OpenInference OpenTelemetry · OpenInference Python: openai-agents >=0.3.3,<1 Node.js: @openai/agents-core >=0.1.0 Python is zero-code once set_tracing_disabled(True) is removed. On Node.js, registering the instrumentation is not sufficient: the instrumentor attaches through the framework's own tracing processor, so you must also pass the imported SDK namespace to manuallyInstrument. Without that call, the agent creates no spans.
Vercel AI SDK — OpenTelemetry ai >=3.3.0,<7.0.0 The Vercel AI SDK is Node.js only. The SDK emits its spans automatically once the distribution's provider is registered; no per-call telemetry flag is needed. Registering an OpenInference span processor has no effect on this path.