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.
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 });
awsBeanstalkDetector
: Populatesservice
for processes running on AWS Elastic BeanstalkawsEc2Detector
: Populatescloud
andhost
for processes running on Amazon EC2, including abstractions such as ECS on EC2. Notably, it does not populate anything on AWS FargateawsEcsDetector
: Populatescontainer
for containers running on Amazon ECSawsEksDetector
: Populatescontainer
andk8s.cluster_name
for containers running on Amazon EKSk8s.cluster_name
is not always available depending on the configuration of CloudWatch monitoring for the EKS cluster
awsLambdaDetector
: Populatesfaas
andcloud
for functions running on AWS Lambdafaas.id
is currently not populated as it is not provided by the runtime at startup
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
- For help or feedback on this project, join us in GitHub Discussions
Apache 2.0 - See LICENSE for more information.