summaryrefslogtreecommitdiff
path: root/src/frontend/utils/telemetry/Instrumentation.js
diff options
context:
space:
mode:
authorSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
committerSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
commit82e03978b89938219958032efb1448cc76baa181 (patch)
tree626f3e54d52ecd49be0ed3bee30abacc0453d081 /src/frontend/utils/telemetry/Instrumentation.js
Initial snapshot - OpenTelemetry demo 2.1.3 -f
Diffstat (limited to 'src/frontend/utils/telemetry/Instrumentation.js')
-rw-r--r--src/frontend/utils/telemetry/Instrumentation.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/frontend/utils/telemetry/Instrumentation.js b/src/frontend/utils/telemetry/Instrumentation.js
new file mode 100644
index 0000000..39b0b85
--- /dev/null
+++ b/src/frontend/utils/telemetry/Instrumentation.js
@@ -0,0 +1,41 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+const opentelemetry = require('@opentelemetry/sdk-node');
+const {getNodeAutoInstrumentations} = require('@opentelemetry/auto-instrumentations-node');
+const {OTLPTraceExporter} = require('@opentelemetry/exporter-trace-otlp-grpc');
+const {OTLPMetricExporter} = require('@opentelemetry/exporter-metrics-otlp-grpc');
+const {PeriodicExportingMetricReader} = require('@opentelemetry/sdk-metrics');
+const {alibabaCloudEcsDetector} = require('@opentelemetry/resource-detector-alibaba-cloud');
+const {awsEc2Detector, awsEksDetector} = require('@opentelemetry/resource-detector-aws');
+const {containerDetector} = require('@opentelemetry/resource-detector-container');
+const {gcpDetector} = require('@opentelemetry/resource-detector-gcp');
+const {envDetector, hostDetector, osDetector, processDetector} = require('@opentelemetry/resources');
+
+const sdk = new opentelemetry.NodeSDK({
+ traceExporter: new OTLPTraceExporter(),
+ instrumentations: [
+ getNodeAutoInstrumentations({
+ // disable fs instrumentation to reduce noise
+ '@opentelemetry/instrumentation-fs': {
+ enabled: false,
+ },
+ })
+ ],
+ metricReader: new PeriodicExportingMetricReader({
+ exporter: new OTLPMetricExporter(),
+ }),
+ resourceDetectors: [
+ containerDetector,
+ envDetector,
+ hostDetector,
+ osDetector,
+ processDetector,
+ alibabaCloudEcsDetector,
+ awsEksDetector,
+ awsEc2Detector,
+ gcpDetector,
+ ],
+});
+
+sdk.start();