@blaxel/telemetry 0.2.17-dev.118 → 0.2.17-dev.119

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.
@@ -58,6 +58,7 @@ declare class TelemetryManager {
58
58
  * Initialize and return the OTLP Log Exporter.
59
59
  */
60
60
  getLogExporter(): OTLPLogExporter;
61
+ setupTracerProvider(): void;
61
62
  instrumentApp(): void;
62
63
  setExporters(): void;
63
64
  shutdownApp(): Promise<void>;
package/dist/telemetry.js CHANGED
@@ -13,6 +13,9 @@ const resources_1 = require("@opentelemetry/resources");
13
13
  const sdk_logs_1 = require("@opentelemetry/sdk-logs");
14
14
  const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
15
15
  const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
16
+ // W3CTraceContextPropagator import - trying different paths
17
+ // import { W3CTraceContextPropagator } from "@opentelemetry/core";
18
+ // import { W3CTraceContextPropagator } from "@opentelemetry/sdk-trace-base";
16
19
  const telemetry_provider_1 = require("./telemetry_provider");
17
20
  class BlaxelResource {
18
21
  attributes;
@@ -191,8 +194,22 @@ class TelemetryManager {
191
194
  headers: this.authHeaders,
192
195
  });
193
196
  }
197
+ setupTracerProvider() {
198
+ if (this.nodeTracerProvider) {
199
+ return; // Already set up
200
+ }
201
+ const resource = new BlaxelResource(this.resourceAttributes);
202
+ this.nodeTracerProvider = new sdk_trace_node_1.NodeTracerProvider({
203
+ resource,
204
+ sampler: new sdk_trace_node_1.AlwaysOnSampler(),
205
+ });
206
+ this.nodeTracerProvider.register();
207
+ core_1.logger.debug("NodeTracerProvider registered early - propagation fields:", api_1.propagation.fields());
208
+ }
194
209
  instrumentApp() {
195
210
  core_1.logger.debug("Available propagation fields before setup:", api_1.propagation.fields());
211
+ // Set up tracer provider FIRST before instrumentation
212
+ this.setupTracerProvider();
196
213
  core_1.telemetryRegistry.registerProvider(new telemetry_provider_1.OtelTelemetryProvider());
197
214
  const httpInstrumentation = new instrumentation_http_1.HttpInstrumentation({
198
215
  requireParentforOutgoingSpans: true,
@@ -290,20 +307,23 @@ class TelemetryManager {
290
307
  this.loggerProvider.addLogRecordProcessor(new sdk_logs_1.BatchLogRecordProcessor(logExporter));
291
308
  api_logs_1.logs.setGlobalLoggerProvider(this.loggerProvider);
292
309
  const traceExporter = this.getTraceExporter();
293
- this.nodeTracerProvider = new sdk_trace_node_1.NodeTracerProvider({
294
- resource,
295
- sampler: new sdk_trace_node_1.AlwaysOnSampler(),
296
- spanProcessors: [
297
- new DefaultAttributesSpanProcessor({
298
- "workload.id": core_1.settings.name || "",
299
- "workload.type": core_1.settings.type ? core_1.settings.type + "s" : "",
300
- workspace: core_1.settings.workspace || "",
301
- }),
302
- new sdk_trace_node_1.BatchSpanProcessor(traceExporter),
303
- new HasBeenProcessedSpanProcessor(traceExporter),
304
- ],
305
- });
306
- this.nodeTracerProvider.register();
310
+ if (!this.nodeTracerProvider) {
311
+ // Create tracer provider if not already created
312
+ this.nodeTracerProvider = new sdk_trace_node_1.NodeTracerProvider({
313
+ resource,
314
+ sampler: new sdk_trace_node_1.AlwaysOnSampler(),
315
+ spanProcessors: [
316
+ new DefaultAttributesSpanProcessor({
317
+ "workload.id": core_1.settings.name || "",
318
+ "workload.type": core_1.settings.type ? core_1.settings.type + "s" : "",
319
+ workspace: core_1.settings.workspace || "",
320
+ }),
321
+ new sdk_trace_node_1.BatchSpanProcessor(traceExporter),
322
+ new HasBeenProcessedSpanProcessor(traceExporter),
323
+ ],
324
+ });
325
+ this.nodeTracerProvider.register();
326
+ }
307
327
  // Ensure W3C trace context propagation is working
308
328
  core_1.logger.debug("Propagation fields after tracer registration:", api_1.propagation.fields());
309
329
  const metricExporter = this.getMetricExporter();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaxel/telemetry",
3
- "version": "0.2.17-dev.118",
3
+ "version": "0.2.17-dev.119",
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.118"
74
+ "@blaxel/core": "0.2.17-dev.119"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@eslint/js": "^9.26.0",