Skip to content

Latest commit

 

History

History
60 lines (44 loc) · 3.38 KB

File metadata and controls

60 lines (44 loc) · 3.38 KB

OpenTelemetry Resource Detector for AWS

NPM Published Version dependencies devDependencies Apache License

The OpenTelemetry Resource is an immutable representation of the entity producing telemetry. For example, a process producing telemetry that is running in a container on Kubernetes has a Pod name, it is in a namespace and possibly is part of a Deployment which also has a name. All three of these attributes can be included in the Resource.

This document defines standard attributes for resources.

Installation

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

Usage

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

License

Apache 2.0 - See LICENSE for more information.