UNPKG

@splunk/otel

Version:

The Splunk distribution of OpenTelemetry Node Instrumentation provides a Node agent that automatically instruments your Node application to capture and report distributed traces to Splunk APM.

72 lines 2.73 kB
"use strict"; /* * Copyright Splunk Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.getDetectedResource = getDetectedResource; exports.setResource = setResource; exports.clearResource = clearResource; const resources_1 = require("@opentelemetry/resources"); const resource_detector_container_1 = require("@opentelemetry/resource-detector-container"); const DistroDetector_1 = require("./detectors/DistroDetector"); const TelemetrySdkDetector_1 = require("./detectors/TelemetrySdkDetector"); const configuration_1 = require("./configuration"); const defaultDetectors = [ DistroDetector_1.distroDetector, resource_detector_container_1.containerDetector, resources_1.envDetector, resources_1.hostDetector, resources_1.osDetector, resources_1.processDetector, TelemetrySdkDetector_1.telemetrySdkDetector, ]; let detectedResource; function toDetector(rd) { if (rd.container !== undefined) return resource_detector_container_1.containerDetector; if (rd.host !== undefined) return resources_1.hostDetector; if (rd.process !== undefined) return resources_1.processDetector; if (rd.service !== undefined) return resources_1.serviceInstanceIdDetector; return undefined; } function getDetectedResource() { if (detectedResource === undefined) { const configDetectors = (0, configuration_1.getConfigResourceDetectors)(); if (configDetectors === undefined) { detectedResource = (0, resources_1.detectResources)({ detectors: defaultDetectors, }); } else { const detectors = configDetectors .map(toDetector) .filter((d) => d !== undefined); detectedResource = (0, resources_1.detectResources)({ detectors: [DistroDetector_1.distroDetector, TelemetrySdkDetector_1.telemetrySdkDetector, ...detectors], }); } } return detectedResource; } function setResource(resource) { detectedResource = resource; } function clearResource() { detectedResource = undefined; } //# sourceMappingURL=resource.js.map