@blaxel/telemetry 0.2.17-dev.115 → 0.2.17-dev.117
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.js +50 -0
- package/package.json +2 -2
package/dist/telemetry.js
CHANGED
|
@@ -192,6 +192,7 @@ class TelemetryManager {
|
|
|
192
192
|
});
|
|
193
193
|
}
|
|
194
194
|
instrumentApp() {
|
|
195
|
+
core_1.logger.debug("Available propagation fields before setup:", api_1.propagation.fields());
|
|
195
196
|
core_1.telemetryRegistry.registerProvider(new telemetry_provider_1.OtelTelemetryProvider());
|
|
196
197
|
const httpInstrumentation = new instrumentation_http_1.HttpInstrumentation({
|
|
197
198
|
requireParentforOutgoingSpans: true,
|
|
@@ -211,6 +212,51 @@ class TelemetryManager {
|
|
|
211
212
|
"x-blaxel-workspace": headers["x-blaxel-workspace"],
|
|
212
213
|
};
|
|
213
214
|
core_1.logger.debug("Trace context headers:", JSON.stringify(traceHeaders));
|
|
215
|
+
// Manual trace context extraction for debugging
|
|
216
|
+
if (headers.traceparent) {
|
|
217
|
+
try {
|
|
218
|
+
const traceparentValue = Array.isArray(headers.traceparent)
|
|
219
|
+
? headers.traceparent[0]
|
|
220
|
+
: headers.traceparent;
|
|
221
|
+
core_1.logger.debug("Manual traceparent parsing:", traceparentValue);
|
|
222
|
+
// Try to manually parse the traceparent header
|
|
223
|
+
const parts = traceparentValue.split("-");
|
|
224
|
+
if (parts.length === 4) {
|
|
225
|
+
core_1.logger.debug("Traceparent parts:", {
|
|
226
|
+
version: parts[0],
|
|
227
|
+
traceId: parts[1],
|
|
228
|
+
spanId: parts[2],
|
|
229
|
+
flags: parts[3],
|
|
230
|
+
});
|
|
231
|
+
// Check if this looks like a valid traceparent
|
|
232
|
+
if (parts[1] !== "00000000000000000000000000000000" &&
|
|
233
|
+
parts[2] !== "0000000000000000") {
|
|
234
|
+
core_1.logger.debug("Traceparent appears valid - extraction should work");
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
core_1.logger.debug("Traceparent contains invalid IDs");
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Extract trace context manually to see what should be extracted
|
|
241
|
+
const extractedContext = api_1.propagation.extract(api_1.context.active(), headers);
|
|
242
|
+
const extractedSpan = api_1.trace.getSpan(extractedContext);
|
|
243
|
+
if (extractedSpan) {
|
|
244
|
+
const extractedSpanContext = extractedSpan.spanContext();
|
|
245
|
+
core_1.logger.debug("Manual context extraction result:", JSON.stringify({
|
|
246
|
+
traceId: extractedSpanContext.traceId,
|
|
247
|
+
spanId: extractedSpanContext.spanId,
|
|
248
|
+
traceFlags: extractedSpanContext.traceFlags,
|
|
249
|
+
}));
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
core_1.logger.debug("Manual context extraction failed - no span found");
|
|
253
|
+
core_1.logger.debug("Available propagation fields:", api_1.propagation.fields());
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
core_1.logger.debug("Manual context extraction error:", error);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
214
260
|
// Log the span context that was created from the incoming request
|
|
215
261
|
const spanContext = span.spanContext();
|
|
216
262
|
core_1.logger.debug("HTTP span context:", JSON.stringify({
|
|
@@ -234,6 +280,8 @@ class TelemetryManager {
|
|
|
234
280
|
});
|
|
235
281
|
}
|
|
236
282
|
setExporters() {
|
|
283
|
+
// Log current propagators for debugging
|
|
284
|
+
core_1.logger.debug("Current propagators:", api_1.propagation.fields());
|
|
237
285
|
const resource = new BlaxelResource(this.resourceAttributes);
|
|
238
286
|
const logExporter = this.getLogExporter();
|
|
239
287
|
this.loggerProvider = new sdk_logs_1.LoggerProvider({
|
|
@@ -256,6 +304,8 @@ class TelemetryManager {
|
|
|
256
304
|
],
|
|
257
305
|
});
|
|
258
306
|
this.nodeTracerProvider.register();
|
|
307
|
+
// Ensure W3C trace context propagation is working
|
|
308
|
+
core_1.logger.debug("Propagation fields after tracer registration:", api_1.propagation.fields());
|
|
259
309
|
const metricExporter = this.getMetricExporter();
|
|
260
310
|
this.meterProvider = new sdk_metrics_1.MeterProvider({
|
|
261
311
|
resource,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaxel/telemetry",
|
|
3
|
-
"version": "0.2.17-dev.
|
|
3
|
+
"version": "0.2.17-dev.117",
|
|
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.17-dev.
|
|
74
|
+
"@blaxel/core": "0.2.17-dev.117"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@eslint/js": "^9.26.0",
|