0.29.0 • Published 7 months ago

opentelemetry-resource-detector-service v0.29.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
7 months ago

OpenTelemetry Service Resource Detector for Node.js

NPM version

This module provides automatic resource detector for Service

Installation

npm install --save opentelemetry-resource-detector-service

Usage

Synchronous SDK Initialization

import { detectSyncResources } from 'opentelemetry-resource-detector-sync-api';
import { serviceSyncDetector } from 'opentelemetry-resource-detector-service';

const resource = detectSyncResources({
    detectors: [serviceSyncDetector, /* add other sync detectors here */],
});
const tracerProvider = new NodeTracerProvider({ resource });

Asynchronous SDK Initialization

import { detectResources } from '@opentelemetry/resources';
import { serviceDetector } from 'opentelemetry-resource-detector-service';

( async () => {
    const resource = await detectResources({
        detectors: [serviceDetector, /* add other async detectors here */],
    });
    const tracerProvider = new NodeTracerProvider({ resource });
    // Initialize auto instrumentation plugins and register provider.
    // Make sure you don't 'require' instrumented packages elsewhere 
    // before they are registered here
})();

Attributes

AttributeTypeSource
service.namestringprocess.env.OTEL_SERVICE_NAME. If not set, will try to read name attribute from package.json. If not set will fallback to unknown_service: concatenated with process.executable.name (according to specification)
serivce.versionstringversion attribute from package.json
service.instance.idstring (v4 UUID)Automatically generated by the detector for each invocation of the service