@microsoft/opentelemetry 1.1.0 → 1.2.0

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 (206) hide show
  1. package/README.md +15 -14
  2. package/dist/commonjs/a365/configuration/A365Configuration.js +2 -2
  3. package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
  4. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +1 -1
  5. package/dist/commonjs/a365/constants.d.ts +109 -2
  6. package/dist/commonjs/a365/constants.d.ts.map +1 -1
  7. package/dist/commonjs/a365/constants.js +108 -1
  8. package/dist/commonjs/a365/constants.js.map +1 -1
  9. package/dist/commonjs/a365/contracts.d.ts +138 -0
  10. package/dist/commonjs/a365/contracts.d.ts.map +1 -1
  11. package/dist/commonjs/a365/contracts.js +33 -0
  12. package/dist/commonjs/a365/contracts.js.map +1 -1
  13. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +33 -1
  14. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  15. package/dist/commonjs/a365/exporter/Agent365Exporter.js +83 -4
  16. package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
  17. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +8 -0
  18. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  19. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  20. package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts +3 -0
  21. package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts.map +1 -1
  22. package/dist/commonjs/a365/exporter/ExporterEventNames.js +3 -0
  23. package/dist/commonjs/a365/exporter/ExporterEventNames.js.map +1 -1
  24. package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts +24 -0
  25. package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts.map +1 -1
  26. package/dist/commonjs/a365/hosting/agenticTokenCache.js +40 -3
  27. package/dist/commonjs/a365/hosting/agenticTokenCache.js.map +1 -1
  28. package/dist/commonjs/a365/hosting/types.d.ts +47 -1
  29. package/dist/commonjs/a365/hosting/types.d.ts.map +1 -1
  30. package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts +1 -1
  31. package/dist/commonjs/a365/scopes/OpenTelemetryScope.js +1 -1
  32. package/dist/commonjs/azureMonitor/index.d.ts +2 -2
  33. package/dist/commonjs/azureMonitor/logs/handler.d.ts +3 -3
  34. package/dist/commonjs/azureMonitor/logs/handler.js +3 -3
  35. package/dist/commonjs/azureMonitor/metrics/handler.d.ts +1 -1
  36. package/dist/commonjs/azureMonitor/metrics/handler.js +1 -1
  37. package/dist/commonjs/azureMonitor/metrics/performanceCounters.d.ts +2 -2
  38. package/dist/commonjs/azureMonitor/metrics/performanceCounters.js +2 -2
  39. package/dist/commonjs/azureMonitor/metrics/quickpulse/filtering/validator.js +2 -2
  40. package/dist/commonjs/azureMonitor/metrics/quickpulse/filtering/validator.js.map +1 -1
  41. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.d.ts +3 -3
  42. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
  43. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.js +21 -9
  44. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.js.map +1 -1
  45. package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.js +1 -1
  46. package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.js.map +1 -1
  47. package/dist/commonjs/azureMonitor/metrics/standardMetrics.d.ts +1 -1
  48. package/dist/commonjs/azureMonitor/metrics/standardMetrics.js +1 -1
  49. package/dist/commonjs/distro/autoAttach.js +2 -2
  50. package/dist/commonjs/distro/autoAttach.js.map +1 -1
  51. package/dist/commonjs/distro/distro.d.ts +2 -2
  52. package/dist/commonjs/distro/distro.js +5 -5
  53. package/dist/commonjs/distro/distro.js.map +1 -1
  54. package/dist/commonjs/distro/instrumentations.d.ts +2 -2
  55. package/dist/commonjs/distro/instrumentations.js +2 -2
  56. package/dist/commonjs/distro/loader.d.ts +1 -1
  57. package/dist/commonjs/distro/loader.js +1 -1
  58. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +1 -1
  59. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  60. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js +11 -54
  61. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  62. package/dist/commonjs/genai/mainAgent/constants.d.ts +5 -0
  63. package/dist/commonjs/genai/mainAgent/constants.d.ts.map +1 -1
  64. package/dist/commonjs/genai/mainAgent/constants.js +5 -0
  65. package/dist/commonjs/genai/mainAgent/constants.js.map +1 -1
  66. package/dist/commonjs/genai/mainAgent/processor.d.ts +25 -0
  67. package/dist/commonjs/genai/mainAgent/processor.d.ts.map +1 -1
  68. package/dist/commonjs/genai/mainAgent/processor.js +25 -0
  69. package/dist/commonjs/genai/mainAgent/processor.js.map +1 -1
  70. package/dist/commonjs/otlp/handler.d.ts.map +1 -1
  71. package/dist/commonjs/otlp/handler.js +3 -20
  72. package/dist/commonjs/otlp/handler.js.map +1 -1
  73. package/dist/commonjs/sdkstats/constants.d.ts +45 -0
  74. package/dist/commonjs/sdkstats/constants.d.ts.map +1 -0
  75. package/dist/commonjs/sdkstats/constants.js +77 -0
  76. package/dist/commonjs/sdkstats/constants.js.map +1 -0
  77. package/dist/commonjs/sdkstats/index.d.ts +5 -6
  78. package/dist/commonjs/sdkstats/index.d.ts.map +1 -1
  79. package/dist/commonjs/sdkstats/index.js +15 -8
  80. package/dist/commonjs/sdkstats/index.js.map +1 -1
  81. package/dist/commonjs/sdkstats/manager.js +7 -7
  82. package/dist/commonjs/sdkstats/manager.js.map +1 -1
  83. package/dist/commonjs/sdkstats/metrics.d.ts.map +1 -1
  84. package/dist/commonjs/sdkstats/metrics.js +41 -7
  85. package/dist/commonjs/sdkstats/metrics.js.map +1 -1
  86. package/dist/commonjs/sdkstats/networkStats.d.ts +38 -16
  87. package/dist/commonjs/sdkstats/networkStats.d.ts.map +1 -1
  88. package/dist/commonjs/sdkstats/networkStats.js +95 -30
  89. package/dist/commonjs/sdkstats/networkStats.js.map +1 -1
  90. package/dist/commonjs/sdkstats/state.d.ts +5 -5
  91. package/dist/commonjs/sdkstats/state.js +3 -3
  92. package/dist/commonjs/sdkstats/state.js.map +1 -1
  93. package/dist/commonjs/shared/config.d.ts +1 -1
  94. package/dist/commonjs/shared/config.js +1 -1
  95. package/dist/commonjs/types.d.ts +3 -3
  96. package/dist/commonjs/types.js +2 -2
  97. package/dist/commonjs/utils/sdkStats.d.ts.map +1 -1
  98. package/dist/commonjs/utils/sdkStats.js +14 -3
  99. package/dist/commonjs/utils/sdkStats.js.map +1 -1
  100. package/dist/esm/a365/configuration/A365Configuration.js +2 -2
  101. package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
  102. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +1 -1
  103. package/dist/esm/a365/constants.d.ts +109 -2
  104. package/dist/esm/a365/constants.d.ts.map +1 -1
  105. package/dist/esm/a365/constants.js +108 -1
  106. package/dist/esm/a365/constants.js.map +1 -1
  107. package/dist/esm/a365/contracts.d.ts +138 -0
  108. package/dist/esm/a365/contracts.d.ts.map +1 -1
  109. package/dist/esm/a365/contracts.js +33 -0
  110. package/dist/esm/a365/contracts.js.map +1 -1
  111. package/dist/esm/a365/exporter/Agent365Exporter.d.ts +33 -1
  112. package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  113. package/dist/esm/a365/exporter/Agent365Exporter.js +84 -5
  114. package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
  115. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +8 -0
  116. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  117. package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  118. package/dist/esm/a365/exporter/ExporterEventNames.d.ts +3 -0
  119. package/dist/esm/a365/exporter/ExporterEventNames.d.ts.map +1 -1
  120. package/dist/esm/a365/exporter/ExporterEventNames.js +3 -0
  121. package/dist/esm/a365/exporter/ExporterEventNames.js.map +1 -1
  122. package/dist/esm/a365/hosting/agenticTokenCache.d.ts +24 -0
  123. package/dist/esm/a365/hosting/agenticTokenCache.d.ts.map +1 -1
  124. package/dist/esm/a365/hosting/agenticTokenCache.js +40 -3
  125. package/dist/esm/a365/hosting/agenticTokenCache.js.map +1 -1
  126. package/dist/esm/a365/hosting/types.d.ts +47 -1
  127. package/dist/esm/a365/hosting/types.d.ts.map +1 -1
  128. package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts +1 -1
  129. package/dist/esm/a365/scopes/OpenTelemetryScope.js +1 -1
  130. package/dist/esm/azureMonitor/index.d.ts +2 -2
  131. package/dist/esm/azureMonitor/logs/handler.d.ts +3 -3
  132. package/dist/esm/azureMonitor/logs/handler.js +3 -3
  133. package/dist/esm/azureMonitor/metrics/handler.d.ts +1 -1
  134. package/dist/esm/azureMonitor/metrics/handler.js +1 -1
  135. package/dist/esm/azureMonitor/metrics/performanceCounters.d.ts +2 -2
  136. package/dist/esm/azureMonitor/metrics/performanceCounters.js +2 -2
  137. package/dist/esm/azureMonitor/metrics/quickpulse/filtering/validator.js +2 -2
  138. package/dist/esm/azureMonitor/metrics/quickpulse/filtering/validator.js.map +1 -1
  139. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.d.ts +3 -3
  140. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
  141. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.js +21 -9
  142. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.js.map +1 -1
  143. package/dist/esm/azureMonitor/metrics/quickpulse/utils.js +1 -1
  144. package/dist/esm/azureMonitor/metrics/quickpulse/utils.js.map +1 -1
  145. package/dist/esm/azureMonitor/metrics/standardMetrics.d.ts +1 -1
  146. package/dist/esm/azureMonitor/metrics/standardMetrics.js +1 -1
  147. package/dist/esm/distro/autoAttach.js +2 -2
  148. package/dist/esm/distro/autoAttach.js.map +1 -1
  149. package/dist/esm/distro/distro.d.ts +2 -2
  150. package/dist/esm/distro/distro.js +5 -5
  151. package/dist/esm/distro/distro.js.map +1 -1
  152. package/dist/esm/distro/instrumentations.d.ts +2 -2
  153. package/dist/esm/distro/instrumentations.js +2 -2
  154. package/dist/esm/distro/loader.d.ts +1 -1
  155. package/dist/esm/distro/loader.js +1 -1
  156. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +1 -1
  157. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  158. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js +11 -21
  159. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  160. package/dist/esm/genai/mainAgent/constants.d.ts +5 -0
  161. package/dist/esm/genai/mainAgent/constants.d.ts.map +1 -1
  162. package/dist/esm/genai/mainAgent/constants.js +5 -0
  163. package/dist/esm/genai/mainAgent/constants.js.map +1 -1
  164. package/dist/esm/genai/mainAgent/processor.d.ts +25 -0
  165. package/dist/esm/genai/mainAgent/processor.d.ts.map +1 -1
  166. package/dist/esm/genai/mainAgent/processor.js +25 -0
  167. package/dist/esm/genai/mainAgent/processor.js.map +1 -1
  168. package/dist/esm/otlp/handler.d.ts.map +1 -1
  169. package/dist/esm/otlp/handler.js +3 -20
  170. package/dist/esm/otlp/handler.js.map +1 -1
  171. package/dist/esm/sdkstats/constants.d.ts +45 -0
  172. package/dist/esm/sdkstats/constants.d.ts.map +1 -0
  173. package/dist/esm/sdkstats/constants.js +74 -0
  174. package/dist/esm/sdkstats/constants.js.map +1 -0
  175. package/dist/esm/sdkstats/index.d.ts +5 -6
  176. package/dist/esm/sdkstats/index.d.ts.map +1 -1
  177. package/dist/esm/sdkstats/index.js +4 -5
  178. package/dist/esm/sdkstats/index.js.map +1 -1
  179. package/dist/esm/sdkstats/manager.js +7 -7
  180. package/dist/esm/sdkstats/manager.js.map +1 -1
  181. package/dist/esm/sdkstats/metrics.d.ts.map +1 -1
  182. package/dist/esm/sdkstats/metrics.js +42 -8
  183. package/dist/esm/sdkstats/metrics.js.map +1 -1
  184. package/dist/esm/sdkstats/networkStats.d.ts +38 -16
  185. package/dist/esm/sdkstats/networkStats.d.ts.map +1 -1
  186. package/dist/esm/sdkstats/networkStats.js +79 -26
  187. package/dist/esm/sdkstats/networkStats.js.map +1 -1
  188. package/dist/esm/sdkstats/state.d.ts +5 -5
  189. package/dist/esm/sdkstats/state.js +3 -3
  190. package/dist/esm/sdkstats/state.js.map +1 -1
  191. package/dist/esm/shared/config.d.ts +1 -1
  192. package/dist/esm/shared/config.js +1 -1
  193. package/dist/esm/types.d.ts +3 -3
  194. package/dist/esm/types.js +2 -2
  195. package/dist/esm/utils/sdkStats.d.ts.map +1 -1
  196. package/dist/esm/utils/sdkStats.js +14 -3
  197. package/dist/esm/utils/sdkStats.js.map +1 -1
  198. package/package.json +28 -19
  199. package/dist/commonjs/sdkstats/otlpWrapper.d.ts +0 -56
  200. package/dist/commonjs/sdkstats/otlpWrapper.d.ts.map +0 -1
  201. package/dist/commonjs/sdkstats/otlpWrapper.js +0 -121
  202. package/dist/commonjs/sdkstats/otlpWrapper.js.map +0 -1
  203. package/dist/esm/sdkstats/otlpWrapper.d.ts +0 -56
  204. package/dist/esm/sdkstats/otlpWrapper.d.ts.map +0 -1
  205. package/dist/esm/sdkstats/otlpWrapper.js +0 -115
  206. package/dist/esm/sdkstats/otlpWrapper.js.map +0 -1
@@ -6,15 +6,15 @@
6
6
  * pipeline.
7
7
  *
8
8
  * When the full Azure Monitor pipeline is enabled, the exporter package's
9
- * own SDKStats machinery handles SDKStats emission and the distro just
10
- * publishes its bits via the `AZURE_MONITOR_STATSBEAT_FEATURES` env var
9
+ * own SDKStats machinery handles SDKStats emission and we just
10
+ * publish our bits via the `AZURE_MONITOR_STATSBEAT_FEATURES` env var
11
11
  * for the exporter to read. For A365-only, OTLP-only, or Console-only
12
12
  * customers this manager spins up a standalone `MeterProvider` →
13
13
  * `AzureMonitorStatsbeatExporter` pipeline so feature/instrumentation
14
14
  * SDKStats are still collected.
15
15
  *
16
16
  * Mirrors `src/microsoft/opentelemetry/_sdkstats/_manager.py` from the
17
- * Python distro.
17
+ * Python implementation.
18
18
  */
19
19
  import { MeterProvider, PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
20
20
  import { resourceFromAttributes } from "@opentelemetry/resources";
@@ -41,7 +41,7 @@ const SDKSTATS_LONG_EXPORT_INTERVAL_ENV = "APPLICATIONINSIGHTS_STATS_LONG_EXPORT
41
41
  /**
42
42
  * Default short export interval (15 minutes) for network SDKStats
43
43
  * counters. Matches the Application Insights SDKStats short-interval
44
- * cadence used by the Python distro (`_get_stats_short_export_interval()`
44
+ * cadence used by the Python package (`_get_stats_short_export_interval()`
45
45
  * in `azure.monitor.opentelemetry.exporter.statsbeat._utils`).
46
46
  *
47
47
  * @internal
@@ -49,7 +49,7 @@ const SDKSTATS_LONG_EXPORT_INTERVAL_ENV = "APPLICATIONINSIGHTS_STATS_LONG_EXPORT
49
49
  const DEFAULT_SHORT_EXPORT_INTERVAL_MS = 15 * 60 * 1000;
50
50
  /**
51
51
  * Override env var: short (network) export interval in seconds.
52
- * Matches the Python distro env var name.
52
+ * Matches the Python package env var name.
53
53
  *
54
54
  * @internal
55
55
  */
@@ -59,7 +59,7 @@ const SDKSTATS_SHORT_EXPORT_INTERVAL_ENV = "APPLICATIONINSIGHTS_STATS_SHORT_EXPO
59
59
  * Insights connection string. When unset, SDKStats flow to the
60
60
  * Microsoft-owned SDKStats resource (`NON_EU_CONNECTION_STRING` in
61
61
  * the AzMon exporter package). Primarily useful for testing.
62
- * Matches the Python distro env var name.
62
+ * Matches the Python package env var name.
63
63
  *
64
64
  * @internal
65
65
  */
@@ -129,7 +129,7 @@ export class SdkStatsManager {
129
129
  const AzureMonitorStatsbeatExporter = sdkStatsExporterModule.AzureMonitorStatsbeatExporter;
130
130
  const NON_EU_CONNECTION_STRING = sdkStatsTypesModule.NON_EU_CONNECTION_STRING;
131
131
  // Allow overriding the SDKStats ingestion target via env var,
132
- // matching the Python distro's APPLICATIONINSIGHTS_STATS_CONNECTION_STRING
132
+ // matching the Python package's APPLICATIONINSIGHTS_STATS_CONNECTION_STRING
133
133
  // hook. Primarily useful for testing — production should leave
134
134
  // this unset so SDKStats flows to the Microsoft-owned SDKStats
135
135
  // resource (NON_EU_CONNECTION_STRING).
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/sdkstats/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/sdkstats/manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/metrics.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAOhE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAuB9C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC;;;;OAIG;IACH,kBAAkB,EAAE,aAAa,CAAC;CACnC;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;gBAE9C,OAAO,EAAE,sBAAsB;IAC3C,2DAA2D;gBAEzD,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IA4EpF,OAAO,CAAC,eAAe,CAcrB;IAEF,OAAO,CAAC,uBAAuB,CAU7B;IAEF,OAAO,CAAC,mBAAmB;CAY5B"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/metrics.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAgBhE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AA+D9C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC;;;;OAIG;IACH,kBAAkB,EAAE,aAAa,CAAC;CACnC;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;gBAE9C,OAAO,EAAE,sBAAsB;IAC3C,2DAA2D;gBAEzD,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IA4EpF,OAAO,CAAC,eAAe,CAcrB;IAEF,OAAO,CAAC,uBAAuB,CAU7B;IAEF,OAAO,CAAC,mBAAmB;CAe5B"}
@@ -8,12 +8,12 @@
8
8
  * caller-supplied `MeterProvider`.
9
9
  *
10
10
  * Mirrors `src/microsoft/opentelemetry/_sdkstats/_metrics.py` from the
11
- * Python distro.
11
+ * Python implementation.
12
12
  */
13
13
  import os from "node:os";
14
14
  import { MICROSOFT_OPENTELEMETRY_VERSION } from "../types.js";
15
15
  import { getSdkStatsFeatureFlags, getSdkStatsInstrumentationFlags } from "./state.js";
16
- import { REQUEST_SUCCESS_NAME, drain } from "./networkStats.js";
16
+ import { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, drain, } from "./networkStats.js";
17
17
  /**
18
18
  * Feature SDKStats `type` dimension values, per the Application Insights
19
19
  * SDKStats specification.
@@ -30,6 +30,37 @@ const NETWORK_GAUGE_SPECS = [
30
30
  metric: REQUEST_SUCCESS_NAME,
31
31
  unit: "count",
32
32
  description: "Number of successful HTTP exports per endpoint",
33
+ keyAttributes: ["endpoint", "host"],
34
+ },
35
+ {
36
+ metric: REQUEST_FAILURE_NAME,
37
+ unit: "count",
38
+ description: "Number of failed HTTP exports per endpoint, broken down by status code",
39
+ keyAttributes: ["endpoint", "host", "statusCode"],
40
+ },
41
+ {
42
+ metric: REQUEST_DURATION_NAME,
43
+ unit: "ms",
44
+ description: "Average HTTP export request duration per endpoint",
45
+ keyAttributes: ["endpoint", "host"],
46
+ },
47
+ {
48
+ metric: RETRY_COUNT_NAME,
49
+ unit: "count",
50
+ description: "Number of HTTP exports that returned a retryable status code",
51
+ keyAttributes: ["endpoint", "host", "statusCode"],
52
+ },
53
+ {
54
+ metric: THROTTLE_COUNT_NAME,
55
+ unit: "count",
56
+ description: "Number of HTTP exports that returned a throttling status code (402/439)",
57
+ keyAttributes: ["endpoint", "host", "statusCode"],
58
+ },
59
+ {
60
+ metric: EXCEPTION_COUNT_NAME,
61
+ unit: "count",
62
+ description: "Number of HTTP exports that raised an exception (no HTTP response)",
63
+ keyAttributes: ["endpoint", "host", "exceptionType"],
33
64
  },
34
65
  ];
35
66
  /**
@@ -77,7 +108,7 @@ export class SdkStatsMetrics {
77
108
  };
78
109
  // Feature / instrumentation bitmask gauges are skipped when running
79
110
  // alongside the Azure Monitor exporter's own SDKStats — that pipeline
80
- // already emits them (with our distro bits bridged in via
111
+ // already emits them (with our feature bits bridged in via
81
112
  // `_bridge_sdkstats_to_azure_monitor`) and would collide with these.
82
113
  // These gauges are registered on the long-interval MeterProvider.
83
114
  if (!networkOnly && longMeterProvider) {
@@ -133,11 +164,14 @@ export class SdkStatsMetrics {
133
164
  makeNetworkCallback(spec) {
134
165
  return (result) => {
135
166
  for (const [key, value] of drain(spec.metric)) {
136
- const attrs = {
137
- ...this.commonAttributes,
138
- endpoint: key[0],
139
- host: key[1],
140
- };
167
+ const attrs = { ...this.commonAttributes };
168
+ for (let i = 0; i < spec.keyAttributes.length; i++) {
169
+ const name = spec.keyAttributes[i];
170
+ const part = key[i];
171
+ if (part !== undefined) {
172
+ attrs[name] = part;
173
+ }
174
+ }
141
175
  result.observe(value, attrs);
142
176
  }
143
177
  };
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/sdkstats/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/sdkstats/metrics.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,50 @@
1
1
  /**
2
2
  * Network SDKStats accumulator for SDK self-telemetry.
3
3
  *
4
- * Per-export success counts for telemetry exporters. Exporters call
5
- * {@link recordSuccess} after each successful transmit; the
6
- * {@link SdkStatsMetrics} observable-gauge callbacks drain the
7
- * accumulated counts on each export interval.
4
+ * Per-export counters and timings for telemetry exporters. Exporters call
5
+ * the {@link recordSuccess} / {@link recordFailure} / {@link recordRetry} /
6
+ * {@link recordThrottle} / {@link recordException} / {@link recordDuration}
7
+ * functions after each transmit; the {@link SdkStatsMetrics}
8
+ * observable-gauge callbacks drain the accumulated counts on each export
9
+ * interval.
8
10
  *
9
11
  * Mirrors `src/microsoft/opentelemetry/_sdkstats/_utils.py` from the Python
10
- * distro (microsoft/opentelemetry-distro-python#144).
12
+ * implementation.
11
13
  */
12
- export declare const REQUEST_SUCCESS_NAME = "Request_Success_Count";
13
- /**
14
- * Names of registered network SDKStats metrics, in registration order.
15
- *
16
- * @internal
17
- */
18
- export declare const NETWORK_METRIC_NAMES: readonly ["Request_Success_Count"];
19
- export type NetworkMetricName = (typeof NETWORK_METRIC_NAMES)[number];
14
+ import { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, type NetworkMetricName } from "./constants.js";
15
+ export { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, };
16
+ export type { NetworkMetricName };
20
17
  /**
21
18
  * Composite key for an aggregated network SDKStats counter.
22
19
  *
23
20
  * Per the Application Insights SDKStats spec the per-key dimensions are
24
- * `endpoint` (category, e.g. "otlp", "a365") and `host` (stamp-specific
25
- * region or hostname).
21
+ * `endpoint` (category, e.g. "a365") and `host` (stamp-specific
22
+ * region or hostname), optionally followed by a third dimension —
23
+ * `statusCode` (failure/retry/throttle) or `exceptionType` (exception).
26
24
  *
27
25
  * @internal
28
26
  */
29
- export type NetworkKey = readonly [string, string];
27
+ export type NetworkKey = readonly string[];
30
28
  export declare function recordSuccess(endpoint: string, host: string): void;
29
+ export declare function recordFailure(endpoint: string, host: string, statusCode: number | string): void;
30
+ export declare function recordRetry(endpoint: string, host: string, statusCode: number | string): void;
31
+ export declare function recordThrottle(endpoint: string, host: string, statusCode: number | string): void;
32
+ export declare function recordException(endpoint: string, host: string, exceptionType: string): void;
33
+ export declare function recordDuration(endpoint: string, host: string, durationMs: number): void;
34
+ /**
35
+ * Classification of an HTTP status code per the Application Insights
36
+ * SDKStats Network specification.
37
+ *
38
+ * - `success`: 200 (and 206 if all envelopes were accepted — handled by
39
+ * the caller, this helper only returns the bucket for a single response
40
+ * code).
41
+ * - `retry`: 401, 403, 408, 429, 500, 502, 503, 504.
42
+ * - `throttle`: 402, 439.
43
+ * - `failure`: everything else (excluding redirects 307/308 which are
44
+ * followed transparently and never reported).
45
+ */
46
+ export type StatusCodeKind = "success" | "retry" | "throttle" | "failure" | "ignored";
47
+ export declare function classifyStatusCode(status: number): StatusCodeKind;
31
48
  /**
32
49
  * Compute the stamp-specific short host for the SDKStats `host` dimension.
33
50
  *
@@ -48,6 +65,11 @@ export declare function shortHost(input: string): string;
48
65
  *
49
66
  * Used by the observable-gauge callbacks so each observation reports only
50
67
  * the delta accumulated during the export interval.
68
+ *
69
+ * For {@link REQUEST_DURATION_NAME} the reported value is the average of
70
+ * all durations recorded since the previous drain, per the spec
71
+ * ("Request_Duration ... avg request duration during the scheduled
72
+ * interval").
51
73
  */
52
74
  export declare function drain(metric: NetworkMetricName): Map<NetworkKey, number>;
53
75
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"networkStats.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/networkStats.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AASH,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,oCAAkC,CAAC;AAEpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA4BnD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAElE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwB/C;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAQxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC"}
1
+ {"version":3,"file":"networkStats.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/networkStats.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAOH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EAIpB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,CAAC;AACF,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,MAAM,EAAE,CAAC;AA0C3C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAElE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE/F;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7F;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhG;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAE3F;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAUvF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAMjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwB/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAgBxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC"}
@@ -3,43 +3,41 @@
3
3
  /**
4
4
  * Network SDKStats accumulator for SDK self-telemetry.
5
5
  *
6
- * Per-export success counts for telemetry exporters. Exporters call
7
- * {@link recordSuccess} after each successful transmit; the
8
- * {@link SdkStatsMetrics} observable-gauge callbacks drain the
9
- * accumulated counts on each export interval.
6
+ * Per-export counters and timings for telemetry exporters. Exporters call
7
+ * the {@link recordSuccess} / {@link recordFailure} / {@link recordRetry} /
8
+ * {@link recordThrottle} / {@link recordException} / {@link recordDuration}
9
+ * functions after each transmit; the {@link SdkStatsMetrics}
10
+ * observable-gauge callbacks drain the accumulated counts on each export
11
+ * interval.
10
12
  *
11
13
  * Mirrors `src/microsoft/opentelemetry/_sdkstats/_utils.py` from the Python
12
- * distro (microsoft/opentelemetry-distro-python#144).
14
+ * implementation.
13
15
  */
14
- // Metric names must match the AzMon SDKStats backend's recognized
15
- // schema (see `StatsbeatCounter` enum in
16
- // `@azure/monitor-opentelemetry-exporter/dist/esm/export/statsbeat/types.js`).
17
- // Sending envelopes under any other name returns HTTP 200 but the
18
- // backend doesn't index them, so they're invisible in the SDKStats
19
- // dashboards. The constants below intentionally match the wire-format
20
- // names — do NOT rename them to lowercase.
21
- export const REQUEST_SUCCESS_NAME = "Request_Success_Count";
22
- /**
23
- * Names of registered network SDKStats metrics, in registration order.
24
- *
25
- * @internal
26
- */
27
- export const NETWORK_METRIC_NAMES = [REQUEST_SUCCESS_NAME];
28
- // Single-threaded JS execution → no lock needed (Python uses one because of
29
- // the GIL + threads; Node.js doesn't share JS objects across worker threads).
16
+ // Wire-format metric names and the set of HTTP status-code buckets used
17
+ // below live in `./constants.js` so the A365 exporter wrapper can
18
+ // share a single source of truth. Re-exported here for backwards
19
+ // compatibility with existing imports of these symbols from
20
+ // `./networkStats.js`.
21
+ import { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, RETRY_STATUSES, THROTTLE_STATUSES, IGNORED_STATUSES, } from "./constants.js";
22
+ export { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, };
30
23
  const REQUESTS_MAP = {
31
24
  [REQUEST_SUCCESS_NAME]: new Map(),
25
+ [REQUEST_FAILURE_NAME]: new Map(),
26
+ [RETRY_COUNT_NAME]: new Map(),
27
+ [THROTTLE_COUNT_NAME]: new Map(),
28
+ [EXCEPTION_COUNT_NAME]: new Map(),
32
29
  };
30
+ const DURATION_MAP = new Map();
33
31
  // `Map` keys are compared by identity for arrays/objects, so we serialize
34
32
  // the key tuple to a string. The `\u0000` separator can't appear in a URL
35
- // hostname or HTTP status string, so this is unambiguous.
33
+ // hostname, HTTP status code, or exception-type string, so this is
34
+ // unambiguous.
36
35
  const KEY_SEPARATOR = "\u0000";
37
36
  function encodeKey(key) {
38
37
  return key.join(KEY_SEPARATOR);
39
38
  }
40
39
  function decodeKey(encoded) {
41
- const parts = encoded.split(KEY_SEPARATOR);
42
- return [parts[0], parts[1]];
40
+ return encoded.split(KEY_SEPARATOR);
43
41
  }
44
42
  function bump(metric, key, value = 1) {
45
43
  const bucket = REQUESTS_MAP[metric];
@@ -49,6 +47,42 @@ function bump(metric, key, value = 1) {
49
47
  export function recordSuccess(endpoint, host) {
50
48
  bump(REQUEST_SUCCESS_NAME, [endpoint, host]);
51
49
  }
50
+ export function recordFailure(endpoint, host, statusCode) {
51
+ bump(REQUEST_FAILURE_NAME, [endpoint, host, String(statusCode)]);
52
+ }
53
+ export function recordRetry(endpoint, host, statusCode) {
54
+ bump(RETRY_COUNT_NAME, [endpoint, host, String(statusCode)]);
55
+ }
56
+ export function recordThrottle(endpoint, host, statusCode) {
57
+ bump(THROTTLE_COUNT_NAME, [endpoint, host, String(statusCode)]);
58
+ }
59
+ export function recordException(endpoint, host, exceptionType) {
60
+ bump(EXCEPTION_COUNT_NAME, [endpoint, host, exceptionType]);
61
+ }
62
+ export function recordDuration(endpoint, host, durationMs) {
63
+ if (!Number.isFinite(durationMs) || durationMs < 0)
64
+ return;
65
+ const encoded = encodeKey([endpoint, host]);
66
+ const existing = DURATION_MAP.get(encoded);
67
+ if (existing) {
68
+ existing.sum += durationMs;
69
+ existing.count += 1;
70
+ }
71
+ else {
72
+ DURATION_MAP.set(encoded, { sum: durationMs, count: 1 });
73
+ }
74
+ }
75
+ export function classifyStatusCode(status) {
76
+ if (status >= 200 && status < 300 && status !== 206)
77
+ return "success";
78
+ if (IGNORED_STATUSES.has(status))
79
+ return "ignored";
80
+ if (THROTTLE_STATUSES.has(status))
81
+ return "throttle";
82
+ if (RETRY_STATUSES.has(status))
83
+ return "retry";
84
+ return "failure";
85
+ }
52
86
  /**
53
87
  * Compute the stamp-specific short host for the SDKStats `host` dimension.
54
88
  *
@@ -98,10 +132,24 @@ export function shortHost(input) {
98
132
  *
99
133
  * Used by the observable-gauge callbacks so each observation reports only
100
134
  * the delta accumulated during the export interval.
135
+ *
136
+ * For {@link REQUEST_DURATION_NAME} the reported value is the average of
137
+ * all durations recorded since the previous drain, per the spec
138
+ * ("Request_Duration ... avg request duration during the scheduled
139
+ * interval").
101
140
  */
102
141
  export function drain(metric) {
103
- const bucket = REQUESTS_MAP[metric];
104
142
  const snapshot = new Map();
143
+ if (metric === REQUEST_DURATION_NAME) {
144
+ for (const [encoded, acc] of DURATION_MAP) {
145
+ if (acc.count === 0)
146
+ continue;
147
+ snapshot.set(decodeKey(encoded), acc.sum / acc.count);
148
+ }
149
+ DURATION_MAP.clear();
150
+ return snapshot;
151
+ }
152
+ const bucket = REQUESTS_MAP[metric];
105
153
  for (const [encoded, value] of bucket) {
106
154
  snapshot.set(decodeKey(encoded), value);
107
155
  }
@@ -113,7 +161,12 @@ export function drain(metric) {
113
161
  */
114
162
  export function _resetAllForTest() {
115
163
  for (const name of NETWORK_METRIC_NAMES) {
116
- REQUESTS_MAP[name].clear();
164
+ if (name === REQUEST_DURATION_NAME) {
165
+ DURATION_MAP.clear();
166
+ }
167
+ else {
168
+ REQUESTS_MAP[name].clear();
169
+ }
117
170
  }
118
171
  }
119
172
  //# sourceMappingURL=networkStats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"networkStats.js","sourceRoot":"","sources":["../../../src/sdkstats/networkStats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkStats.js","sourceRoot":"","sources":["../../../src/sdkstats/networkStats.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,19 @@
4
4
  * Feature and instrumentation flags are stored as bitmasks so they can be
5
5
  * combined and reported efficiently. The bitmask values are intentionally
6
6
  * compatible with the Azure Monitor Exporter SDKStats encoding so that
7
- * Azure Monitor consumers see no behavioural change when the distro
8
- * bridges its bits into the exporter's existing pipeline.
7
+ * Azure Monitor consumers see no behavioural change when our bits are
8
+ * bridged into the exporter's existing pipeline.
9
9
  *
10
10
  * Mirrors `src/microsoft/opentelemetry/_sdkstats/_state.py` from the
11
- * Python distro (microsoft/opentelemetry-distro-python#89).
11
+ * Python implementation (microsoft/opentelemetry-distro-python#89).
12
12
  */
13
13
  import { SdkStatsFeature, SdkStatsInstrumentation } from "../types.js";
14
14
  /**
15
- * Distro-specific feature flags, in addition to the
15
+ * Microsoft OpenTelemetry specific feature flags, in addition to the
16
16
  * {@link SdkStatsFeature} flags shared with the Azure Monitor exporter.
17
17
  *
18
18
  * These bit values intentionally start above the values used by
19
- * {@link SdkStatsFeature} so that distro bits and exporter bits can be
19
+ * {@link SdkStatsFeature} so that the bits and exporter bits can be
20
20
  * OR-combined into a single 64-bit mask without collision.
21
21
  */
22
22
  export declare enum SdkStatsDistroFeature {
@@ -1,11 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  /**
4
- * Distro-specific feature flags, in addition to the
4
+ * Microsoft OpenTelemetry specific feature flags, in addition to the
5
5
  * {@link SdkStatsFeature} flags shared with the Azure Monitor exporter.
6
6
  *
7
7
  * These bit values intentionally start above the values used by
8
- * {@link SdkStatsFeature} so that distro bits and exporter bits can be
8
+ * {@link SdkStatsFeature} so that the bits and exporter bits can be
9
9
  * OR-combined into a single 64-bit mask without collision.
10
10
  */
11
11
  export var SdkStatsDistroFeature;
@@ -48,7 +48,7 @@ export function isSdkStatsEnabled() {
48
48
  }
49
49
  // ---------------------------------------------------------------------------
50
50
  // Mutable global state — kept module-local to ensure a single source of truth
51
- // across the distro process. Node.js executes JS in a single thread (modulo
51
+ // across the process. Node.js executes JS in a single thread (modulo
52
52
  // worker_threads), so no explicit locking is needed.
53
53
  // ---------------------------------------------------------------------------
54
54
  let _featureBits = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/sdkstats/state.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAiBlC;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iEAAQ,CAAA;IACR,iFAAiB,CAAA;IACjB,kFAAkB,CAAA;IAClB,wFAAqB,CAAA;AACvB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,4CAA4C,CAAC;AAE/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,KAAK,MAAM,MAAM,IAAI,CAAC,qBAAqB,EAAE,0CAA0C,CAAC,EAAE,CAAC;QACzF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,qDAAqD;AACrD,8EAA8E;AAE9E,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,UAAU,kBAAkB,CAAC,IAA6C;IAC9E,YAAY,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAA6B;IACtE,oBAAoB,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAQ,GAAG,IAAI;IACjD,SAAS,GAAG,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,YAAY,GAAG,CAAC,CAAC;IACjB,oBAAoB,GAAG,CAAC,CAAC;IACzB,SAAS,GAAG,KAAK,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/sdkstats/state.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAiBlC;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iEAAQ,CAAA;IACR,iFAAiB,CAAA;IACjB,kFAAkB,CAAA;IAClB,wFAAqB,CAAA;AACvB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,4CAA4C,CAAC;AAE/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,KAAK,MAAM,MAAM,IAAI,CAAC,qBAAqB,EAAE,0CAA0C,CAAC,EAAE,CAAC;QACzF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,qEAAqE;AACrE,qDAAqD;AACrD,8EAA8E;AAE9E,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,UAAU,kBAAkB,CAAC,IAA6C;IAC9E,YAAY,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAA6B;IACtE,oBAAoB,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAQ,GAAG,IAAI;IACjD,SAAS,GAAG,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,YAAY,GAAG,CAAC,CAAC;IACjB,oBAAoB,GAAG,CAAC,CAAC;IACzB,SAAS,GAAG,KAAK,CAAC;AACpB,CAAC"}
@@ -37,7 +37,7 @@ export declare class InternalConfig {
37
37
  browserSdkLoaderOptions: BrowserSdkLoaderOptions;
38
38
  /**
39
39
  * Initializes a new instance of InternalConfig.
40
- * Accepts MicrosoftOpenTelemetryOptions (distro-level) — global options come
40
+ * Accepts MicrosoftOpenTelemetryOptions (top-level) — global options come
41
41
  * from the top level, Azure Monitor-specific options from the azureMonitor key.
42
42
  */
43
43
  constructor(options?: MicrosoftOpenTelemetryOptions);
@@ -42,7 +42,7 @@ export class InternalConfig {
42
42
  browserSdkLoaderOptions;
43
43
  /**
44
44
  * Initializes a new instance of InternalConfig.
45
- * Accepts MicrosoftOpenTelemetryOptions (distro-level) — global options come
45
+ * Accepts MicrosoftOpenTelemetryOptions (top-level) — global options come
46
46
  * from the top level, Azure Monitor-specific options from the azureMonitor key.
47
47
  */
48
48
  constructor(options) {
@@ -8,7 +8,7 @@ import type { A365Options } from "./a365/index.js";
8
8
  /**
9
9
  * Microsoft OpenTelemetry distribution version.
10
10
  */
11
- export declare const MICROSOFT_OPENTELEMETRY_VERSION = "1.1.0";
11
+ export declare const MICROSOFT_OPENTELEMETRY_VERSION = "1.2.0";
12
12
  /**
13
13
  * Microsoft OpenTelemetry Options
14
14
  *
@@ -45,7 +45,7 @@ export interface MicrosoftOpenTelemetryOptions {
45
45
  *
46
46
  * These options control Azure Monitor-specific behavior. Global options
47
47
  * (resource, sampling, instrumentations, processors) are defined at the
48
- * distro level in {@link MicrosoftOpenTelemetryOptions}.
48
+ * top level in {@link MicrosoftOpenTelemetryOptions}.
49
49
  */
50
50
  export interface AzureMonitorOpenTelemetryOptions {
51
51
  /** Enable or disable Azure Monitor export (Default true) */
@@ -196,7 +196,7 @@ export interface BrowserSdkLoaderOptions {
196
196
  /** Browser SDK Loader Connection String */
197
197
  connectionString?: string;
198
198
  }
199
- export declare const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.16.0";
199
+ export declare const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.18.2";
200
200
  export declare const AZURE_MONITOR_STATSBEAT_FEATURES = "AZURE_MONITOR_STATSBEAT_FEATURES";
201
201
  export declare const AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
202
202
  export declare const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
package/dist/esm/types.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Microsoft OpenTelemetry distribution version.
3
3
  */
4
- export const MICROSOFT_OPENTELEMETRY_VERSION = "1.1.0";
4
+ export const MICROSOFT_OPENTELEMETRY_VERSION = "1.2.0";
5
5
  /**
6
6
  * SDK Stats Features Mapping
7
7
  * @internal
@@ -19,7 +19,7 @@ export const SdkStatsFeaturesMap = new Map([
19
19
  ["a365", 512],
20
20
  ["otlp", 1024],
21
21
  ]);
22
- export const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.16.0";
22
+ export const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.18.2";
23
23
  export const AZURE_MONITOR_STATSBEAT_FEATURES = "AZURE_MONITOR_STATSBEAT_FEATURES";
24
24
  export const AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
25
25
  export const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
@@ -1 +1 @@
1
- {"version":3,"file":"sdkStats.d.ts","sourceRoot":"","sources":["../../../src/utils/sdkStats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,gBAAgB,EAChB,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AAUrB,cAAM,qBAAqB;IAEzB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,+BAA+B,CAAgC;IACvE,OAAO,CAAC,uBAAuB,CAAwB;;IAgBhD,mBAAmB,GACxB,0BAA0B,wBAAwB,EAClD,kBAAkB,gBAAgB,UAyGlC;CACH;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,qBAAqB,CAKnD"}
1
+ {"version":3,"file":"sdkStats.d.ts","sourceRoot":"","sources":["../../../src/utils/sdkStats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,gBAAgB,EAChB,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AAUrB,cAAM,qBAAqB;IAEzB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,+BAA+B,CAAgC;IACvE,OAAO,CAAC,uBAAuB,CAAwB;;IAgBhD,mBAAmB,GACxB,0BAA0B,wBAAwB,EAClD,kBAAkB,gBAAgB,UAmHlC;CACH;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,qBAAqB,CAKnD"}
@@ -97,9 +97,20 @@ class SdkStatsConfiguration {
97
97
  }
98
98
  // Merge old SDK Stats options with new SDK Stats options overriding any common properties
99
99
  try {
100
- const currentFeaturesBitMap = Number(process.env[AZURE_MONITOR_STATSBEAT_FEATURES]);
101
- if (!isNaN(currentFeaturesBitMap)) {
102
- featureBitMap |= currentFeaturesBitMap;
100
+ const envValue = process.env[AZURE_MONITOR_STATSBEAT_FEATURES];
101
+ if (envValue) {
102
+ const asNumber = Number(envValue);
103
+ if (!isNaN(asNumber)) {
104
+ // Plain number format (e.g. set by the shim)
105
+ featureBitMap |= asNumber;
106
+ }
107
+ else {
108
+ // JSON format (e.g. set by a previous call to this function)
109
+ const parsed = JSON.parse(envValue);
110
+ if (parsed && typeof parsed.feature === "number") {
111
+ featureBitMap |= parsed.feature;
112
+ }
113
+ }
103
114
  }
104
115
  process.env[AZURE_MONITOR_STATSBEAT_FEATURES] = JSON.stringify({
105
116
  instrumentation: instrumentationBitMap,