@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 +1 -1
- package/target/dist/integrations/effect/auto/index.cjs +138 -61
- package/target/dist/integrations/effect/auto/index.cjs.map +1 -1
- package/target/dist/integrations/effect/auto/index.d.cts +48 -1
- package/target/dist/integrations/effect/auto/index.d.ts +48 -1
- package/target/dist/integrations/effect/auto/index.js +138 -63
- package/target/dist/integrations/effect/auto/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atrim/instrument-node",
|
|
3
|
-
"version": "0.7.1-dev.14fdea7.
|
|
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;
|