@blaxel/telemetry 0.2.18-dev.136 → 0.2.18-dev.137
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/telemetry.d.ts +1 -0
- package/dist/telemetry.js +49 -1
- package/package.json +2 -2
package/dist/telemetry.d.ts
CHANGED
package/dist/telemetry.js
CHANGED
|
@@ -192,22 +192,67 @@ class TelemetryManager {
|
|
|
192
192
|
});
|
|
193
193
|
}
|
|
194
194
|
instrumentApp() {
|
|
195
|
+
// Setup telemetry provider first
|
|
195
196
|
core_1.telemetryRegistry.registerProvider(new telemetry_provider_1.OtelTelemetryProvider());
|
|
197
|
+
// Setup TracerProvider and other providers BEFORE instrumentation
|
|
198
|
+
this.setupProviders();
|
|
196
199
|
const httpInstrumentation = new instrumentation_http_1.HttpInstrumentation({
|
|
197
|
-
requireParentforOutgoingSpans:
|
|
200
|
+
requireParentforOutgoingSpans: false, // Allow spans from incoming headers
|
|
201
|
+
requestHook: (span) => {
|
|
202
|
+
// Debug incoming trace headers
|
|
203
|
+
console.log("=== HTTP INSTRUMENTATION REQUEST HOOK ===");
|
|
204
|
+
// Check current span context after HTTP instrumentation processes headers
|
|
205
|
+
const activeSpan = api_1.trace.getActiveSpan();
|
|
206
|
+
if (activeSpan) {
|
|
207
|
+
console.log("Active span in request hook:", {
|
|
208
|
+
traceId: activeSpan.spanContext().traceId,
|
|
209
|
+
spanId: activeSpan.spanContext().spanId,
|
|
210
|
+
traceFlags: activeSpan.spanContext().traceFlags,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
console.log("No active span found in request hook");
|
|
215
|
+
}
|
|
216
|
+
console.log("Current span from hook parameter:", {
|
|
217
|
+
traceId: span.spanContext().traceId,
|
|
218
|
+
spanId: span.spanContext().spanId,
|
|
219
|
+
traceFlags: span.spanContext().traceFlags,
|
|
220
|
+
});
|
|
221
|
+
console.log("=== END HTTP INSTRUMENTATION REQUEST HOOK ===");
|
|
222
|
+
},
|
|
198
223
|
});
|
|
199
224
|
(0, instrumentation_1.registerInstrumentations)({
|
|
200
225
|
instrumentations: [httpInstrumentation],
|
|
201
226
|
});
|
|
202
227
|
}
|
|
228
|
+
setupProviders() {
|
|
229
|
+
const resource = new BlaxelResource(this.resourceAttributes);
|
|
230
|
+
// Setup TracerProvider first - this is critical for context propagation
|
|
231
|
+
this.nodeTracerProvider = new sdk_trace_node_1.NodeTracerProvider({
|
|
232
|
+
resource,
|
|
233
|
+
sampler: new sdk_trace_node_1.AlwaysOnSampler(),
|
|
234
|
+
spanProcessors: [
|
|
235
|
+
new DefaultAttributesSpanProcessor({
|
|
236
|
+
"workload.id": core_1.settings.name || "",
|
|
237
|
+
"workload.type": core_1.settings.type ? core_1.settings.type + "s" : "",
|
|
238
|
+
workspace: core_1.settings.workspace || "",
|
|
239
|
+
}),
|
|
240
|
+
],
|
|
241
|
+
});
|
|
242
|
+
// Register the tracer provider BEFORE any instrumentation
|
|
243
|
+
this.nodeTracerProvider.register();
|
|
244
|
+
console.log("TracerProvider registered - ready for context propagation");
|
|
245
|
+
}
|
|
203
246
|
setExporters() {
|
|
204
247
|
const resource = new BlaxelResource(this.resourceAttributes);
|
|
248
|
+
// Setup logging
|
|
205
249
|
const logExporter = this.getLogExporter();
|
|
206
250
|
this.loggerProvider = new sdk_logs_1.LoggerProvider({
|
|
207
251
|
resource,
|
|
208
252
|
});
|
|
209
253
|
this.loggerProvider.addLogRecordProcessor(new sdk_logs_1.BatchLogRecordProcessor(logExporter));
|
|
210
254
|
api_logs_1.logs.setGlobalLoggerProvider(this.loggerProvider);
|
|
255
|
+
// Recreate TracerProvider with exporters - this ensures proper initialization
|
|
211
256
|
const traceExporter = this.getTraceExporter();
|
|
212
257
|
this.nodeTracerProvider = new sdk_trace_node_1.NodeTracerProvider({
|
|
213
258
|
resource,
|
|
@@ -222,7 +267,10 @@ class TelemetryManager {
|
|
|
222
267
|
new HasBeenProcessedSpanProcessor(traceExporter),
|
|
223
268
|
],
|
|
224
269
|
});
|
|
270
|
+
// Re-register the tracer provider with exporters
|
|
225
271
|
this.nodeTracerProvider.register();
|
|
272
|
+
console.log("TracerProvider re-registered with exporters");
|
|
273
|
+
// Setup metrics
|
|
226
274
|
const metricExporter = this.getMetricExporter();
|
|
227
275
|
this.meterProvider = new sdk_metrics_1.MeterProvider({
|
|
228
276
|
resource,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaxel/telemetry",
|
|
3
|
-
"version": "0.2.18-dev.
|
|
3
|
+
"version": "0.2.18-dev.137",
|
|
4
4
|
"description": "Blaxel SDK for TypeScript",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Blaxel, INC (https://blaxel.ai)",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@opentelemetry/sdk-trace-base": "^2.0.0",
|
|
72
72
|
"@opentelemetry/sdk-trace-node": "^2.0.0",
|
|
73
73
|
"ai": "^4.3.13",
|
|
74
|
-
"@blaxel/core": "0.2.18-dev.
|
|
74
|
+
"@blaxel/core": "0.2.18-dev.137"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@eslint/js": "^9.26.0",
|