@atrim/instrument-node 0.5.0-14fdea7-20260109020503 → 0.5.0-14fdea7-20260109021638
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/package.json +1 -1
- package/target/dist/integrations/effect/auto/index.cjs +38 -11
- package/target/dist/integrations/effect/auto/index.cjs.map +1 -1
- package/target/dist/integrations/effect/auto/index.d.cts +4 -3
- package/target/dist/integrations/effect/auto/index.d.ts +4 -3
- package/target/dist/integrations/effect/auto/index.js +39 -12
- package/target/dist/integrations/effect/auto/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -731,7 +731,7 @@ function sanitizeSpanName(name) {
|
|
|
731
731
|
var AutoTracingEnabled = effect.FiberRef.unsafeMake(true);
|
|
732
732
|
var AutoTracingSpanName = effect.FiberRef.unsafeMake(effect.Option.none());
|
|
733
733
|
var AutoTracingSupervisor = class extends effect.Supervisor.AbstractSupervisor {
|
|
734
|
-
constructor(config) {
|
|
734
|
+
constructor(config, tracerProvider) {
|
|
735
735
|
super();
|
|
736
736
|
this.config = config;
|
|
737
737
|
// WeakMap to associate fibers with their OTel spans
|
|
@@ -740,6 +740,8 @@ var AutoTracingSupervisor = class extends effect.Supervisor.AbstractSupervisor {
|
|
|
740
740
|
__publicField(this, "fiberStartTimes", /* @__PURE__ */ new WeakMap());
|
|
741
741
|
// OpenTelemetry tracer - lazily initialized
|
|
742
742
|
__publicField(this, "_tracer", null);
|
|
743
|
+
// Optional TracerProvider (if provided, use this instead of global)
|
|
744
|
+
__publicField(this, "tracerProvider", null);
|
|
743
745
|
// Compiled filter patterns
|
|
744
746
|
__publicField(this, "includePatterns");
|
|
745
747
|
__publicField(this, "excludePatterns");
|
|
@@ -747,6 +749,10 @@ var AutoTracingSupervisor = class extends effect.Supervisor.AbstractSupervisor {
|
|
|
747
749
|
__publicField(this, "activeFiberCount", 0);
|
|
748
750
|
// Root span for parent context (set by withAutoTracing)
|
|
749
751
|
__publicField(this, "_rootSpan", null);
|
|
752
|
+
if (tracerProvider) {
|
|
753
|
+
this.tracerProvider = tracerProvider;
|
|
754
|
+
logger.log("@atrim/auto-trace: Using provided TracerProvider");
|
|
755
|
+
}
|
|
750
756
|
this.includePatterns = (config.filter?.include || []).map((p) => new RegExp(p));
|
|
751
757
|
this.excludePatterns = (config.filter?.exclude || []).map((p) => new RegExp(p));
|
|
752
758
|
logger.log("@atrim/auto-trace: Supervisor initialized");
|
|
@@ -761,11 +767,17 @@ var AutoTracingSupervisor = class extends effect.Supervisor.AbstractSupervisor {
|
|
|
761
767
|
this._rootSpan = span;
|
|
762
768
|
}
|
|
763
769
|
/**
|
|
764
|
-
* Get the tracer lazily -
|
|
770
|
+
* Get the tracer lazily - uses provided TracerProvider if available, otherwise uses global
|
|
765
771
|
*/
|
|
766
772
|
get tracer() {
|
|
767
773
|
if (!this._tracer) {
|
|
768
|
-
|
|
774
|
+
if (this.tracerProvider) {
|
|
775
|
+
logger.log("@atrim/auto-trace: Getting tracer from provided TracerProvider");
|
|
776
|
+
this._tracer = this.tracerProvider.getTracer("@atrim/auto-trace", "1.0.0");
|
|
777
|
+
} else {
|
|
778
|
+
logger.log("@atrim/auto-trace: Getting tracer from global API");
|
|
779
|
+
this._tracer = OtelApi__namespace.trace.getTracer("@atrim/auto-trace", "1.0.0");
|
|
780
|
+
}
|
|
769
781
|
}
|
|
770
782
|
return this._tracer;
|
|
771
783
|
}
|
|
@@ -969,8 +981,8 @@ var AutoTracingSupervisor = class extends effect.Supervisor.AbstractSupervisor {
|
|
|
969
981
|
}
|
|
970
982
|
}
|
|
971
983
|
};
|
|
972
|
-
var createAutoTracingSupervisor = (config) => {
|
|
973
|
-
return new AutoTracingSupervisor(config);
|
|
984
|
+
var createAutoTracingSupervisor = (config, tracerProvider) => {
|
|
985
|
+
return new AutoTracingSupervisor(config, tracerProvider);
|
|
974
986
|
};
|
|
975
987
|
var createAutoTracingLayer = (options) => {
|
|
976
988
|
return effect.Layer.unwrapEffect(
|
|
@@ -1238,12 +1250,27 @@ var createCombinedTracingLayer = () => {
|
|
|
1238
1250
|
},
|
|
1239
1251
|
spanProcessor: createSpanProcessor()
|
|
1240
1252
|
}));
|
|
1241
|
-
const
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1253
|
+
const supervisorLayer = effect.Layer.unwrapScoped(
|
|
1254
|
+
effect.Effect.gen(function* () {
|
|
1255
|
+
const tracerProvider = yield* effect.Effect.serviceOption(opentelemetry.Tracer.OtelTracerProvider);
|
|
1256
|
+
if (effect.Option.isSome(tracerProvider)) {
|
|
1257
|
+
logger.log("@atrim/auto-trace: Got TracerProvider from NodeSdk layer");
|
|
1258
|
+
const supervisor = createAutoTracingSupervisor(autoConfig, tracerProvider.value);
|
|
1259
|
+
logger.log("@atrim/auto-trace: Combined layer created");
|
|
1260
|
+
logger.log(" - HTTP requests: auto-traced via Effect platform");
|
|
1261
|
+
logger.log(" - Forked fibers: auto-traced via Supervisor");
|
|
1262
|
+
return effect.Supervisor.addSupervisor(supervisor);
|
|
1263
|
+
} else {
|
|
1264
|
+
logger.log("@atrim/auto-trace: WARNING: No TracerProvider found, creating supervisor without it");
|
|
1265
|
+
const supervisor = createAutoTracingSupervisor(autoConfig);
|
|
1266
|
+
logger.log("@atrim/auto-trace: Combined layer created (fallback)");
|
|
1267
|
+
logger.log(" - HTTP requests: auto-traced via Effect platform");
|
|
1268
|
+
logger.log(" - Forked fibers: auto-traced via Supervisor");
|
|
1269
|
+
return effect.Supervisor.addSupervisor(supervisor);
|
|
1270
|
+
}
|
|
1271
|
+
})
|
|
1272
|
+
);
|
|
1273
|
+
return supervisorLayer.pipe(effect.Layer.provide(effect.Layer.discard(sdkLayer)));
|
|
1247
1274
|
})
|
|
1248
1275
|
);
|
|
1249
1276
|
};
|