@microsoft/opentelemetry 0.1.0-beta.1 → 1.0.1

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.
Files changed (132) hide show
  1. package/README.md +27 -11
  2. package/dist/commonjs/a365/configuration/A365Configuration.d.ts +32 -0
  3. package/dist/commonjs/a365/configuration/A365Configuration.d.ts.map +1 -1
  4. package/dist/commonjs/a365/configuration/A365Configuration.js +73 -4
  5. package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
  6. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +49 -0
  7. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
  8. package/dist/commonjs/a365/constants.d.ts +1 -1
  9. package/dist/commonjs/a365/constants.d.ts.map +1 -1
  10. package/dist/commonjs/a365/hosting/types.d.ts +1 -1
  11. package/dist/commonjs/a365/hosting/types.d.ts.map +1 -1
  12. package/dist/commonjs/azureMonitor/index.d.ts +9 -1
  13. package/dist/commonjs/azureMonitor/index.d.ts.map +1 -1
  14. package/dist/commonjs/azureMonitor/index.js +13 -18
  15. package/dist/commonjs/azureMonitor/index.js.map +1 -1
  16. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.js +1 -1
  17. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.js.map +1 -1
  18. package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.d.ts.map +1 -1
  19. package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.js +4 -6
  20. package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.js.map +1 -1
  21. package/dist/commonjs/distro/distro.d.ts +3 -1
  22. package/dist/commonjs/distro/distro.d.ts.map +1 -1
  23. package/dist/commonjs/distro/distro.js +128 -45
  24. package/dist/commonjs/distro/distro.js.map +1 -1
  25. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +3 -1
  26. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  27. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js +60 -9
  28. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  29. package/dist/commonjs/sdkstats/index.d.ts +18 -0
  30. package/dist/commonjs/sdkstats/index.d.ts.map +1 -0
  31. package/dist/commonjs/sdkstats/index.js +37 -0
  32. package/dist/commonjs/sdkstats/index.js.map +1 -0
  33. package/dist/commonjs/sdkstats/manager.d.ts +31 -0
  34. package/dist/commonjs/sdkstats/manager.d.ts.map +1 -0
  35. package/dist/commonjs/sdkstats/manager.js +190 -0
  36. package/dist/commonjs/sdkstats/manager.js.map +1 -0
  37. package/dist/commonjs/sdkstats/metrics.d.ts +20 -0
  38. package/dist/commonjs/sdkstats/metrics.d.ts.map +1 -0
  39. package/dist/commonjs/sdkstats/metrics.js +84 -0
  40. package/dist/commonjs/sdkstats/metrics.js.map +1 -0
  41. package/dist/commonjs/sdkstats/state.d.ts +58 -0
  42. package/dist/commonjs/sdkstats/state.d.ts.map +1 -0
  43. package/dist/commonjs/sdkstats/state.js +94 -0
  44. package/dist/commonjs/sdkstats/state.js.map +1 -0
  45. package/dist/commonjs/types.d.ts +6 -2
  46. package/dist/commonjs/types.d.ts.map +1 -1
  47. package/dist/commonjs/types.js +5 -1
  48. package/dist/commonjs/types.js.map +1 -1
  49. package/dist/commonjs/utils/common.js +2 -2
  50. package/dist/commonjs/utils/common.js.map +1 -1
  51. package/dist/commonjs/utils/index.d.ts +2 -0
  52. package/dist/commonjs/utils/index.d.ts.map +1 -1
  53. package/dist/commonjs/utils/index.js +5 -1
  54. package/dist/commonjs/utils/index.js.map +1 -1
  55. package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.d.ts.map +1 -0
  56. package/dist/commonjs/{azureMonitor/utils → utils}/opentelemetryInstrumentationPatcher.js +13 -11
  57. package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.js.map +1 -0
  58. package/dist/commonjs/{azureMonitor/utils → utils}/statsbeat.d.ts +1 -1
  59. package/dist/commonjs/utils/statsbeat.d.ts.map +1 -0
  60. package/dist/commonjs/{azureMonitor/utils → utils}/statsbeat.js +8 -8
  61. package/dist/commonjs/utils/statsbeat.js.map +1 -0
  62. package/dist/esm/a365/configuration/A365Configuration.d.ts +32 -0
  63. package/dist/esm/a365/configuration/A365Configuration.d.ts.map +1 -1
  64. package/dist/esm/a365/configuration/A365Configuration.js +73 -4
  65. package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
  66. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +49 -0
  67. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
  68. package/dist/esm/a365/constants.d.ts +1 -1
  69. package/dist/esm/a365/constants.d.ts.map +1 -1
  70. package/dist/esm/a365/hosting/types.d.ts +1 -1
  71. package/dist/esm/a365/hosting/types.d.ts.map +1 -1
  72. package/dist/esm/azureMonitor/index.d.ts +9 -1
  73. package/dist/esm/azureMonitor/index.d.ts.map +1 -1
  74. package/dist/esm/azureMonitor/index.js +12 -18
  75. package/dist/esm/azureMonitor/index.js.map +1 -1
  76. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.js +1 -1
  77. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.js.map +1 -1
  78. package/dist/esm/azureMonitor/metrics/quickpulse/utils.d.ts.map +1 -1
  79. package/dist/esm/azureMonitor/metrics/quickpulse/utils.js +5 -7
  80. package/dist/esm/azureMonitor/metrics/quickpulse/utils.js.map +1 -1
  81. package/dist/esm/distro/distro.d.ts +3 -1
  82. package/dist/esm/distro/distro.d.ts.map +1 -1
  83. package/dist/esm/distro/distro.js +129 -46
  84. package/dist/esm/distro/distro.js.map +1 -1
  85. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +3 -1
  86. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  87. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js +27 -9
  88. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  89. package/dist/esm/sdkstats/index.d.ts +18 -0
  90. package/dist/esm/sdkstats/index.d.ts.map +1 -0
  91. package/dist/esm/sdkstats/index.js +20 -0
  92. package/dist/esm/sdkstats/index.js.map +1 -0
  93. package/dist/esm/sdkstats/manager.d.ts +31 -0
  94. package/dist/esm/sdkstats/manager.d.ts.map +1 -0
  95. package/dist/esm/sdkstats/manager.js +186 -0
  96. package/dist/esm/sdkstats/manager.js.map +1 -0
  97. package/dist/esm/sdkstats/metrics.d.ts +20 -0
  98. package/dist/esm/sdkstats/metrics.d.ts.map +1 -0
  99. package/dist/esm/sdkstats/metrics.js +77 -0
  100. package/dist/esm/sdkstats/metrics.js.map +1 -0
  101. package/dist/esm/sdkstats/state.d.ts +58 -0
  102. package/dist/esm/sdkstats/state.d.ts.map +1 -0
  103. package/dist/esm/sdkstats/state.js +83 -0
  104. package/dist/esm/sdkstats/state.js.map +1 -0
  105. package/dist/esm/types.d.ts +6 -2
  106. package/dist/esm/types.d.ts.map +1 -1
  107. package/dist/esm/types.js +5 -1
  108. package/dist/esm/types.js.map +1 -1
  109. package/dist/esm/utils/common.js +2 -2
  110. package/dist/esm/utils/common.js.map +1 -1
  111. package/dist/esm/utils/index.d.ts +2 -0
  112. package/dist/esm/utils/index.d.ts.map +1 -1
  113. package/dist/esm/utils/index.js +2 -0
  114. package/dist/esm/utils/index.js.map +1 -1
  115. package/dist/esm/utils/opentelemetryInstrumentationPatcher.d.ts.map +1 -0
  116. package/dist/esm/{azureMonitor/utils → utils}/opentelemetryInstrumentationPatcher.js +13 -11
  117. package/dist/esm/utils/opentelemetryInstrumentationPatcher.js.map +1 -0
  118. package/dist/esm/{azureMonitor/utils → utils}/statsbeat.d.ts +1 -1
  119. package/dist/esm/utils/statsbeat.d.ts.map +1 -0
  120. package/dist/esm/{azureMonitor/utils → utils}/statsbeat.js +8 -8
  121. package/dist/esm/utils/statsbeat.js.map +1 -0
  122. package/package.json +2 -2
  123. package/dist/commonjs/azureMonitor/utils/opentelemetryInstrumentationPatcher.d.ts.map +0 -1
  124. package/dist/commonjs/azureMonitor/utils/opentelemetryInstrumentationPatcher.js.map +0 -1
  125. package/dist/commonjs/azureMonitor/utils/statsbeat.d.ts.map +0 -1
  126. package/dist/commonjs/azureMonitor/utils/statsbeat.js.map +0 -1
  127. package/dist/esm/azureMonitor/utils/opentelemetryInstrumentationPatcher.d.ts.map +0 -1
  128. package/dist/esm/azureMonitor/utils/opentelemetryInstrumentationPatcher.js.map +0 -1
  129. package/dist/esm/azureMonitor/utils/statsbeat.d.ts.map +0 -1
  130. package/dist/esm/azureMonitor/utils/statsbeat.js.map +0 -1
  131. /package/dist/commonjs/{azureMonitor/utils → utils}/opentelemetryInstrumentationPatcher.d.ts +0 -0
  132. /package/dist/esm/{azureMonitor/utils → utils}/opentelemetryInstrumentationPatcher.d.ts +0 -0
@@ -11,12 +11,15 @@ import { MetricHandler } from "../azureMonitor/metrics/index.js";
11
11
  import { TraceHandler } from "../azureMonitor/traces/handler.js";
12
12
  import { LogHandler } from "../azureMonitor/logs/index.js";
13
13
  import { AZURE_MONITOR_OPENTELEMETRY_VERSION } from "../types.js";
14
- import { patchOpenTelemetryInstrumentationEnable } from "../azureMonitor/utils/opentelemetryInstrumentationPatcher.js";
14
+ import { patchOpenTelemetryInstrumentationEnable } from "../utils/opentelemetryInstrumentationPatcher.js";
15
15
  import { parseResourceDetectorsFromEnvVar } from "../utils/common.js";
16
- import { setupAzureMonitorComponents, hasAzureMonitorConnectionString, validateAzureMonitorConfig, } from "../azureMonitor/index.js";
16
+ import { getInstance as getStatsbeatInstance } from "../utils/statsbeat.js";
17
+ import { setupAzureMonitorComponents, hasAzureMonitorConnectionString, validateAzureMonitorConfig, getAzureMonitorStatsbeatFeatures, } from "../azureMonitor/index.js";
17
18
  import { isOtlpEnabled, createOtlpComponents } from "../otlp/index.js";
18
19
  import { A365Configuration, Agent365Exporter, A365SpanProcessor } from "../a365/index.js";
19
- import { MICROSOFT_OPENTELEMETRY_VERSION } from "../types.js";
20
+ import { configureA365Logger } from "../a365/logging.js";
21
+ import { SdkStatsDistroFeature, SdkStatsManager, setSdkStatsFeature } from "../sdkstats/index.js";
22
+ import { MICROSOFT_OPENTELEMETRY_VERSION, APPLICATIONINSIGHTS_SDKSTATS_DISABLED, StatsbeatFeature, } from "../types.js";
20
23
  import { createInstrumentations, createSampler, createViews } from "./instrumentations.js";
21
24
  import { Logger } from "../shared/logging/index.js";
22
25
  process.env["AZURE_MONITOR_DISTRO_VERSION"] = AZURE_MONITOR_OPENTELEMETRY_VERSION;
@@ -87,7 +90,9 @@ export function _applyA365InstrumentationDefaults(instrumentationOptions, userIn
87
90
  * `APPLICATIONINSIGHTS_CONNECTION_STRING` env var is set; explicitly disable
88
91
  * with `options.azureMonitor.enabled = false`)
89
92
  * - OTLP HTTP (when `OTEL_EXPORTER_OTLP_ENDPOINT` is set)
90
- * - A365 (when `options.a365.enabled` is true or `ENABLE_A365_OBSERVABILITY_EXPORTER=true`)
93
+ * - A365 (when the resolved A365 config has `enabled=true`; the
94
+ * `ENABLE_A365_OBSERVABILITY_EXPORTER` env var is only considered when
95
+ * `options.a365` is provided)
91
96
  *
92
97
  * @param options - Microsoft OpenTelemetry configuration options
93
98
  */
@@ -95,18 +100,63 @@ export function useMicrosoftOpenTelemetry(options) {
95
100
  const config = new InternalConfig(options);
96
101
  patchOpenTelemetryInstrumentationEnable();
97
102
  const a365Config = new A365Configuration(options?.a365);
103
+ // Apply the resolved A365 log level (programmatic option > env var) so the
104
+ // A365 logger filter reflects user-supplied configuration instead of being
105
+ // pinned to whatever the env var was at module-load time.
106
+ if (a365Config.logLevel !== undefined) {
107
+ configureA365Logger({ logLevel: a365Config.logLevel });
108
+ }
98
109
  // Azure Monitor is enabled when configured programmatically or via JSON config.
99
110
  // An explicit `enabled: false` always wins, even if a connection string is present.
100
111
  // Connection-string validation is delegated to the Azure Monitor module.
101
112
  const azureMonitorRequested = options?.azureMonitor?.enabled !== false &&
102
113
  (!!options?.azureMonitor || hasAzureMonitorConnectionString(config));
103
114
  const azureMonitorEnabled = azureMonitorRequested && validateAzureMonitorConfig(config);
115
+ // ── SDKStats: record distro feature bits for ALL paths ──────────────────
116
+ // ── SDKStats: record distro feature bits for ALL paths ──────────────────
117
+ // These bits are emitted via SDKStats regardless of which exporter is
118
+ // active. When Azure Monitor is enabled the exporter package's own
119
+ // Statsbeat picks them up via `AZURE_MONITOR_STATSBEAT_FEATURES`; when
120
+ // it is not, the standalone `SdkStatsManager` initialised below carries
121
+ // them to the well-known Statsbeat ingestion endpoint.
122
+ const otlpActive = isOtlpEnabled();
123
+ setSdkStatsFeature(StatsbeatFeature.DISTRO);
124
+ if (a365Config.enabled) {
125
+ setSdkStatsFeature(SdkStatsDistroFeature.A365_EXPORT);
126
+ }
127
+ if (otlpActive) {
128
+ setSdkStatsFeature(SdkStatsDistroFeature.OTLP_EXPORT);
129
+ }
104
130
  // Reset dispose callback to avoid stale references from a previous initialization
105
131
  disposeAzureMonitor = undefined;
106
132
  // ── Azure Monitor components (statsbeat, browser SDK loader, etc.) ─
107
133
  if (azureMonitorEnabled) {
108
134
  disposeAzureMonitor = setupAzureMonitorComponents(config);
109
135
  }
136
+ // ── Statsbeat (feature & instrumentation tracking for all paths) ──
137
+ const statsbeatInstrumentations = {
138
+ azureSdk: config.instrumentationOptions?.azureSdk?.enabled,
139
+ mongoDb: config.instrumentationOptions?.mongoDb?.enabled,
140
+ mySql: config.instrumentationOptions?.mySql?.enabled,
141
+ postgreSql: config.instrumentationOptions?.postgreSql?.enabled,
142
+ redis: config.instrumentationOptions?.redis?.enabled,
143
+ bunyan: config.instrumentationOptions?.bunyan?.enabled,
144
+ winston: config.instrumentationOptions?.winston?.enabled,
145
+ };
146
+ const statsbeatFeatures = {
147
+ ...(azureMonitorEnabled
148
+ ? getAzureMonitorStatsbeatFeatures(config)
149
+ : {
150
+ browserSdkLoader: false,
151
+ aadHandling: false,
152
+ diskRetry: false,
153
+ aksResourceDetectorPopulation: false,
154
+ }),
155
+ a365: a365Config.enabled,
156
+ otlp: otlpActive,
157
+ customerSdkStats: process.env[APPLICATIONINSIGHTS_SDKSTATS_DISABLED]?.toLowerCase() === "true",
158
+ };
159
+ getStatsbeatInstance().setStatsbeatFeatures(statsbeatInstrumentations, statsbeatFeatures);
110
160
  // ── Register global providers ─────────────────────────────────────
111
161
  // Remove global providers in OpenTelemetry, these would be overridden if present
112
162
  metrics.disable();
@@ -153,7 +203,7 @@ export function useMicrosoftOpenTelemetry(options) {
153
203
  ...(options?.metricReaders || []),
154
204
  ];
155
205
  // ── OTLP HTTP exporters (enabled via OTEL_EXPORTER_OTLP_ENDPOINT) ─
156
- if (isOtlpEnabled()) {
206
+ if (otlpActive) {
157
207
  const otlp = createOtlpComponents();
158
208
  if (otlp.spanProcessor) {
159
209
  spanProcessors.push(otlp.spanProcessor);
@@ -165,28 +215,43 @@ export function useMicrosoftOpenTelemetry(options) {
165
215
  logRecordProcessors.push(otlp.logRecordProcessor);
166
216
  }
167
217
  }
168
- // ── A365 exporter (enabled via options.a365 or env vars) ──────────
169
- const a365ConsoleExportFallback = !a365Config.enabled && !!options?.a365;
170
- if (a365Config.enabled || a365ConsoleExportFallback) {
218
+ // ── A365 exporter (enabled when the resolved A365 config has enabled=true;
219
+ // ENABLE_A365_OBSERVABILITY_EXPORTER is only considered when options.a365
220
+ // is provided) ───────────────────────────────────────────────────────────
221
+ if (a365Config.enabled) {
171
222
  // A365SpanProcessor copies baggage (tenant, agent, session, etc.) and
172
- // telemetry.sdk.* attributes to span attributes — needed regardless of
173
- // whether the A365 exporter or console fallback is active.
223
+ // telemetry.sdk.* attributes to span attributes. Always registered when
224
+ // A365 is enabled, even if the HTTP exporter is suppressed, so downstream
225
+ // exporters (Azure Monitor, OTLP, …) still receive the enriched spans.
174
226
  spanProcessors.push(new A365SpanProcessor());
175
- }
176
- if (a365Config.enabled) {
177
- const a365Exporter = new Agent365Exporter({
178
- clusterCategory: a365Config.clusterCategory,
179
- domainOverride: a365Config.domainOverride,
180
- authScopes: a365Config.authScopes,
181
- tokenResolver: a365Config.tokenResolver,
182
- });
183
- spanProcessors.push(new BatchSpanProcessor(a365Exporter));
184
- }
185
- else if (a365ConsoleExportFallback) {
186
- // A365 options provided but exporter disabled — fall back to console export
187
- // so developers can validate spans locally (matches upstream A365 SDK behavior
188
- // when ENABLE_A365_OBSERVABILITY_EXPORTER=false).
189
- spanProcessors.push(new SimpleSpanProcessor(new ConsoleSpanExporter()));
227
+ if (a365Config.enableObservabilityExporter) {
228
+ const a365Exporter = new Agent365Exporter({
229
+ clusterCategory: a365Config.clusterCategory,
230
+ domainOverride: a365Config.domainOverride,
231
+ authScopes: a365Config.authScopes,
232
+ tokenResolver: a365Config.tokenResolver,
233
+ useS2SEndpoint: a365Config.useS2SEndpoint,
234
+ ...(a365Config.maxQueueSize !== undefined && {
235
+ maxQueueSize: a365Config.maxQueueSize,
236
+ }),
237
+ ...(a365Config.scheduledDelayMilliseconds !== undefined && {
238
+ scheduledDelayMilliseconds: a365Config.scheduledDelayMilliseconds,
239
+ }),
240
+ ...(a365Config.exporterTimeoutMilliseconds !== undefined && {
241
+ exporterTimeoutMilliseconds: a365Config.exporterTimeoutMilliseconds,
242
+ }),
243
+ ...(a365Config.httpRequestTimeoutMilliseconds !== undefined && {
244
+ httpRequestTimeoutMilliseconds: a365Config.httpRequestTimeoutMilliseconds,
245
+ }),
246
+ ...(a365Config.maxExportBatchSize !== undefined && {
247
+ maxExportBatchSize: a365Config.maxExportBatchSize,
248
+ }),
249
+ ...(a365Config.maxPayloadBytes !== undefined && {
250
+ maxPayloadBytes: a365Config.maxPayloadBytes,
251
+ }),
252
+ });
253
+ spanProcessors.push(new BatchSpanProcessor(a365Exporter));
254
+ }
190
255
  }
191
256
  // Merge views: use Azure Monitor views when available (they cover the same
192
257
  // instrumentations as createViews), otherwise fall back to the standalone views.
@@ -199,17 +264,18 @@ export function useMicrosoftOpenTelemetry(options) {
199
264
  (options?.metricReaders?.length ?? 0) > 0 ||
200
265
  (options?.logRecordProcessors?.length ?? 0) > 0;
201
266
  const consoleEnabled = options?.enableConsoleExporters ??
202
- (!azureMonitorEnabled && !isOtlpEnabled() && !a365Config.enabled && !hasCustomProcessors);
267
+ (!azureMonitorEnabled &&
268
+ !otlpActive &&
269
+ !(a365Config.enabled && a365Config.enableObservabilityExporter) &&
270
+ !hasCustomProcessors);
203
271
  if (consoleEnabled) {
204
- // Skip span console exporter when A365 fallback already added one
205
- if (!a365ConsoleExportFallback) {
206
- spanProcessors.push(new SimpleSpanProcessor(new ConsoleSpanExporter()));
207
- }
272
+ spanProcessors.push(new SimpleSpanProcessor(new ConsoleSpanExporter()));
208
273
  metricReaders.push(new PeriodicExportingMetricReader({
209
274
  exporter: new ConsoleMetricExporter(),
210
275
  exportIntervalMillis: config.metricExportIntervalMillis,
211
276
  }));
212
277
  logRecordProcessors.push(new SimpleLogRecordProcessor(new ConsoleLogRecordExporter()));
278
+ setSdkStatsFeature(SdkStatsDistroFeature.CONSOLE_EXPORT);
213
279
  }
214
280
  // ── Create and start NodeSDK ──────────────────────────────────────
215
281
  const sdkConfig = {
@@ -235,12 +301,22 @@ export function useMicrosoftOpenTelemetry(options) {
235
301
  // TODO: Enable auto-attach warning — see autoAttach.ts
236
302
  isShutdown = false;
237
303
  sdk.start();
304
+ // ── SDKStats: standalone pipeline for non-Azure-Monitor paths ─────
305
+ // When Azure Monitor is enabled the exporter package emits SDKStats
306
+ // itself (reading bits set above via `AZURE_MONITOR_STATSBEAT_FEATURES`).
307
+ // For A365-only / OTLP-only / Console-only customers we spin up our
308
+ // own MeterProvider + AzureMonitorStatsbeatExporter pipeline so the
309
+ // distro feature/instrumentation bits still reach the well-known
310
+ // statsbeat endpoint.
311
+ if (!azureMonitorEnabled) {
312
+ void SdkStatsManager.getInstance().initialize();
313
+ }
238
314
  // Initialize GenAI instrumentations after providers are registered so any
239
315
  // tracer they capture is backed by the active SDK provider.
240
316
  // When A365 defaults were applied, use the resolved config so GenAI
241
- // instrumentations are active by default even if the caller omitted
242
- // instrumentationOptions. Otherwise honour the caller's original options
243
- // to avoid initializing GenAI when it was not requested.
317
+ // instrumentations honour any A365-specific overrides. Otherwise pass the
318
+ // caller's original options (GenAI instrumentations are enabled by default
319
+ // unless explicitly disabled).
244
320
  initializeGenAIInstrumentations(applyA365Defaults ? config.instrumentationOptions : options?.instrumentationOptions);
245
321
  }
246
322
  /**
@@ -250,7 +326,9 @@ export function shutdownMicrosoftOpenTelemetry() {
250
326
  isShutdown = true;
251
327
  disposeAzureMonitor?.();
252
328
  const sdkShutdown = sdk?.shutdown() ?? Promise.resolve();
253
- return sdkShutdown.finally(() => resetGenAIInstrumentations());
329
+ return sdkShutdown
330
+ .finally(() => SdkStatsManager.getInstance().shutdown())
331
+ .finally(() => resetGenAIInstrumentations());
254
332
  }
255
333
  /**
256
334
  * Get the internal SDK instance for testing purposes
@@ -259,14 +337,21 @@ export function shutdownMicrosoftOpenTelemetry() {
259
337
  export function _getSdkInstance() {
260
338
  return sdk;
261
339
  }
340
+ // GenAI instrumentations are bootstrapped via eager dynamic imports rather than
341
+ // the OTel `InstrumentationBase` hook system used by core instrumentations
342
+ // (http, mongodb, redis, etc.). OTel instrumentations register lazy hooks that
343
+ // only fire when the user's code loads the target module, so a missing package
344
+ // is never an error. Here we eagerly import the optional @openai/agents and
345
+ // @langchain/core packages, so we must tolerate them not being installed.
346
+ // This will be migrated to upstream OTel instrumentation hooks once they are ready.
262
347
  function initializeGenAIInstrumentations(options) {
263
348
  const openAIOptions = options?.openaiAgents;
264
- if (openAIOptions && openAIOptions.enabled !== false) {
265
- void initializeOpenAIAgentsInstrumentation(openAIOptions);
349
+ if (openAIOptions?.enabled !== false) {
350
+ void initializeOpenAIAgentsInstrumentation(openAIOptions ?? {});
266
351
  }
267
352
  const langChainOptions = options?.langchain;
268
- if (langChainOptions && langChainOptions.enabled !== false) {
269
- void initializeLangChainInstrumentation(langChainOptions);
353
+ if (langChainOptions?.enabled !== false) {
354
+ void initializeLangChainInstrumentation(langChainOptions ?? {});
270
355
  }
271
356
  }
272
357
  /**
@@ -283,8 +368,7 @@ async function initializeOpenAIAgentsInstrumentation(options) {
283
368
  OpenAIAgentsTraceInstrumentor.instrument(options);
284
369
  }
285
370
  catch (error) {
286
- Logger.getInstance().warn("[GenAI] Failed to initialize OpenAI Agents instrumentation. " +
287
- "Ensure @openai/agents is installed when openaiAgents config is enabled.", error);
371
+ Logger.getInstance().debug("[GenAI] Skipping OpenAI Agents instrumentation, @openai/agents is not installed.", error);
288
372
  }
289
373
  }
290
374
  async function initializeLangChainInstrumentation(_options) {
@@ -298,8 +382,7 @@ async function initializeLangChainInstrumentation(_options) {
298
382
  LangChainTraceInstrumentor.instrument(callbackManagerModule);
299
383
  }
300
384
  catch (error) {
301
- Logger.getInstance().warn("[GenAI] Failed to initialize LangChain instrumentation. " +
302
- "Ensure @langchain/core is installed when langchain config is enabled.", error);
385
+ Logger.getInstance().debug("[GenAI] Skipping LangChain instrumentation, @langchain/core is not installed.", error);
303
386
  }
304
387
  }
305
388
  async function resetGenAIInstrumentations() {
@@ -307,15 +390,15 @@ async function resetGenAIInstrumentations() {
307
390
  const { OpenAIAgentsTraceInstrumentor } = await import("../genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js");
308
391
  OpenAIAgentsTraceInstrumentor.resetInstance();
309
392
  }
310
- catch {
311
- // Ignore when optional dependency is not installed.
393
+ catch (error) {
394
+ Logger.getInstance().debug("[GenAI] Skipping OpenAI Agents reset, @openai/agents is not installed.", error);
312
395
  }
313
396
  try {
314
397
  const { LangChainTraceInstrumentor } = await import("../genai/instrumentations/langchain/langchainTraceInstrumentor.js");
315
398
  LangChainTraceInstrumentor.resetInstance();
316
399
  }
317
- catch {
318
- // Ignore when optional dependency is not installed.
400
+ catch (error) {
401
+ Logger.getInstance().debug("[GenAI] Skipping LangChain reset, @langchain/core is not installed.", error);
319
402
  }
320
403
  }
321
404
  //# sourceMappingURL=distro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distro.js","sourceRoot":"","sources":["../../../src/distro/distro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distro.js","sourceRoot":"","sources":["../../../src/distro/distro.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type * as CallbackManagerModule from "@langchain/core/callbacks/manager";
2
2
  import { Tracer } from "@opentelemetry/api";
3
+ import type { LangChainTracer } from "./tracer.js";
3
4
  type CallbackManagerModuleType = typeof CallbackManagerModule;
5
+ type LangChainTracerCtor = new (tracer: Tracer) => LangChainTracer;
4
6
  /**
5
7
  * Static wrapper for LangChain tracing instrumentation
6
8
  */
@@ -25,6 +27,6 @@ export declare class LangChainTraceInstrumentor {
25
27
  */
26
28
  static resetInstance(): void;
27
29
  }
28
- export declare function addTracerToHandlers(tracer: Tracer, handlers: CallbackManagerModule.Callbacks | undefined): CallbackManagerModule.Callbacks;
30
+ export declare function addTracerToHandlers(tracer: Tracer, handlers: CallbackManagerModule.Callbacks | undefined, tracerCtor: LangChainTracerCtor): CallbackManagerModule.Callbacks;
29
31
  export {};
30
32
  //# sourceMappingURL=langchainTraceInstrumentor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"langchainTraceInstrumentor.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/langchainTraceInstrumentor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AASzD,KAAK,yBAAyB,GAAG,OAAO,qBAAqB,CAAC;AAoH9D;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAI1D;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,IAAI;IAOrB;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,IAAI;IAOtB;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;CAG7B;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,qBAAqB,CAAC,SAAS,GAAG,SAAS,GACpD,qBAAqB,CAAC,SAAS,CAgBjC"}
1
+ {"version":3,"file":"langchainTraceInstrumentor.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/langchainTraceInstrumentor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAOzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,KAAK,yBAAyB,GAAG,OAAO,qBAAqB,CAAC;AAC9D,KAAK,mBAAmB,GAAG,KAAK,MAAM,EAAE,MAAM,KAAK,eAAe,CAAC;AA4InE;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAI1D;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,IAAI;IAOrB;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,IAAI;IAOtB;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;CAG7B;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,qBAAqB,CAAC,SAAS,GAAG,SAAS,EACrD,UAAU,EAAE,mBAAmB,GAC9B,qBAAqB,CAAC,SAAS,CAgBjC"}
@@ -4,12 +4,15 @@
4
4
  // Adapted: removed ObservabilityManager dependency, uses diag logger instead of A365 logger
5
5
  import { diag, trace } from "@opentelemetry/api";
6
6
  import { InstrumentationBase, isWrapped, } from "@opentelemetry/instrumentation";
7
- import { LangChainTracer } from "./tracer.js";
8
7
  class LangChainTraceInstrumentorImpl extends InstrumentationBase {
9
8
  static _instance = null;
10
9
  _hasBeenEnabled = false;
11
10
  _isPatched = false;
12
11
  otelTracer;
12
+ /** Lazy-loaded to avoid eagerly importing @langchain/core/tracers/base
13
+ * (which transitively loads @langchain/core/callbacks/manager) before
14
+ * the instrumentation hooks for that module have been registered. */
15
+ _tracerCtor;
13
16
  constructor() {
14
17
  if (LangChainTraceInstrumentorImpl._instance !== null) {
15
18
  throw new Error("LangChainTraceInstrumentor can only be instantiated once.");
@@ -62,12 +65,27 @@ class LangChainTraceInstrumentorImpl extends InstrumentationBase {
62
65
  if (!CallbackManager || !("_configureSync" in CallbackManager)) {
63
66
  return module;
64
67
  }
68
+ // Now that the hooks are registered and @langchain/core/callbacks/manager
69
+ // is loaded, it is safe to load tracer.js (and its transitive
70
+ // @langchain/core/tracers/base dependency). The promise resolves in the
71
+ // next microtask — well before any user code invokes a LangChain
72
+ // chain/agent/tool (which is what triggers _configureSync).
73
+ void import("./tracer.js").then((m) => {
74
+ this._tracerCtor = m.LangChainTracer;
75
+ }, (err) => {
76
+ diag.error(`[LangChainTraceInstrumentor] Failed to load LangChainTracer: ${err instanceof Error ? err.message : String(err)}`);
77
+ });
65
78
  // eslint-disable-next-line @typescript-eslint/no-this-alias
66
79
  const instrumentor = this;
67
80
  this._wrap(CallbackManager, "_configureSync", (original) => {
68
81
  return function (...args) {
69
- args[0] = addTracerToHandlers(instrumentor.otelTracer, args[0]);
70
- diag.debug("[LangChainTraceInstrumentor] _configureSync wrapped to add LangChainTracer");
82
+ if (instrumentor._tracerCtor) {
83
+ args[0] = addTracerToHandlers(instrumentor.otelTracer, args[0], instrumentor._tracerCtor);
84
+ diag.debug("[LangChainTraceInstrumentor] _configureSync wrapped to add LangChainTracer");
85
+ }
86
+ else {
87
+ diag.debug("[LangChainTraceInstrumentor] LangChainTracer not yet loaded, skipping");
88
+ }
71
89
  return original.apply(this, args);
72
90
  };
73
91
  });
@@ -137,18 +155,18 @@ export class LangChainTraceInstrumentor {
137
155
  LangChainTraceInstrumentorImpl.resetInstance();
138
156
  }
139
157
  }
140
- export function addTracerToHandlers(tracer, handlers) {
158
+ export function addTracerToHandlers(tracer, handlers, tracerCtor) {
141
159
  if (handlers == null) {
142
- return [new LangChainTracer(tracer)];
160
+ return [new tracerCtor(tracer)];
143
161
  }
144
162
  if (Array.isArray(handlers)) {
145
- if (!handlers.some((h) => h instanceof LangChainTracer)) {
146
- handlers.push(new LangChainTracer(tracer));
163
+ if (!handlers.some((h) => h instanceof tracerCtor)) {
164
+ handlers.push(new tracerCtor(tracer));
147
165
  }
148
166
  return handlers;
149
167
  }
150
- if (!handlers.inheritableHandlers.some((h) => h instanceof LangChainTracer)) {
151
- handlers.addHandler(new LangChainTracer(tracer), true);
168
+ if (!handlers.inheritableHandlers.some((h) => h instanceof tracerCtor)) {
169
+ handlers.addHandler(new tracerCtor(tracer), true);
152
170
  }
153
171
  return handlers;
154
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"langchainTraceInstrumentor.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/langchainTraceInstrumentor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchainTraceInstrumentor.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/langchainTraceInstrumentor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * SDK self-telemetry (SDKStats) for the Microsoft OpenTelemetry Distro.
3
+ *
4
+ * Backend-agnostic SDK health and usage telemetry that works regardless
5
+ * of which export backends are enabled (Azure Monitor, OTLP, A365,
6
+ * Console). Tracks:
7
+ *
8
+ * - **Features** — which distro features are active (A365, OTLP, console,
9
+ * live metrics, browser SDK loader, ...)
10
+ * - **Instrumentations** — which library instrumentations are enabled
11
+ *
12
+ * Mirrors `src/microsoft/opentelemetry/_sdkstats/__init__.py` from the
13
+ * Python distro.
14
+ */
15
+ export { SdkStatsDistroFeature, SDKSTATS_DISABLED_ENV, APPLICATIONINSIGHTS_STATSBEAT_DISABLED_ALL, isSdkStatsEnabled, setSdkStatsFeature, getSdkStatsFeatureFlags, setSdkStatsInstrumentation, getSdkStatsInstrumentationFlags, setSdkStatsShutdown, getSdkStatsShutdown, } from "./state.js";
16
+ export { SdkStatsMetrics, FEATURE_TYPE_FEATURE, FEATURE_TYPE_INSTRUMENTATION } from "./metrics.js";
17
+ export { SdkStatsManager } from "./manager.js";
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,0CAA0C,EAC1C,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,20 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * SDK self-telemetry (SDKStats) for the Microsoft OpenTelemetry Distro.
5
+ *
6
+ * Backend-agnostic SDK health and usage telemetry that works regardless
7
+ * of which export backends are enabled (Azure Monitor, OTLP, A365,
8
+ * Console). Tracks:
9
+ *
10
+ * - **Features** — which distro features are active (A365, OTLP, console,
11
+ * live metrics, browser SDK loader, ...)
12
+ * - **Instrumentations** — which library instrumentations are enabled
13
+ *
14
+ * Mirrors `src/microsoft/opentelemetry/_sdkstats/__init__.py` from the
15
+ * Python distro.
16
+ */
17
+ export { SdkStatsDistroFeature, SDKSTATS_DISABLED_ENV, APPLICATIONINSIGHTS_STATSBEAT_DISABLED_ALL, isSdkStatsEnabled, setSdkStatsFeature, getSdkStatsFeatureFlags, setSdkStatsInstrumentation, getSdkStatsInstrumentationFlags, setSdkStatsShutdown, getSdkStatsShutdown, } from "./state.js";
18
+ export { SdkStatsMetrics, FEATURE_TYPE_FEATURE, FEATURE_TYPE_INSTRUMENTATION } from "./metrics.js";
19
+ export { SdkStatsManager } from "./manager.js";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdkstats/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,0CAA0C,EAC1C,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Singleton manager for the standalone SDKStats pipeline.
3
+ *
4
+ * The manager is safe to call `initialize()` on multiple times — only the
5
+ * first invocation takes effect.
6
+ */
7
+ export declare class SdkStatsManager {
8
+ private static _instance;
9
+ private _meterProvider;
10
+ private _metrics;
11
+ private _initialized;
12
+ private _initialExportTimer;
13
+ static getInstance(): SdkStatsManager;
14
+ get isInitialized(): boolean;
15
+ /**
16
+ * Set up SDKStats export via the Azure Monitor statsbeat endpoint.
17
+ *
18
+ * Returns `true` if the standalone pipeline was initialized (or was
19
+ * already initialized), `false` if SDKStats are disabled via env var
20
+ * or initialization failed.
21
+ */
22
+ initialize(): Promise<boolean>;
23
+ shutdown(): Promise<boolean>;
24
+ private _cleanup;
25
+ /**
26
+ * @internal Test-only: discard the singleton so a fresh instance is
27
+ * created on the next `getInstance()` call.
28
+ */
29
+ static _resetForTest(): void;
30
+ }
31
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/manager.ts"],"names":[],"mappings":"AAyDA;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAA8B;IAEtD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAA6B;IAExD,MAAM,CAAC,WAAW,IAAI,eAAe;IAOrC,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IA2E9B,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBlC,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;CAG7B"}