iii-sdk 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +46 -39
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -9
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +4 -9
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +30 -24
- package/dist/index.mjs.map +1 -1
- package/dist/state.cjs +6 -5
- package/dist/state.cjs.map +1 -1
- package/dist/state.d.cts +13 -30
- package/dist/state.d.cts.map +1 -1
- package/dist/state.d.mts +13 -30
- package/dist/state.d.mts.map +1 -1
- package/dist/state.mjs +5 -5
- package/dist/state.mjs.map +1 -1
- package/dist/{stream-BAjVneSg.d.mts → stream-C1zUjhzk.d.mts} +25 -56
- package/dist/stream-C1zUjhzk.d.mts.map +1 -0
- package/dist/{stream-DUNsytJU.d.cts → stream-lxenNA3s.d.cts} +25 -56
- package/dist/stream-lxenNA3s.d.cts.map +1 -0
- package/dist/stream.d.cts +1 -1
- package/dist/stream.d.mts +1 -1
- package/dist/telemetry.cjs +6 -5
- package/dist/telemetry.d.cts +1 -1
- package/dist/telemetry.d.cts.map +1 -1
- package/dist/telemetry.d.mts +1 -1
- package/dist/telemetry.d.mts.map +1 -1
- package/dist/telemetry.mjs +1 -1
- package/dist/{utils-D6RPYBhs.d.cts → utils-BvWlFlLq.d.cts} +60 -121
- package/dist/utils-BvWlFlLq.d.cts.map +1 -0
- package/dist/{utils-bsZVduQi.cjs → utils-C6yTT4Js.cjs} +95 -95
- package/dist/utils-C6yTT4Js.cjs.map +1 -0
- package/dist/{utils-BRn3Iff5.d.mts → utils-_zSeatp1.d.mts} +60 -121
- package/dist/utils-_zSeatp1.d.mts.map +1 -0
- package/dist/{utils-5jD8F3OE.mjs → utils-xBUm8n1P.mjs} +28 -28
- package/dist/utils-xBUm8n1P.mjs.map +1 -0
- package/package.json +2 -2
- package/dist/stream-BAjVneSg.d.mts.map +0 -1
- package/dist/stream-DUNsytJU.d.cts.map +0 -1
- package/dist/utils-5jD8F3OE.mjs.map +0 -1
- package/dist/utils-BRn3Iff5.d.mts.map +0 -1
- package/dist/utils-D6RPYBhs.d.cts.map +0 -1
- package/dist/utils-bsZVduQi.cjs.map +0 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
const require_index = require('./index.cjs');
|
|
2
2
|
let ws = require("ws");
|
|
3
|
-
let
|
|
3
|
+
let _opentelemetry_api = require("@opentelemetry/api");
|
|
4
4
|
let node_perf_hooks = require("node:perf_hooks");
|
|
5
|
-
let
|
|
6
|
-
let
|
|
5
|
+
let _opentelemetry_resources = require("@opentelemetry/resources");
|
|
6
|
+
let _opentelemetry_semantic_conventions = require("@opentelemetry/semantic-conventions");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
|
-
let
|
|
9
|
-
let
|
|
10
|
-
let
|
|
11
|
-
let
|
|
12
|
-
let
|
|
13
|
-
let
|
|
14
|
-
let
|
|
15
|
-
let
|
|
8
|
+
let _opentelemetry_sdk_trace_base = require("@opentelemetry/sdk-trace-base");
|
|
9
|
+
let _opentelemetry_sdk_metrics = require("@opentelemetry/sdk-metrics");
|
|
10
|
+
let _opentelemetry_core = require("@opentelemetry/core");
|
|
11
|
+
let _opentelemetry_sdk_trace_node = require("@opentelemetry/sdk-trace-node");
|
|
12
|
+
let _opentelemetry_instrumentation = require("@opentelemetry/instrumentation");
|
|
13
|
+
let _opentelemetry_sdk_logs = require("@opentelemetry/sdk-logs");
|
|
14
|
+
let _opentelemetry_api_logs = require("@opentelemetry/api-logs");
|
|
15
|
+
let _opentelemetry_otlp_transformer = require("@opentelemetry/otlp-transformer");
|
|
16
16
|
|
|
17
17
|
//#region src/iii-constants.ts
|
|
18
18
|
/**
|
|
@@ -160,7 +160,7 @@ let metricsCollector = null;
|
|
|
160
160
|
let registeredMeter = null;
|
|
161
161
|
let registeredBatchCallback = null;
|
|
162
162
|
let registeredObservables = [];
|
|
163
|
-
function registerWorkerGauges(meter
|
|
163
|
+
function registerWorkerGauges(meter, options) {
|
|
164
164
|
if (registeredGauges) return;
|
|
165
165
|
const { workerId, workerName } = options;
|
|
166
166
|
const baseAttributes = {
|
|
@@ -168,56 +168,56 @@ function registerWorkerGauges(meter$1, options) {
|
|
|
168
168
|
...workerName && { "worker.name": workerName }
|
|
169
169
|
};
|
|
170
170
|
metricsCollector = new WorkerMetricsCollector();
|
|
171
|
-
const memoryHeapUsed = meter
|
|
171
|
+
const memoryHeapUsed = meter.createObservableGauge("iii.worker.memory.heap_used", {
|
|
172
172
|
description: "Worker heap memory used in bytes",
|
|
173
173
|
unit: "bytes"
|
|
174
174
|
});
|
|
175
|
-
const memoryHeapTotal = meter
|
|
175
|
+
const memoryHeapTotal = meter.createObservableGauge("iii.worker.memory.heap_total", {
|
|
176
176
|
description: "Worker total heap memory in bytes",
|
|
177
177
|
unit: "bytes"
|
|
178
178
|
});
|
|
179
|
-
const memoryRss = meter
|
|
179
|
+
const memoryRss = meter.createObservableGauge("iii.worker.memory.rss", {
|
|
180
180
|
description: "Worker resident set size in bytes",
|
|
181
181
|
unit: "bytes"
|
|
182
182
|
});
|
|
183
|
-
const memoryExternal = meter
|
|
183
|
+
const memoryExternal = meter.createObservableGauge("iii.worker.memory.external", {
|
|
184
184
|
description: "Worker external memory in bytes",
|
|
185
185
|
unit: "bytes"
|
|
186
186
|
});
|
|
187
|
-
const cpuPercent = meter
|
|
187
|
+
const cpuPercent = meter.createObservableGauge("iii.worker.cpu.percent", {
|
|
188
188
|
description: "Worker CPU usage percentage",
|
|
189
189
|
unit: "%"
|
|
190
190
|
});
|
|
191
|
-
const cpuUserMicros = meter
|
|
191
|
+
const cpuUserMicros = meter.createObservableGauge("iii.worker.cpu.user_micros", {
|
|
192
192
|
description: "Worker CPU user time in microseconds",
|
|
193
193
|
unit: "us"
|
|
194
194
|
});
|
|
195
|
-
const cpuSystemMicros = meter
|
|
195
|
+
const cpuSystemMicros = meter.createObservableGauge("iii.worker.cpu.system_micros", {
|
|
196
196
|
description: "Worker CPU system time in microseconds",
|
|
197
197
|
unit: "us"
|
|
198
198
|
});
|
|
199
|
-
const eventLoopLag = meter
|
|
199
|
+
const eventLoopLag = meter.createObservableGauge("iii.worker.event_loop.lag_ms", {
|
|
200
200
|
description: "Worker event loop lag in milliseconds",
|
|
201
201
|
unit: "ms"
|
|
202
202
|
});
|
|
203
|
-
const uptimeSeconds = meter
|
|
203
|
+
const uptimeSeconds = meter.createObservableGauge("iii.worker.uptime_seconds", {
|
|
204
204
|
description: "Worker uptime in seconds",
|
|
205
205
|
unit: "s"
|
|
206
206
|
});
|
|
207
207
|
const batchCallback = (observableResult) => {
|
|
208
208
|
if (!metricsCollector) return;
|
|
209
|
-
const metrics
|
|
210
|
-
if (metrics
|
|
211
|
-
if (metrics
|
|
212
|
-
if (metrics
|
|
213
|
-
if (metrics
|
|
214
|
-
if (metrics
|
|
215
|
-
if (metrics
|
|
216
|
-
if (metrics
|
|
217
|
-
if (metrics
|
|
218
|
-
if (metrics
|
|
209
|
+
const metrics = metricsCollector.collect();
|
|
210
|
+
if (metrics.memory_heap_used !== void 0) observableResult.observe(memoryHeapUsed, metrics.memory_heap_used, baseAttributes);
|
|
211
|
+
if (metrics.memory_heap_total !== void 0) observableResult.observe(memoryHeapTotal, metrics.memory_heap_total, baseAttributes);
|
|
212
|
+
if (metrics.memory_rss !== void 0) observableResult.observe(memoryRss, metrics.memory_rss, baseAttributes);
|
|
213
|
+
if (metrics.memory_external !== void 0) observableResult.observe(memoryExternal, metrics.memory_external, baseAttributes);
|
|
214
|
+
if (metrics.cpu_percent !== void 0) observableResult.observe(cpuPercent, metrics.cpu_percent, baseAttributes);
|
|
215
|
+
if (metrics.cpu_user_micros !== void 0) observableResult.observe(cpuUserMicros, metrics.cpu_user_micros, baseAttributes);
|
|
216
|
+
if (metrics.cpu_system_micros !== void 0) observableResult.observe(cpuSystemMicros, metrics.cpu_system_micros, baseAttributes);
|
|
217
|
+
if (metrics.event_loop_lag_ms !== void 0) observableResult.observe(eventLoopLag, metrics.event_loop_lag_ms, baseAttributes);
|
|
218
|
+
if (metrics.uptime_seconds !== void 0) observableResult.observe(uptimeSeconds, metrics.uptime_seconds, baseAttributes);
|
|
219
219
|
};
|
|
220
|
-
meter
|
|
220
|
+
meter.addBatchObservableCallback(batchCallback, [
|
|
221
221
|
memoryHeapUsed,
|
|
222
222
|
memoryHeapTotal,
|
|
223
223
|
memoryRss,
|
|
@@ -228,7 +228,7 @@ function registerWorkerGauges(meter$1, options) {
|
|
|
228
228
|
eventLoopLag,
|
|
229
229
|
uptimeSeconds
|
|
230
230
|
]);
|
|
231
|
-
registeredMeter = meter
|
|
231
|
+
registeredMeter = meter;
|
|
232
232
|
registeredBatchCallback = batchCallback;
|
|
233
233
|
registeredObservables = [
|
|
234
234
|
memoryHeapUsed,
|
|
@@ -461,24 +461,24 @@ var EngineSpanExporter = class EngineSpanExporter {
|
|
|
461
461
|
}
|
|
462
462
|
sendExport(spans, resultCallback) {
|
|
463
463
|
try {
|
|
464
|
-
const serialized =
|
|
464
|
+
const serialized = _opentelemetry_otlp_transformer.JsonTraceSerializer.serializeRequest(spans);
|
|
465
465
|
if (!serialized) {
|
|
466
|
-
resultCallback?.({ code:
|
|
466
|
+
resultCallback?.({ code: _opentelemetry_core.ExportResultCode.SUCCESS });
|
|
467
467
|
return;
|
|
468
468
|
}
|
|
469
469
|
this.connection.send(PREFIX_TRACES, serialized, (err) => {
|
|
470
470
|
if (err) {
|
|
471
471
|
console.error("[OTel] Failed to send spans:", err.message);
|
|
472
472
|
resultCallback?.({
|
|
473
|
-
code:
|
|
473
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
474
474
|
error: err
|
|
475
475
|
});
|
|
476
|
-
} else resultCallback?.({ code:
|
|
476
|
+
} else resultCallback?.({ code: _opentelemetry_core.ExportResultCode.SUCCESS });
|
|
477
477
|
});
|
|
478
478
|
} catch (err) {
|
|
479
479
|
console.error("[OTel] Error exporting spans:", err);
|
|
480
480
|
resultCallback?.({
|
|
481
|
-
code:
|
|
481
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
482
482
|
error: err
|
|
483
483
|
});
|
|
484
484
|
}
|
|
@@ -487,7 +487,7 @@ var EngineSpanExporter = class EngineSpanExporter {
|
|
|
487
487
|
if (this.connection.getState() !== "connected") {
|
|
488
488
|
if (this.pendingExports.length >= EngineSpanExporter.MAX_PENDING_EXPORTS) {
|
|
489
489
|
this.pendingExports.shift()?.resultCallback?.({
|
|
490
|
-
code:
|
|
490
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
491
491
|
error: /* @__PURE__ */ new Error("Queue overflow")
|
|
492
492
|
});
|
|
493
493
|
console.warn("[OTel] Spans export queue full, dropped oldest entry");
|
|
@@ -507,7 +507,7 @@ var EngineSpanExporter = class EngineSpanExporter {
|
|
|
507
507
|
const pending = this.pendingExports.splice(0, this.pendingExports.length);
|
|
508
508
|
const shutdownError = /* @__PURE__ */ new Error("Exporter shutdown before export completed");
|
|
509
509
|
for (const { resultCallback } of pending) resultCallback?.({
|
|
510
|
-
code:
|
|
510
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
511
511
|
error: shutdownError
|
|
512
512
|
});
|
|
513
513
|
}
|
|
@@ -533,28 +533,28 @@ var EngineMetricsExporter = class EngineMetricsExporter {
|
|
|
533
533
|
}
|
|
534
534
|
flushPending() {
|
|
535
535
|
const pending = this.pendingExports.splice(0, this.pendingExports.length);
|
|
536
|
-
for (const { metrics
|
|
536
|
+
for (const { metrics, resultCallback } of pending) this.sendExport(metrics, resultCallback);
|
|
537
537
|
}
|
|
538
538
|
sendExport(metricsData, resultCallback) {
|
|
539
539
|
try {
|
|
540
|
-
const serialized =
|
|
540
|
+
const serialized = _opentelemetry_otlp_transformer.JsonMetricsSerializer.serializeRequest(metricsData);
|
|
541
541
|
if (!serialized) {
|
|
542
|
-
resultCallback?.({ code:
|
|
542
|
+
resultCallback?.({ code: _opentelemetry_core.ExportResultCode.SUCCESS });
|
|
543
543
|
return;
|
|
544
544
|
}
|
|
545
545
|
this.connection.send(PREFIX_METRICS, serialized, (err) => {
|
|
546
546
|
if (err) {
|
|
547
547
|
console.error("[OTel] Failed to send metrics:", err.message);
|
|
548
548
|
resultCallback?.({
|
|
549
|
-
code:
|
|
549
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
550
550
|
error: err
|
|
551
551
|
});
|
|
552
|
-
} else resultCallback?.({ code:
|
|
552
|
+
} else resultCallback?.({ code: _opentelemetry_core.ExportResultCode.SUCCESS });
|
|
553
553
|
});
|
|
554
554
|
} catch (err) {
|
|
555
555
|
console.error("[OTel] Error exporting metrics:", err);
|
|
556
556
|
resultCallback?.({
|
|
557
|
-
code:
|
|
557
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
558
558
|
error: err
|
|
559
559
|
});
|
|
560
560
|
}
|
|
@@ -563,7 +563,7 @@ var EngineMetricsExporter = class EngineMetricsExporter {
|
|
|
563
563
|
if (this.connection.getState() !== "connected") {
|
|
564
564
|
if (this.pendingExports.length >= EngineMetricsExporter.MAX_PENDING_EXPORTS) {
|
|
565
565
|
this.pendingExports.shift()?.resultCallback?.({
|
|
566
|
-
code:
|
|
566
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
567
567
|
error: /* @__PURE__ */ new Error("Queue overflow")
|
|
568
568
|
});
|
|
569
569
|
console.warn("[OTel] Metrics export queue full, dropped oldest entry");
|
|
@@ -576,14 +576,14 @@ var EngineMetricsExporter = class EngineMetricsExporter {
|
|
|
576
576
|
}
|
|
577
577
|
this.sendExport(metricsData, resultCallback);
|
|
578
578
|
}
|
|
579
|
-
export(metrics
|
|
580
|
-
this.doExport(metrics
|
|
579
|
+
export(metrics, resultCallback) {
|
|
580
|
+
this.doExport(metrics, resultCallback);
|
|
581
581
|
}
|
|
582
582
|
async shutdown() {
|
|
583
583
|
const pending = this.pendingExports.splice(0, this.pendingExports.length);
|
|
584
584
|
const shutdownError = /* @__PURE__ */ new Error("Exporter shutdown before export completed");
|
|
585
585
|
for (const { resultCallback } of pending) resultCallback?.({
|
|
586
|
-
code:
|
|
586
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
587
587
|
error: shutdownError
|
|
588
588
|
});
|
|
589
589
|
}
|
|
@@ -617,24 +617,24 @@ var EngineLogExporter = class {
|
|
|
617
617
|
return;
|
|
618
618
|
}
|
|
619
619
|
try {
|
|
620
|
-
const serialized =
|
|
620
|
+
const serialized = _opentelemetry_otlp_transformer.JsonLogsSerializer.serializeRequest(logs);
|
|
621
621
|
if (!serialized) {
|
|
622
|
-
resultCallback({ code:
|
|
622
|
+
resultCallback({ code: _opentelemetry_core.ExportResultCode.SUCCESS });
|
|
623
623
|
return;
|
|
624
624
|
}
|
|
625
625
|
this.connection.send(PREFIX_LOGS, serialized, (err) => {
|
|
626
626
|
if (err) {
|
|
627
627
|
console.error("[OTel] Failed to send logs:", err.message);
|
|
628
628
|
resultCallback({
|
|
629
|
-
code:
|
|
629
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
630
630
|
error: err
|
|
631
631
|
});
|
|
632
|
-
} else resultCallback({ code:
|
|
632
|
+
} else resultCallback({ code: _opentelemetry_core.ExportResultCode.SUCCESS });
|
|
633
633
|
});
|
|
634
634
|
} catch (err) {
|
|
635
635
|
console.error("[OTel] Error exporting logs:", err);
|
|
636
636
|
resultCallback({
|
|
637
|
-
code:
|
|
637
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
638
638
|
error: err
|
|
639
639
|
});
|
|
640
640
|
}
|
|
@@ -644,7 +644,7 @@ var EngineLogExporter = class {
|
|
|
644
644
|
}
|
|
645
645
|
async shutdown() {
|
|
646
646
|
for (const { callback } of this.pendingExports) callback({
|
|
647
|
-
code:
|
|
647
|
+
code: _opentelemetry_core.ExportResultCode.FAILED,
|
|
648
648
|
error: /* @__PURE__ */ new Error("Exporter shutdown")
|
|
649
649
|
});
|
|
650
650
|
this.pendingExports = [];
|
|
@@ -660,7 +660,7 @@ var EngineLogExporter = class {
|
|
|
660
660
|
* Extract the current trace ID from the active span context.
|
|
661
661
|
*/
|
|
662
662
|
function currentTraceId() {
|
|
663
|
-
const span =
|
|
663
|
+
const span = _opentelemetry_api.trace.getActiveSpan();
|
|
664
664
|
if (span) {
|
|
665
665
|
const spanContext = span.spanContext();
|
|
666
666
|
if (spanContext.traceId && spanContext.traceId !== "00000000000000000000000000000000") return spanContext.traceId;
|
|
@@ -670,7 +670,7 @@ function currentTraceId() {
|
|
|
670
670
|
* Extract the current span ID from the active span context.
|
|
671
671
|
*/
|
|
672
672
|
function currentSpanId() {
|
|
673
|
-
const span =
|
|
673
|
+
const span = _opentelemetry_api.trace.getActiveSpan();
|
|
674
674
|
if (span) {
|
|
675
675
|
const spanContext = span.spanContext();
|
|
676
676
|
if (spanContext.spanId && spanContext.spanId !== "0000000000000000") return spanContext.spanId;
|
|
@@ -681,7 +681,7 @@ function currentSpanId() {
|
|
|
681
681
|
*/
|
|
682
682
|
function injectTraceparent() {
|
|
683
683
|
const carrier = {};
|
|
684
|
-
|
|
684
|
+
_opentelemetry_api.propagation.inject(_opentelemetry_api.context.active(), carrier);
|
|
685
685
|
return carrier.traceparent;
|
|
686
686
|
}
|
|
687
687
|
/**
|
|
@@ -689,14 +689,14 @@ function injectTraceparent() {
|
|
|
689
689
|
*/
|
|
690
690
|
function extractTraceparent(traceparent) {
|
|
691
691
|
const carrier = { traceparent };
|
|
692
|
-
return
|
|
692
|
+
return _opentelemetry_api.propagation.extract(_opentelemetry_api.context.active(), carrier);
|
|
693
693
|
}
|
|
694
694
|
/**
|
|
695
695
|
* Inject the current baggage into a W3C baggage header string.
|
|
696
696
|
*/
|
|
697
697
|
function injectBaggage() {
|
|
698
698
|
const carrier = {};
|
|
699
|
-
|
|
699
|
+
_opentelemetry_api.propagation.inject(_opentelemetry_api.context.active(), carrier);
|
|
700
700
|
return carrier.baggage;
|
|
701
701
|
}
|
|
702
702
|
/**
|
|
@@ -704,7 +704,7 @@ function injectBaggage() {
|
|
|
704
704
|
*/
|
|
705
705
|
function extractBaggage(baggage) {
|
|
706
706
|
const carrier = { baggage };
|
|
707
|
-
return
|
|
707
|
+
return _opentelemetry_api.propagation.extract(_opentelemetry_api.context.active(), carrier);
|
|
708
708
|
}
|
|
709
709
|
/**
|
|
710
710
|
* Extract both trace context and baggage from their respective headers.
|
|
@@ -713,36 +713,36 @@ function extractContext(traceparent, baggage) {
|
|
|
713
713
|
const carrier = {};
|
|
714
714
|
if (traceparent) carrier.traceparent = traceparent;
|
|
715
715
|
if (baggage) carrier.baggage = baggage;
|
|
716
|
-
return
|
|
716
|
+
return _opentelemetry_api.propagation.extract(_opentelemetry_api.context.active(), carrier);
|
|
717
717
|
}
|
|
718
718
|
/**
|
|
719
719
|
* Get a baggage entry from the current context.
|
|
720
720
|
*/
|
|
721
721
|
function getBaggageEntry(key) {
|
|
722
|
-
return
|
|
722
|
+
return _opentelemetry_api.propagation.getBaggage(_opentelemetry_api.context.active())?.getEntry(key)?.value;
|
|
723
723
|
}
|
|
724
724
|
/**
|
|
725
725
|
* Set a baggage entry in the current context.
|
|
726
726
|
*/
|
|
727
727
|
function setBaggageEntry(key, value) {
|
|
728
|
-
let bag =
|
|
728
|
+
let bag = _opentelemetry_api.propagation.getBaggage(_opentelemetry_api.context.active()) ?? _opentelemetry_api.propagation.createBaggage();
|
|
729
729
|
bag = bag.setEntry(key, { value });
|
|
730
|
-
return
|
|
730
|
+
return _opentelemetry_api.propagation.setBaggage(_opentelemetry_api.context.active(), bag);
|
|
731
731
|
}
|
|
732
732
|
/**
|
|
733
733
|
* Remove a baggage entry from the current context.
|
|
734
734
|
*/
|
|
735
735
|
function removeBaggageEntry(key) {
|
|
736
|
-
const bag =
|
|
737
|
-
if (!bag) return
|
|
736
|
+
const bag = _opentelemetry_api.propagation.getBaggage(_opentelemetry_api.context.active());
|
|
737
|
+
if (!bag) return _opentelemetry_api.context.active();
|
|
738
738
|
const newBag = bag.removeEntry(key);
|
|
739
|
-
return
|
|
739
|
+
return _opentelemetry_api.propagation.setBaggage(_opentelemetry_api.context.active(), newBag);
|
|
740
740
|
}
|
|
741
741
|
/**
|
|
742
742
|
* Get all baggage entries from the current context.
|
|
743
743
|
*/
|
|
744
744
|
function getAllBaggage() {
|
|
745
|
-
const bag =
|
|
745
|
+
const bag = _opentelemetry_api.propagation.getBaggage(_opentelemetry_api.context.active());
|
|
746
746
|
if (!bag) return {};
|
|
747
747
|
const entries = {};
|
|
748
748
|
for (const [key, entry] of bag.getAllEntries()) entries[key] = entry.value;
|
|
@@ -773,7 +773,7 @@ let originalFetch = null;
|
|
|
773
773
|
/**
|
|
774
774
|
* Patch globalThis.fetch to create OTel CLIENT spans for every HTTP request.
|
|
775
775
|
*/
|
|
776
|
-
function patchGlobalFetch(tracer
|
|
776
|
+
function patchGlobalFetch(tracer) {
|
|
777
777
|
if (originalFetch) return;
|
|
778
778
|
originalFetch = globalThis.fetch;
|
|
779
779
|
const capturedFetch = originalFetch;
|
|
@@ -806,13 +806,13 @@ function patchGlobalFetch(tracer$1) {
|
|
|
806
806
|
if (port) spanAttributes["server.port"] = port;
|
|
807
807
|
if (query) spanAttributes["url.query"] = query;
|
|
808
808
|
const spanName = path ? `${method} ${path}` : method;
|
|
809
|
-
return tracer
|
|
810
|
-
kind:
|
|
809
|
+
return tracer.startActiveSpan(spanName, {
|
|
810
|
+
kind: _opentelemetry_api.SpanKind.CLIENT,
|
|
811
811
|
attributes: spanAttributes
|
|
812
|
-
},
|
|
812
|
+
}, _opentelemetry_api.context.active(), async (span) => {
|
|
813
813
|
try {
|
|
814
814
|
const carrier = {};
|
|
815
|
-
|
|
815
|
+
_opentelemetry_api.propagation.inject(_opentelemetry_api.context.active(), carrier);
|
|
816
816
|
const headers = new Headers(init?.headers ?? (input instanceof Request ? input.headers : void 0));
|
|
817
817
|
for (const [key, value] of Object.entries(carrier)) headers.set(key, value);
|
|
818
818
|
for (const name of SAFE_REQUEST_HEADERS) {
|
|
@@ -837,13 +837,13 @@ function patchGlobalFetch(tracer$1) {
|
|
|
837
837
|
}
|
|
838
838
|
if (response.status >= 400) {
|
|
839
839
|
span.setAttribute("error.type", String(response.status));
|
|
840
|
-
span.setStatus({ code:
|
|
841
|
-
} else span.setStatus({ code:
|
|
840
|
+
span.setStatus({ code: _opentelemetry_api.SpanStatusCode.ERROR });
|
|
841
|
+
} else span.setStatus({ code: _opentelemetry_api.SpanStatusCode.OK });
|
|
842
842
|
return response;
|
|
843
843
|
} catch (error) {
|
|
844
844
|
span.setAttribute("error.type", error.name ?? "Error");
|
|
845
845
|
span.setStatus({
|
|
846
|
-
code:
|
|
846
|
+
code: _opentelemetry_api.SpanStatusCode.ERROR,
|
|
847
847
|
message: error.message
|
|
848
848
|
});
|
|
849
849
|
span.recordException(error);
|
|
@@ -915,38 +915,38 @@ function initOtel(config = {}) {
|
|
|
915
915
|
const serviceInstanceId = config.serviceInstanceId ?? process.env.SERVICE_INSTANCE_ID ?? (0, node_crypto.randomUUID)();
|
|
916
916
|
const engineWsUrl = config.engineWsUrl ?? process.env.III_URL ?? DEFAULT_OTEL_CONFIG.engineWsUrl;
|
|
917
917
|
const resourceAttributes = {
|
|
918
|
-
[
|
|
918
|
+
[_opentelemetry_semantic_conventions.ATTR_SERVICE_NAME]: serviceName,
|
|
919
919
|
[ATTR_SERVICE_VERSION]: serviceVersion,
|
|
920
920
|
[ATTR_SERVICE_INSTANCE_ID]: serviceInstanceId
|
|
921
921
|
};
|
|
922
922
|
if (serviceNamespace) resourceAttributes[ATTR_SERVICE_NAMESPACE] = serviceNamespace;
|
|
923
|
-
const resource = new
|
|
923
|
+
const resource = new _opentelemetry_resources.Resource(resourceAttributes);
|
|
924
924
|
sharedConnection = new SharedEngineConnection(engineWsUrl, config.reconnectionConfig);
|
|
925
|
-
tracerProvider = new
|
|
925
|
+
tracerProvider = new _opentelemetry_sdk_trace_node.NodeTracerProvider({
|
|
926
926
|
resource,
|
|
927
|
-
spanProcessors: [new
|
|
927
|
+
spanProcessors: [new _opentelemetry_sdk_trace_base.BatchSpanProcessor(new EngineSpanExporter(sharedConnection))]
|
|
928
928
|
});
|
|
929
|
-
|
|
929
|
+
_opentelemetry_api.propagation.setGlobalPropagator(new _opentelemetry_core.CompositePropagator({ propagators: [new _opentelemetry_core.W3CTraceContextPropagator(), new _opentelemetry_core.W3CBaggagePropagator()] }));
|
|
930
930
|
tracerProvider.register();
|
|
931
|
-
tracer =
|
|
931
|
+
tracer = _opentelemetry_api.trace.getTracer(serviceName);
|
|
932
932
|
console.debug(`[OTel] Traces initialized: engine=${engineWsUrl}, service=${serviceName}`);
|
|
933
933
|
if (config.metricsEnabled ?? parseBoolEnv(process.env.OTEL_METRICS_ENABLED, DEFAULT_OTEL_CONFIG.metricsEnabled)) {
|
|
934
934
|
const metricsExporter = new EngineMetricsExporter(sharedConnection);
|
|
935
935
|
const exportIntervalMs = config.metricsExportIntervalMs ?? DEFAULT_OTEL_CONFIG.metricsExportIntervalMs;
|
|
936
|
-
meterProvider = new
|
|
936
|
+
meterProvider = new _opentelemetry_sdk_metrics.MeterProvider({
|
|
937
937
|
resource,
|
|
938
|
-
readers: [new
|
|
938
|
+
readers: [new _opentelemetry_sdk_metrics.PeriodicExportingMetricReader({
|
|
939
939
|
exporter: metricsExporter,
|
|
940
940
|
exportIntervalMillis: exportIntervalMs
|
|
941
941
|
})]
|
|
942
942
|
});
|
|
943
|
-
|
|
943
|
+
_opentelemetry_api.metrics.setGlobalMeterProvider(meterProvider);
|
|
944
944
|
meter = meterProvider.getMeter(serviceName);
|
|
945
945
|
console.debug(`[OTel] Metrics initialized: interval=${exportIntervalMs}ms`);
|
|
946
946
|
}
|
|
947
947
|
const instrumentations = [...config.instrumentations ?? []];
|
|
948
948
|
if (instrumentations.length > 0) {
|
|
949
|
-
(0,
|
|
949
|
+
(0, _opentelemetry_instrumentation.registerInstrumentations)({
|
|
950
950
|
instrumentations,
|
|
951
951
|
tracerProvider,
|
|
952
952
|
meterProvider: meterProvider ?? void 0
|
|
@@ -960,8 +960,8 @@ function initOtel(config = {}) {
|
|
|
960
960
|
const logExporter = new EngineLogExporter(sharedConnection);
|
|
961
961
|
const logsScheduledDelayMillis = config.logsFlushIntervalMs ?? parseNumberEnv(process.env.OTEL_LOGS_FLUSH_INTERVAL_MS, 0) ?? DEFAULT_OTEL_CONFIG.logsFlushIntervalMs;
|
|
962
962
|
const logsMaxExportBatchSize = config.logsBatchSize ?? parseIntegerEnv(process.env.OTEL_LOGS_BATCH_SIZE, 1) ?? DEFAULT_OTEL_CONFIG.logsBatchSize;
|
|
963
|
-
loggerProvider = new
|
|
964
|
-
loggerProvider.addLogRecordProcessor(new
|
|
963
|
+
loggerProvider = new _opentelemetry_sdk_logs.LoggerProvider({ resource });
|
|
964
|
+
loggerProvider.addLogRecordProcessor(new _opentelemetry_sdk_logs.BatchLogRecordProcessor(logExporter, {
|
|
965
965
|
scheduledDelayMillis: logsScheduledDelayMillis,
|
|
966
966
|
maxExportBatchSize: logsMaxExportBatchSize
|
|
967
967
|
}));
|
|
@@ -1038,15 +1038,15 @@ async function withSpan(name, options, fn) {
|
|
|
1038
1038
|
};
|
|
1039
1039
|
return fn(noopSpan);
|
|
1040
1040
|
}
|
|
1041
|
-
const parentContext = options.traceparent ? extractTraceparent(options.traceparent) :
|
|
1042
|
-
return tracer.startActiveSpan(name, { kind: options.kind ??
|
|
1041
|
+
const parentContext = options.traceparent ? extractTraceparent(options.traceparent) : _opentelemetry_api.context.active();
|
|
1042
|
+
return tracer.startActiveSpan(name, { kind: options.kind ?? _opentelemetry_api.SpanKind.INTERNAL }, parentContext, async (span) => {
|
|
1043
1043
|
try {
|
|
1044
1044
|
const result = await fn(span);
|
|
1045
|
-
span.setStatus({ code:
|
|
1045
|
+
span.setStatus({ code: _opentelemetry_api.SpanStatusCode.OK });
|
|
1046
1046
|
return result;
|
|
1047
1047
|
} catch (error) {
|
|
1048
1048
|
span.setStatus({
|
|
1049
|
-
code:
|
|
1049
|
+
code: _opentelemetry_api.SpanStatusCode.ERROR,
|
|
1050
1050
|
message: error.message
|
|
1051
1051
|
});
|
|
1052
1052
|
span.recordException(error);
|
|
@@ -1298,4 +1298,4 @@ Object.defineProperty(exports, 'withSpan', {
|
|
|
1298
1298
|
return withSpan;
|
|
1299
1299
|
}
|
|
1300
1300
|
});
|
|
1301
|
-
//# sourceMappingURL=utils-
|
|
1301
|
+
//# sourceMappingURL=utils-C6yTT4Js.cjs.map
|