OpenTelemetry SDK resource detector for AWS

Usage no npm install needed!

<script type="module">
  import opentelemetryResourceDetectorAws from 'https://cdn.skypack.dev/@opentelemetry/resource-detector-aws';


OpenTelemetry Resource Detector for AWS

NPM Published Version dependencies devDependencies Apache License

component owners: @willarmiros @NathanielRN

Resource detector for Amazon Web Services.

Compatible with OpenTelemetry JS API and SDK 1.0+.


npm install --save @opentelemetry/resource-detector-aws


import { detectResources } from '@opentelemetry/resources';
import { awsEc2Detector } from '@opentelemetry/resource-detector-aws'
const resource = await detectResources({
   detectors: [awsEc2Detector],

const tracerProvider = new NodeTracerProvider({ resource });

Available detectors

  • awsBeanstalkDetector: Populates service for processes running on AWS Elastic Beanstalk
  • awsEc2Detector: Populates cloud and host for processes running on Amazon EC2, including abstractions such as ECS on EC2. Notably, it does not populate anything on AWS Fargate
  • awsEcsDetector: Populates container for containers running on Amazon ECS
  • awsEksDetector: Populates container and k8s.cluster_name for containers running on Amazon EKS
    • k8s.cluster_name is not always available depending on the configuration of CloudWatch monitoring for the EKS cluster
  • awsLambdaDetector: Populates faas and cloud for functions running on AWS Lambda
    • faas.id is currently not populated as it is not provided by the runtime at startup

Useful links


Apache 2.0 - See LICENSE for more information.