@atrim/instrument-node 0.7.1-dev.14fdea7.20260108231232 → 0.7.1-dev.14fdea7.20260108232056

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atrim/instrument-node",
3
- "version": "0.7.1-dev.14fdea7.20260108231232",
3
+ "version": "0.7.1-dev.14fdea7.20260108232056",
4
4
  "description": "OpenTelemetry instrumentation for Node.js with centralized YAML configuration",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -611,67 +611,6 @@ var loadFullConfig = (options) => effect.Effect.gen(function* () {
611
611
  }
612
612
  return config;
613
613
  });
614
-
615
- // src/integrations/effect/auto/effect-tracing.ts
616
- var createEffectTracingLayer = () => {
617
- return effect.Layer.unwrapEffect(
618
- effect.Effect.gen(function* () {
619
- const config = yield* loadFullConfig();
620
- const serviceName = process.env.OTEL_SERVICE_NAME || "effect-service";
621
- const serviceVersion = process.env.npm_package_version || "1.0.0";
622
- const exporterConfig = config.effect?.exporter_config ?? {
623
- type: "otlp",
624
- processor: "batch"
625
- };
626
- logger.log("@atrim/auto-trace: Effect-native tracing enabled");
627
- logger.log(` Service: ${serviceName}`);
628
- logger.log(` Exporter: ${exporterConfig.type}`);
629
- if (exporterConfig.type === "none") {
630
- logger.log('@atrim/auto-trace: Exporter type is "none", using empty layer');
631
- return effect.Layer.empty;
632
- }
633
- const createSpanProcessor = () => {
634
- if (exporterConfig.type === "console") {
635
- logger.log("@atrim/auto-trace: Using ConsoleSpanExporter with SimpleSpanProcessor");
636
- return new sdkTraceBase.SimpleSpanProcessor(new sdkTraceBase.ConsoleSpanExporter());
637
- }
638
- const endpoint = exporterConfig.endpoint || process.env.OTEL_EXPORTER_OTLP_ENDPOINT || "http://localhost:4318";
639
- logger.log(`@atrim/auto-trace: Using OTLPTraceExporter (${endpoint})`);
640
- const otlpConfig = {
641
- url: `${endpoint}/v1/traces`
642
- };
643
- if (exporterConfig.headers) {
644
- otlpConfig.headers = exporterConfig.headers;
645
- logger.log(`@atrim/auto-trace: Using custom headers: ${Object.keys(exporterConfig.headers).join(", ")}`);
646
- }
647
- const exporter = new exporterTraceOtlpHttp.OTLPTraceExporter(otlpConfig);
648
- if (exporterConfig.processor === "simple") {
649
- logger.log("@atrim/auto-trace: Using SimpleSpanProcessor");
650
- return new sdkTraceBase.SimpleSpanProcessor(exporter);
651
- }
652
- const batchConfig = exporterConfig.batch ?? {
653
- scheduled_delay_millis: 1e3,
654
- max_export_batch_size: 100
655
- };
656
- logger.log("@atrim/auto-trace: Using BatchSpanProcessor");
657
- return new sdkTraceBase.BatchSpanProcessor(exporter, {
658
- scheduledDelayMillis: batchConfig.scheduled_delay_millis,
659
- maxExportBatchSize: batchConfig.max_export_batch_size
660
- });
661
- };
662
- const sdkLayer = opentelemetry.NodeSdk.layer(() => ({
663
- resource: {
664
- serviceName,
665
- serviceVersion
666
- },
667
- spanProcessor: createSpanProcessor()
668
- }));
669
- logger.log("@atrim/auto-trace: NodeSdk layer created - HTTP requests will be auto-traced");
670
- return effect.Layer.discard(sdkLayer);
671
- })
672
- );
673
- };
674
- var EffectTracingLive = createEffectTracingLayer();
675
614
  var compiledRulesCache = /* @__PURE__ */ new WeakMap();
676
615
  function compileNamingRules(rules) {
677
616
  const cached = compiledRulesCache.get(rules);
@@ -1156,6 +1095,142 @@ var createFullAutoTracingLayer = () => {
1156
1095
  };
1157
1096
  var FullAutoTracingLive = createFullAutoTracingLayer();
1158
1097
 
1098
+ // src/integrations/effect/auto/effect-tracing.ts
1099
+ var createEffectTracingLayer = () => {
1100
+ return effect.Layer.unwrapEffect(
1101
+ effect.Effect.gen(function* () {
1102
+ const config = yield* loadFullConfig();
1103
+ const serviceName = process.env.OTEL_SERVICE_NAME || "effect-service";
1104
+ const serviceVersion = process.env.npm_package_version || "1.0.0";
1105
+ const exporterConfig = config.effect?.exporter_config ?? {
1106
+ type: "otlp",
1107
+ processor: "batch"
1108
+ };
1109
+ logger.log("@atrim/auto-trace: Effect-native tracing enabled");
1110
+ logger.log(` Service: ${serviceName}`);
1111
+ logger.log(` Exporter: ${exporterConfig.type}`);
1112
+ if (exporterConfig.type === "none") {
1113
+ logger.log('@atrim/auto-trace: Exporter type is "none", using empty layer');
1114
+ return effect.Layer.empty;
1115
+ }
1116
+ const createSpanProcessor = () => {
1117
+ if (exporterConfig.type === "console") {
1118
+ logger.log("@atrim/auto-trace: Using ConsoleSpanExporter with SimpleSpanProcessor");
1119
+ return new sdkTraceBase.SimpleSpanProcessor(new sdkTraceBase.ConsoleSpanExporter());
1120
+ }
1121
+ const endpoint = exporterConfig.endpoint || process.env.OTEL_EXPORTER_OTLP_ENDPOINT || "http://localhost:4318";
1122
+ logger.log(`@atrim/auto-trace: Using OTLPTraceExporter (${endpoint})`);
1123
+ const otlpConfig = {
1124
+ url: `${endpoint}/v1/traces`
1125
+ };
1126
+ if (exporterConfig.headers) {
1127
+ otlpConfig.headers = exporterConfig.headers;
1128
+ logger.log(`@atrim/auto-trace: Using custom headers: ${Object.keys(exporterConfig.headers).join(", ")}`);
1129
+ }
1130
+ const exporter = new exporterTraceOtlpHttp.OTLPTraceExporter(otlpConfig);
1131
+ if (exporterConfig.processor === "simple") {
1132
+ logger.log("@atrim/auto-trace: Using SimpleSpanProcessor");
1133
+ return new sdkTraceBase.SimpleSpanProcessor(exporter);
1134
+ }
1135
+ const batchConfig = exporterConfig.batch ?? {
1136
+ scheduled_delay_millis: 1e3,
1137
+ max_export_batch_size: 100
1138
+ };
1139
+ logger.log("@atrim/auto-trace: Using BatchSpanProcessor");
1140
+ return new sdkTraceBase.BatchSpanProcessor(exporter, {
1141
+ scheduledDelayMillis: batchConfig.scheduled_delay_millis,
1142
+ maxExportBatchSize: batchConfig.max_export_batch_size
1143
+ });
1144
+ };
1145
+ const sdkLayer = opentelemetry.NodeSdk.layer(() => ({
1146
+ resource: {
1147
+ serviceName,
1148
+ serviceVersion
1149
+ },
1150
+ spanProcessor: createSpanProcessor()
1151
+ }));
1152
+ logger.log("@atrim/auto-trace: NodeSdk layer created - HTTP requests will be auto-traced");
1153
+ return effect.Layer.discard(sdkLayer);
1154
+ })
1155
+ );
1156
+ };
1157
+ var EffectTracingLive = createEffectTracingLayer();
1158
+ var createCombinedTracingLayer = () => {
1159
+ return effect.Layer.unwrapEffect(
1160
+ effect.Effect.gen(function* () {
1161
+ const config = yield* loadFullConfig();
1162
+ const serviceName = process.env.OTEL_SERVICE_NAME || "effect-service";
1163
+ const serviceVersion = process.env.npm_package_version || "1.0.0";
1164
+ const exporterConfig = config.effect?.exporter_config ?? {
1165
+ type: "otlp",
1166
+ processor: "batch"
1167
+ };
1168
+ const autoConfig = config.effect?.auto_instrumentation ?? {
1169
+ enabled: true,
1170
+ granularity: "fiber",
1171
+ span_naming: {
1172
+ default: "effect.{function}",
1173
+ infer_from_source: true,
1174
+ rules: []
1175
+ },
1176
+ filter: { include: [], exclude: [] },
1177
+ performance: { sampling_rate: 1, min_duration: "0ms", max_concurrent: 0 },
1178
+ metadata: { fiber_info: true, source_location: true, parent_fiber: true }
1179
+ };
1180
+ logger.log("@atrim/auto-trace: Combined tracing enabled (HTTP + Fiber)");
1181
+ logger.log(` Service: ${serviceName}`);
1182
+ logger.log(` Exporter: ${exporterConfig.type}`);
1183
+ if (exporterConfig.type === "none") {
1184
+ logger.log('@atrim/auto-trace: Exporter type is "none", using empty layer');
1185
+ return effect.Layer.empty;
1186
+ }
1187
+ const createSpanProcessor = () => {
1188
+ if (exporterConfig.type === "console") {
1189
+ logger.log("@atrim/auto-trace: Using ConsoleSpanExporter with SimpleSpanProcessor");
1190
+ return new sdkTraceBase.SimpleSpanProcessor(new sdkTraceBase.ConsoleSpanExporter());
1191
+ }
1192
+ const endpoint = exporterConfig.endpoint || process.env.OTEL_EXPORTER_OTLP_ENDPOINT || "http://localhost:4318";
1193
+ logger.log(`@atrim/auto-trace: Using OTLPTraceExporter (${endpoint})`);
1194
+ const otlpConfig = {
1195
+ url: `${endpoint}/v1/traces`
1196
+ };
1197
+ if (exporterConfig.headers) {
1198
+ otlpConfig.headers = exporterConfig.headers;
1199
+ logger.log(`@atrim/auto-trace: Using custom headers: ${Object.keys(exporterConfig.headers).join(", ")}`);
1200
+ }
1201
+ const exporter = new exporterTraceOtlpHttp.OTLPTraceExporter(otlpConfig);
1202
+ if (exporterConfig.processor === "simple") {
1203
+ logger.log("@atrim/auto-trace: Using SimpleSpanProcessor");
1204
+ return new sdkTraceBase.SimpleSpanProcessor(exporter);
1205
+ }
1206
+ const batchConfig = exporterConfig.batch ?? {
1207
+ scheduled_delay_millis: 1e3,
1208
+ max_export_batch_size: 100
1209
+ };
1210
+ logger.log("@atrim/auto-trace: Using BatchSpanProcessor");
1211
+ return new sdkTraceBase.BatchSpanProcessor(exporter, {
1212
+ scheduledDelayMillis: batchConfig.scheduled_delay_millis,
1213
+ maxExportBatchSize: batchConfig.max_export_batch_size
1214
+ });
1215
+ };
1216
+ const sdkLayer = opentelemetry.NodeSdk.layer(() => ({
1217
+ resource: {
1218
+ serviceName,
1219
+ serviceVersion
1220
+ },
1221
+ spanProcessor: createSpanProcessor()
1222
+ }));
1223
+ const supervisor = createAutoTracingSupervisor(autoConfig);
1224
+ const supervisorLayer = effect.Supervisor.addSupervisor(supervisor);
1225
+ logger.log("@atrim/auto-trace: Combined layer created");
1226
+ logger.log(" - HTTP requests: auto-traced via Effect platform");
1227
+ logger.log(" - Forked fibers: auto-traced via Supervisor");
1228
+ return effect.Layer.mergeAll(effect.Layer.discard(sdkLayer), supervisorLayer);
1229
+ })
1230
+ );
1231
+ };
1232
+ var CombinedTracingLive = createCombinedTracingLayer();
1233
+
1159
1234
  exports.AutoTracingConfig = AutoTracingConfig;
1160
1235
  exports.AutoTracingConfigLayer = AutoTracingConfigLayer;
1161
1236
  exports.AutoTracingConfigLive = AutoTracingConfigLive;
@@ -1163,10 +1238,12 @@ exports.AutoTracingEnabled = AutoTracingEnabled;
1163
1238
  exports.AutoTracingLive = AutoTracingLive;
1164
1239
  exports.AutoTracingSpanName = AutoTracingSpanName;
1165
1240
  exports.AutoTracingSupervisor = AutoTracingSupervisor;
1241
+ exports.CombinedTracingLive = CombinedTracingLive;
1166
1242
  exports.EffectTracingLive = EffectTracingLive;
1167
1243
  exports.FullAutoTracingLive = FullAutoTracingLive;
1168
1244
  exports.createAutoTracingLayer = createAutoTracingLayer;
1169
1245
  exports.createAutoTracingSupervisor = createAutoTracingSupervisor;
1246
+ exports.createCombinedTracingLayer = createCombinedTracingLayer;
1170
1247
  exports.createEffectTracingLayer = createEffectTracingLayer;
1171
1248
  exports.createFullAutoTracingLayer = createFullAutoTracingLayer;
1172
1249
  exports.defaultAutoTracingConfig = defaultAutoTracingConfig;