This package provides support for working with OpenTelemetry Resource objects, e.g. `resourceFromAttributes(), and includes a number of resource detectors which gather resource attributes from the environment. (Other resource detectors, e.g. for cloud providers, are available in "resource-detector-*" packages in the opentelemetry-js-contrib.git repository.
This document defines standard attributes for resources which are accessible via @opentelemetry/semantic-conventions.
npm install --save @opentelemetry/resources
import { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
import { resourceFromAttributes } from '@opentelemetry/resources';
const resource = resourceFromAttributes({
[ATTR_SERVICE_NAME]: 'api-service',
});
const anotherResource = resourceFromAttributes({
'service.version': '2.0.0',
'service.group': 'instrumentation-group'
});
const mergedResource = resource.merge(anotherResource);
import { detectResources, processDetector, hostDetector } from '@opentelemetry/resources';
const resource = detectResources({
detectors: [ processDetector, hostDetector ],
});
Included resource detectors:
hostDetector: Detect host.* attributes per https://opentelemetry.io/docs/specs/semconv/resource/host/.osDetector: Detect os.* attributes per https://opentelemetry.io/docs/specs/semconv/resource/os/.processDetector: Detect process.* attributes per https://opentelemetry.io/docs/specs/semconv/resource/process/.resourceAttributesEnvDetector: Detect attributes from the OTEL_RESOURCE_ATTRIBUTES environment variable per https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#general-sdk-configuration.serviceInstanceIdDetector: Detect service.instance.id per https://opentelemetry.io/docs/specs/semconv/resource/service/#service-instance.serviceNameEnvDetector: Detect service.name from the OTEL_SERVICE_NAME environment variable per https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#general-sdk-configuration.Apache 2.0 - See LICENSE for more information.