mirror of
https://github.com/openmhz/trunk-server.git
synced 2026-11-13 17:27:37 -05:00
wait for otel detectors
This commit is contained in:
@@ -6,6 +6,15 @@ const { TraceIdRatioBasedSampler } = require('@opentelemetry/sdk-trace-node');
|
||||
const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-http');
|
||||
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
|
||||
const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');
|
||||
const {
|
||||
Detector,
|
||||
DetectorSync,
|
||||
IResource,
|
||||
ResourceDetectionConfig,
|
||||
envDetectorSync,
|
||||
hostDetectorSync,
|
||||
processDetectorSync,
|
||||
} = require("@opentelemetry/resources")
|
||||
// const {
|
||||
// dockerCGroupV1Detector,
|
||||
// } = require('@opentelemetry/resource-detector-docker');
|
||||
@@ -19,6 +28,19 @@ console.log("OTEL_EXPORTER_OTLP_HEADERS: " + process.env.OTEL_EXPORTER_OTLP_HEAD
|
||||
console.log("OTEL_SERVICE_NAME: " + process.env.OTEL_SERVICE_NAME);
|
||||
|
||||
|
||||
// from https://github.com/open-telemetry/opentelemetry-js/issues/4638
|
||||
// this is a workaround to wait for async attributes to be resolved
|
||||
function awaitAttributes(detector){
|
||||
return {
|
||||
async detect(config) {
|
||||
const resource = detector.detect(config)
|
||||
await resource.waitForAsyncAttributes()
|
||||
|
||||
return resource
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
const samplePercentage = 0.05;
|
||||
|
||||
const sdk = new opentelemetry.NodeSDK({
|
||||
@@ -36,6 +58,11 @@ const sdk = new opentelemetry.NodeSDK({
|
||||
},
|
||||
}),
|
||||
],
|
||||
resourceDetectors: [
|
||||
awaitAttributes(envDetectorSync),
|
||||
awaitAttributes(processDetectorSync),
|
||||
awaitAttributes(hostDetectorSync),
|
||||
],
|
||||
//resourceDetectors: [dockerCGroupV1Detector],
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user