mirror of
https://github.com/openmhz/trunk-server.git
synced 2026-11-15 02:07:50 -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 { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-http');
|
||||||
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
|
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
|
||||||
const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');
|
const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');
|
||||||
|
const {
|
||||||
|
Detector,
|
||||||
|
DetectorSync,
|
||||||
|
IResource,
|
||||||
|
ResourceDetectionConfig,
|
||||||
|
envDetectorSync,
|
||||||
|
hostDetectorSync,
|
||||||
|
processDetectorSync,
|
||||||
|
} = require("@opentelemetry/resources")
|
||||||
// const {
|
// const {
|
||||||
// dockerCGroupV1Detector,
|
// dockerCGroupV1Detector,
|
||||||
// } = require('@opentelemetry/resource-detector-docker');
|
// } = 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);
|
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 samplePercentage = 0.05;
|
||||||
|
|
||||||
const sdk = new opentelemetry.NodeSDK({
|
const sdk = new opentelemetry.NodeSDK({
|
||||||
@@ -36,6 +58,11 @@ const sdk = new opentelemetry.NodeSDK({
|
|||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
resourceDetectors: [
|
||||||
|
awaitAttributes(envDetectorSync),
|
||||||
|
awaitAttributes(processDetectorSync),
|
||||||
|
awaitAttributes(hostDetectorSync),
|
||||||
|
],
|
||||||
//resourceDetectors: [dockerCGroupV1Detector],
|
//resourceDetectors: [dockerCGroupV1Detector],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
1
backend/package-lock.json
generated
1
backend/package-lock.json
generated
@@ -13,6 +13,7 @@
|
|||||||
"@aws-sdk/credential-provider-process": "^3.306.0",
|
"@aws-sdk/credential-provider-process": "^3.306.0",
|
||||||
"@aws-sdk/credential-providers": "^3.309.0",
|
"@aws-sdk/credential-providers": "^3.309.0",
|
||||||
"@opentelemetry/auto-instrumentations-node": "^0.50.0",
|
"@opentelemetry/auto-instrumentations-node": "^0.50.0",
|
||||||
|
"@opentelemetry/resources": "^1.26.0",
|
||||||
"@smithy/node-http-handler": "^3.1.4",
|
"@smithy/node-http-handler": "^3.1.4",
|
||||||
"adm-zip": "^0.5.10",
|
"adm-zip": "^0.5.10",
|
||||||
"axios": "1.3.5",
|
"axios": "1.3.5",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
"@aws-sdk/credential-provider-process": "^3.306.0",
|
"@aws-sdk/credential-provider-process": "^3.306.0",
|
||||||
"@aws-sdk/credential-providers": "^3.309.0",
|
"@aws-sdk/credential-providers": "^3.309.0",
|
||||||
"@opentelemetry/auto-instrumentations-node": "^0.50.0",
|
"@opentelemetry/auto-instrumentations-node": "^0.50.0",
|
||||||
|
"@opentelemetry/resources": "^1.26.0",
|
||||||
"@smithy/node-http-handler": "^3.1.4",
|
"@smithy/node-http-handler": "^3.1.4",
|
||||||
"adm-zip": "^0.5.10",
|
"adm-zip": "^0.5.10",
|
||||||
"axios": "1.3.5",
|
"axios": "1.3.5",
|
||||||
|
|||||||
Reference in New Issue
Block a user