UNPKG

@ogcio/o11y-sdk-node

Version:

Opentelemetry standard instrumentation SDK for NodeJS based project

31 lines (24 loc) 856 B
import { ResourceDetector, DetectedResource, DetectedResourceAttributes, } from "@opentelemetry/resources"; import { SignalAttributeValue } from "./index.js"; import packageJson from "../package.json" with { type: "json" }; export class ObservabilityResourceDetector implements ResourceDetector { private _resourceAttributes: Record<string, SignalAttributeValue> | undefined; constructor(resourceAttributes?: Record<string, SignalAttributeValue>) { this._resourceAttributes = resourceAttributes; } detect(): DetectedResource { let attributes: DetectedResourceAttributes = {}; if (this._resourceAttributes) { attributes = { ...this._resourceAttributes, }; } attributes["o11y.sdk.name"] = packageJson.name; attributes["o11y.sdk.version"] = packageJson.version; return { attributes }; } }