@microsoft/opentelemetry 1.0.2 → 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 (404) hide show
  1. package/README.md +74 -71
  2. package/dist/commonjs/a365/configuration/A365Configuration.d.ts +3 -0
  3. package/dist/commonjs/a365/configuration/A365Configuration.d.ts.map +1 -1
  4. package/dist/commonjs/a365/configuration/A365Configuration.js +8 -3
  5. package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
  6. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +10 -1
  7. package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
  8. package/dist/commonjs/a365/constants.d.ts +134 -3
  9. package/dist/commonjs/a365/constants.d.ts.map +1 -1
  10. package/dist/commonjs/a365/constants.js +141 -2
  11. package/dist/commonjs/a365/constants.js.map +1 -1
  12. package/dist/commonjs/a365/contracts.d.ts +246 -8
  13. package/dist/commonjs/a365/contracts.d.ts.map +1 -1
  14. package/dist/commonjs/a365/contracts.js +81 -3
  15. package/dist/commonjs/a365/contracts.js.map +1 -1
  16. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +33 -1
  17. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  18. package/dist/commonjs/a365/exporter/Agent365Exporter.js +134 -3
  19. package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
  20. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +28 -1
  21. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  22. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +2 -0
  23. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  24. package/dist/commonjs/a365/exporter/AgentIdentity.d.ts +17 -0
  25. package/dist/commonjs/a365/exporter/AgentIdentity.d.ts.map +1 -0
  26. package/dist/commonjs/a365/exporter/AgentIdentity.js +5 -0
  27. package/dist/commonjs/a365/exporter/AgentIdentity.js.map +1 -0
  28. package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts +3 -0
  29. package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts.map +1 -1
  30. package/dist/commonjs/a365/exporter/ExporterEventNames.js +3 -0
  31. package/dist/commonjs/a365/exporter/ExporterEventNames.js.map +1 -1
  32. package/dist/commonjs/a365/exporter/TokenResolverContext.d.ts +18 -0
  33. package/dist/commonjs/a365/exporter/TokenResolverContext.d.ts.map +1 -0
  34. package/dist/commonjs/a365/exporter/TokenResolverContext.js +5 -0
  35. package/dist/commonjs/a365/exporter/TokenResolverContext.js.map +1 -0
  36. package/dist/commonjs/a365/exporter/index.d.ts +3 -1
  37. package/dist/commonjs/a365/exporter/index.d.ts.map +1 -1
  38. package/dist/commonjs/a365/exporter/index.js.map +1 -1
  39. package/dist/commonjs/a365/exporter/utils.d.ts +5 -0
  40. package/dist/commonjs/a365/exporter/utils.d.ts.map +1 -1
  41. package/dist/commonjs/a365/exporter/utils.js +23 -25
  42. package/dist/commonjs/a365/exporter/utils.js.map +1 -1
  43. package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts +24 -0
  44. package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts.map +1 -1
  45. package/dist/commonjs/a365/hosting/agenticTokenCache.js +40 -3
  46. package/dist/commonjs/a365/hosting/agenticTokenCache.js.map +1 -1
  47. package/dist/commonjs/a365/hosting/index.d.ts +1 -1
  48. package/dist/commonjs/a365/hosting/index.d.ts.map +1 -1
  49. package/dist/commonjs/a365/hosting/index.js +2 -1
  50. package/dist/commonjs/a365/hosting/index.js.map +1 -1
  51. package/dist/commonjs/a365/hosting/scopeUtils.js +1 -1
  52. package/dist/commonjs/a365/hosting/scopeUtils.js.map +1 -1
  53. package/dist/commonjs/a365/hosting/turnContextUtils.d.ts +6 -1
  54. package/dist/commonjs/a365/hosting/turnContextUtils.d.ts.map +1 -1
  55. package/dist/commonjs/a365/hosting/turnContextUtils.js +31 -5
  56. package/dist/commonjs/a365/hosting/turnContextUtils.js.map +1 -1
  57. package/dist/commonjs/a365/hosting/types.d.ts +48 -2
  58. package/dist/commonjs/a365/hosting/types.d.ts.map +1 -1
  59. package/dist/commonjs/a365/index.d.ts +5 -5
  60. package/dist/commonjs/a365/index.d.ts.map +1 -1
  61. package/dist/commonjs/a365/index.js +8 -2
  62. package/dist/commonjs/a365/index.js.map +1 -1
  63. package/dist/commonjs/a365/message-utils.d.ts +10 -5
  64. package/dist/commonjs/a365/message-utils.d.ts.map +1 -1
  65. package/dist/commonjs/a365/message-utils.js +27 -24
  66. package/dist/commonjs/a365/message-utils.js.map +1 -1
  67. package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts +3 -0
  68. package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts.map +1 -1
  69. package/dist/commonjs/a365/processors/A365SpanProcessor.js +12 -4
  70. package/dist/commonjs/a365/processors/A365SpanProcessor.js.map +1 -1
  71. package/dist/commonjs/a365/scopes/ApplyGuardrailScope.d.ts +45 -0
  72. package/dist/commonjs/a365/scopes/ApplyGuardrailScope.d.ts.map +1 -0
  73. package/dist/commonjs/a365/scopes/ApplyGuardrailScope.js +132 -0
  74. package/dist/commonjs/a365/scopes/ApplyGuardrailScope.js.map +1 -0
  75. package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts +8 -2
  76. package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts.map +1 -1
  77. package/dist/commonjs/a365/scopes/OpenTelemetryScope.js +9 -1
  78. package/dist/commonjs/a365/scopes/OpenTelemetryScope.js.map +1 -1
  79. package/dist/commonjs/a365/scopes/OutputScope.d.ts.map +1 -1
  80. package/dist/commonjs/a365/scopes/OutputScope.js +2 -4
  81. package/dist/commonjs/a365/scopes/OutputScope.js.map +1 -1
  82. package/dist/commonjs/a365/scopes/index.d.ts +1 -0
  83. package/dist/commonjs/a365/scopes/index.d.ts.map +1 -1
  84. package/dist/commonjs/a365/scopes/index.js +3 -1
  85. package/dist/commonjs/a365/scopes/index.js.map +1 -1
  86. package/dist/commonjs/azureMonitor/index.d.ts +6 -6
  87. package/dist/commonjs/azureMonitor/index.d.ts.map +1 -1
  88. package/dist/commonjs/azureMonitor/index.js +3 -3
  89. package/dist/commonjs/azureMonitor/index.js.map +1 -1
  90. package/dist/commonjs/azureMonitor/logs/handler.d.ts +3 -3
  91. package/dist/commonjs/azureMonitor/logs/handler.js +3 -3
  92. package/dist/commonjs/azureMonitor/metrics/handler.d.ts +1 -1
  93. package/dist/commonjs/azureMonitor/metrics/handler.js +1 -1
  94. package/dist/commonjs/azureMonitor/metrics/performanceCounters.d.ts +2 -2
  95. package/dist/commonjs/azureMonitor/metrics/performanceCounters.js +2 -2
  96. package/dist/commonjs/azureMonitor/metrics/quickpulse/filtering/validator.js +2 -2
  97. package/dist/commonjs/azureMonitor/metrics/quickpulse/filtering/validator.js.map +1 -1
  98. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.d.ts +4 -4
  99. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
  100. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.js +27 -15
  101. package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.js.map +1 -1
  102. package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.js +1 -1
  103. package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.js.map +1 -1
  104. package/dist/commonjs/azureMonitor/metrics/standardMetrics.d.ts +1 -1
  105. package/dist/commonjs/azureMonitor/metrics/standardMetrics.js +1 -1
  106. package/dist/commonjs/distro/autoAttach.js +2 -2
  107. package/dist/commonjs/distro/autoAttach.js.map +1 -1
  108. package/dist/commonjs/distro/distro.d.ts +2 -2
  109. package/dist/commonjs/distro/distro.d.ts.map +1 -1
  110. package/dist/commonjs/distro/distro.js +70 -36
  111. package/dist/commonjs/distro/distro.js.map +1 -1
  112. package/dist/commonjs/distro/instrumentations.d.ts +2 -2
  113. package/dist/commonjs/distro/instrumentations.js +2 -2
  114. package/dist/commonjs/distro/loader.d.ts +1 -1
  115. package/dist/commonjs/distro/loader.js +1 -1
  116. package/dist/commonjs/genai/index.d.ts +1 -0
  117. package/dist/commonjs/genai/index.d.ts.map +1 -1
  118. package/dist/commonjs/genai/index.js +9 -0
  119. package/dist/commonjs/genai/index.js.map +1 -1
  120. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +1 -1
  121. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  122. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js +11 -54
  123. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  124. package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts +3 -3
  125. package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
  126. package/dist/commonjs/genai/instrumentations/langchain/tracer.js +31 -9
  127. package/dist/commonjs/genai/instrumentations/langchain/tracer.js.map +1 -1
  128. package/dist/commonjs/genai/instrumentations/langchain/utils.d.ts +6 -0
  129. package/dist/commonjs/genai/instrumentations/langchain/utils.d.ts.map +1 -1
  130. package/dist/commonjs/genai/instrumentations/langchain/utils.js +159 -21
  131. package/dist/commonjs/genai/instrumentations/langchain/utils.js.map +1 -1
  132. package/dist/commonjs/genai/instrumentations/openai/utils.d.ts.map +1 -1
  133. package/dist/commonjs/genai/instrumentations/openai/utils.js +9 -4
  134. package/dist/commonjs/genai/instrumentations/openai/utils.js.map +1 -1
  135. package/dist/commonjs/genai/mainAgent/constants.d.ts +21 -0
  136. package/dist/commonjs/genai/mainAgent/constants.d.ts.map +1 -0
  137. package/dist/commonjs/genai/mainAgent/constants.js +26 -0
  138. package/dist/commonjs/genai/mainAgent/constants.js.map +1 -0
  139. package/dist/commonjs/genai/mainAgent/index.d.ts +3 -0
  140. package/dist/commonjs/genai/mainAgent/index.d.ts.map +1 -0
  141. package/dist/commonjs/genai/mainAgent/index.js +15 -0
  142. package/dist/commonjs/genai/mainAgent/index.js.map +1 -0
  143. package/dist/commonjs/genai/mainAgent/processor.d.ts +64 -0
  144. package/dist/commonjs/genai/mainAgent/processor.d.ts.map +1 -0
  145. package/dist/commonjs/genai/mainAgent/processor.js +150 -0
  146. package/dist/commonjs/genai/mainAgent/processor.js.map +1 -0
  147. package/dist/commonjs/genai/semconv.d.ts +3 -0
  148. package/dist/commonjs/genai/semconv.d.ts.map +1 -1
  149. package/dist/commonjs/genai/semconv.js +4 -1
  150. package/dist/commonjs/genai/semconv.js.map +1 -1
  151. package/dist/commonjs/index.d.ts +4 -3
  152. package/dist/commonjs/index.d.ts.map +1 -1
  153. package/dist/commonjs/index.js +16 -2
  154. package/dist/commonjs/index.js.map +1 -1
  155. package/dist/commonjs/otlp/handler.d.ts.map +1 -1
  156. package/dist/commonjs/otlp/handler.js +3 -6
  157. package/dist/commonjs/otlp/handler.js.map +1 -1
  158. package/dist/commonjs/sdkstats/constants.d.ts +45 -0
  159. package/dist/commonjs/sdkstats/constants.d.ts.map +1 -0
  160. package/dist/commonjs/sdkstats/constants.js +77 -0
  161. package/dist/commonjs/sdkstats/constants.js.map +1 -0
  162. package/dist/commonjs/sdkstats/index.d.ts +6 -3
  163. package/dist/commonjs/sdkstats/index.d.ts.map +1 -1
  164. package/dist/commonjs/sdkstats/index.js +22 -4
  165. package/dist/commonjs/sdkstats/index.js.map +1 -1
  166. package/dist/commonjs/sdkstats/manager.d.ts +7 -3
  167. package/dist/commonjs/sdkstats/manager.d.ts.map +1 -1
  168. package/dist/commonjs/sdkstats/manager.js +100 -27
  169. package/dist/commonjs/sdkstats/manager.js.map +1 -1
  170. package/dist/commonjs/sdkstats/metrics.d.ts +46 -2
  171. package/dist/commonjs/sdkstats/metrics.d.ts.map +1 -1
  172. package/dist/commonjs/sdkstats/metrics.js +117 -14
  173. package/dist/commonjs/sdkstats/metrics.js.map +1 -1
  174. package/dist/commonjs/sdkstats/networkStats.d.ts +79 -0
  175. package/dist/commonjs/sdkstats/networkStats.d.ts.map +1 -0
  176. package/dist/commonjs/sdkstats/networkStats.js +191 -0
  177. package/dist/commonjs/sdkstats/networkStats.js.map +1 -0
  178. package/dist/commonjs/sdkstats/state.d.ts +10 -10
  179. package/dist/commonjs/sdkstats/state.d.ts.map +1 -1
  180. package/dist/commonjs/sdkstats/state.js +4 -4
  181. package/dist/commonjs/sdkstats/state.js.map +1 -1
  182. package/dist/commonjs/shared/config.d.ts +1 -1
  183. package/dist/commonjs/shared/config.js +1 -1
  184. package/dist/commonjs/types.d.ts +18 -18
  185. package/dist/commonjs/types.d.ts.map +1 -1
  186. package/dist/commonjs/types.js +89 -89
  187. package/dist/commonjs/types.js.map +1 -1
  188. package/dist/commonjs/utils/index.d.ts +1 -1
  189. package/dist/commonjs/utils/index.d.ts.map +1 -1
  190. package/dist/commonjs/utils/index.js +2 -2
  191. package/dist/commonjs/utils/index.js.map +1 -1
  192. package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.d.ts +1 -1
  193. package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.js +11 -11
  194. package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.js.map +1 -1
  195. package/dist/commonjs/utils/sdkStats.d.ts +15 -0
  196. package/dist/commonjs/utils/sdkStats.d.ts.map +1 -0
  197. package/dist/commonjs/utils/sdkStats.js +138 -0
  198. package/dist/commonjs/utils/sdkStats.js.map +1 -0
  199. package/dist/esm/a365/configuration/A365Configuration.d.ts +3 -0
  200. package/dist/esm/a365/configuration/A365Configuration.d.ts.map +1 -1
  201. package/dist/esm/a365/configuration/A365Configuration.js +8 -3
  202. package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
  203. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +10 -1
  204. package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
  205. package/dist/esm/a365/constants.d.ts +134 -3
  206. package/dist/esm/a365/constants.d.ts.map +1 -1
  207. package/dist/esm/a365/constants.js +141 -2
  208. package/dist/esm/a365/constants.js.map +1 -1
  209. package/dist/esm/a365/contracts.d.ts +246 -8
  210. package/dist/esm/a365/contracts.d.ts.map +1 -1
  211. package/dist/esm/a365/contracts.js +80 -2
  212. package/dist/esm/a365/contracts.js.map +1 -1
  213. package/dist/esm/a365/exporter/Agent365Exporter.d.ts +33 -1
  214. package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  215. package/dist/esm/a365/exporter/Agent365Exporter.js +135 -4
  216. package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
  217. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +28 -1
  218. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  219. package/dist/esm/a365/exporter/Agent365ExporterOptions.js +2 -0
  220. package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  221. package/dist/esm/a365/exporter/AgentIdentity.d.ts +17 -0
  222. package/dist/esm/a365/exporter/AgentIdentity.d.ts.map +1 -0
  223. package/dist/esm/a365/exporter/AgentIdentity.js +4 -0
  224. package/dist/esm/a365/exporter/AgentIdentity.js.map +1 -0
  225. package/dist/esm/a365/exporter/ExporterEventNames.d.ts +3 -0
  226. package/dist/esm/a365/exporter/ExporterEventNames.d.ts.map +1 -1
  227. package/dist/esm/a365/exporter/ExporterEventNames.js +3 -0
  228. package/dist/esm/a365/exporter/ExporterEventNames.js.map +1 -1
  229. package/dist/esm/a365/exporter/TokenResolverContext.d.ts +18 -0
  230. package/dist/esm/a365/exporter/TokenResolverContext.d.ts.map +1 -0
  231. package/dist/esm/a365/exporter/TokenResolverContext.js +4 -0
  232. package/dist/esm/a365/exporter/TokenResolverContext.js.map +1 -0
  233. package/dist/esm/a365/exporter/index.d.ts +3 -1
  234. package/dist/esm/a365/exporter/index.d.ts.map +1 -1
  235. package/dist/esm/a365/exporter/index.js.map +1 -1
  236. package/dist/esm/a365/exporter/utils.d.ts +5 -0
  237. package/dist/esm/a365/exporter/utils.d.ts.map +1 -1
  238. package/dist/esm/a365/exporter/utils.js +22 -24
  239. package/dist/esm/a365/exporter/utils.js.map +1 -1
  240. package/dist/esm/a365/hosting/agenticTokenCache.d.ts +24 -0
  241. package/dist/esm/a365/hosting/agenticTokenCache.d.ts.map +1 -1
  242. package/dist/esm/a365/hosting/agenticTokenCache.js +40 -3
  243. package/dist/esm/a365/hosting/agenticTokenCache.js.map +1 -1
  244. package/dist/esm/a365/hosting/index.d.ts +1 -1
  245. package/dist/esm/a365/hosting/index.d.ts.map +1 -1
  246. package/dist/esm/a365/hosting/index.js +1 -1
  247. package/dist/esm/a365/hosting/index.js.map +1 -1
  248. package/dist/esm/a365/hosting/scopeUtils.js +2 -2
  249. package/dist/esm/a365/hosting/scopeUtils.js.map +1 -1
  250. package/dist/esm/a365/hosting/turnContextUtils.d.ts +6 -1
  251. package/dist/esm/a365/hosting/turnContextUtils.d.ts.map +1 -1
  252. package/dist/esm/a365/hosting/turnContextUtils.js +30 -5
  253. package/dist/esm/a365/hosting/turnContextUtils.js.map +1 -1
  254. package/dist/esm/a365/hosting/types.d.ts +48 -2
  255. package/dist/esm/a365/hosting/types.d.ts.map +1 -1
  256. package/dist/esm/a365/index.d.ts +5 -5
  257. package/dist/esm/a365/index.d.ts.map +1 -1
  258. package/dist/esm/a365/index.js +3 -3
  259. package/dist/esm/a365/index.js.map +1 -1
  260. package/dist/esm/a365/message-utils.d.ts +10 -5
  261. package/dist/esm/a365/message-utils.d.ts.map +1 -1
  262. package/dist/esm/a365/message-utils.js +28 -25
  263. package/dist/esm/a365/message-utils.js.map +1 -1
  264. package/dist/esm/a365/processors/A365SpanProcessor.d.ts +3 -0
  265. package/dist/esm/a365/processors/A365SpanProcessor.d.ts.map +1 -1
  266. package/dist/esm/a365/processors/A365SpanProcessor.js +12 -4
  267. package/dist/esm/a365/processors/A365SpanProcessor.js.map +1 -1
  268. package/dist/esm/a365/scopes/ApplyGuardrailScope.d.ts +45 -0
  269. package/dist/esm/a365/scopes/ApplyGuardrailScope.d.ts.map +1 -0
  270. package/dist/esm/a365/scopes/ApplyGuardrailScope.js +128 -0
  271. package/dist/esm/a365/scopes/ApplyGuardrailScope.js.map +1 -0
  272. package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts +8 -2
  273. package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts.map +1 -1
  274. package/dist/esm/a365/scopes/OpenTelemetryScope.js +9 -1
  275. package/dist/esm/a365/scopes/OpenTelemetryScope.js.map +1 -1
  276. package/dist/esm/a365/scopes/OutputScope.d.ts.map +1 -1
  277. package/dist/esm/a365/scopes/OutputScope.js +2 -4
  278. package/dist/esm/a365/scopes/OutputScope.js.map +1 -1
  279. package/dist/esm/a365/scopes/index.d.ts +1 -0
  280. package/dist/esm/a365/scopes/index.d.ts.map +1 -1
  281. package/dist/esm/a365/scopes/index.js +1 -0
  282. package/dist/esm/a365/scopes/index.js.map +1 -1
  283. package/dist/esm/azureMonitor/index.d.ts +6 -6
  284. package/dist/esm/azureMonitor/index.d.ts.map +1 -1
  285. package/dist/esm/azureMonitor/index.js +2 -2
  286. package/dist/esm/azureMonitor/index.js.map +1 -1
  287. package/dist/esm/azureMonitor/logs/handler.d.ts +3 -3
  288. package/dist/esm/azureMonitor/logs/handler.js +3 -3
  289. package/dist/esm/azureMonitor/metrics/handler.d.ts +1 -1
  290. package/dist/esm/azureMonitor/metrics/handler.js +1 -1
  291. package/dist/esm/azureMonitor/metrics/performanceCounters.d.ts +2 -2
  292. package/dist/esm/azureMonitor/metrics/performanceCounters.js +2 -2
  293. package/dist/esm/azureMonitor/metrics/quickpulse/filtering/validator.js +2 -2
  294. package/dist/esm/azureMonitor/metrics/quickpulse/filtering/validator.js.map +1 -1
  295. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.d.ts +4 -4
  296. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
  297. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.js +27 -15
  298. package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.js.map +1 -1
  299. package/dist/esm/azureMonitor/metrics/quickpulse/utils.js +1 -1
  300. package/dist/esm/azureMonitor/metrics/quickpulse/utils.js.map +1 -1
  301. package/dist/esm/azureMonitor/metrics/standardMetrics.d.ts +1 -1
  302. package/dist/esm/azureMonitor/metrics/standardMetrics.js +1 -1
  303. package/dist/esm/distro/autoAttach.js +2 -2
  304. package/dist/esm/distro/autoAttach.js.map +1 -1
  305. package/dist/esm/distro/distro.d.ts +2 -2
  306. package/dist/esm/distro/distro.d.ts.map +1 -1
  307. package/dist/esm/distro/distro.js +62 -28
  308. package/dist/esm/distro/distro.js.map +1 -1
  309. package/dist/esm/distro/instrumentations.d.ts +2 -2
  310. package/dist/esm/distro/instrumentations.js +2 -2
  311. package/dist/esm/distro/loader.d.ts +1 -1
  312. package/dist/esm/distro/loader.js +1 -1
  313. package/dist/esm/genai/index.d.ts +1 -0
  314. package/dist/esm/genai/index.d.ts.map +1 -1
  315. package/dist/esm/genai/index.js +1 -0
  316. package/dist/esm/genai/index.js.map +1 -1
  317. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +1 -1
  318. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  319. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js +11 -21
  320. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  321. package/dist/esm/genai/instrumentations/langchain/tracer.d.ts +3 -3
  322. package/dist/esm/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
  323. package/dist/esm/genai/instrumentations/langchain/tracer.js +31 -9
  324. package/dist/esm/genai/instrumentations/langchain/tracer.js.map +1 -1
  325. package/dist/esm/genai/instrumentations/langchain/utils.d.ts +6 -0
  326. package/dist/esm/genai/instrumentations/langchain/utils.d.ts.map +1 -1
  327. package/dist/esm/genai/instrumentations/langchain/utils.js +155 -23
  328. package/dist/esm/genai/instrumentations/langchain/utils.js.map +1 -1
  329. package/dist/esm/genai/instrumentations/openai/utils.d.ts.map +1 -1
  330. package/dist/esm/genai/instrumentations/openai/utils.js +10 -5
  331. package/dist/esm/genai/instrumentations/openai/utils.js.map +1 -1
  332. package/dist/esm/genai/mainAgent/constants.d.ts +21 -0
  333. package/dist/esm/genai/mainAgent/constants.d.ts.map +1 -0
  334. package/dist/esm/genai/mainAgent/constants.js +23 -0
  335. package/dist/esm/genai/mainAgent/constants.js.map +1 -0
  336. package/dist/esm/genai/mainAgent/index.d.ts +3 -0
  337. package/dist/esm/genai/mainAgent/index.d.ts.map +1 -0
  338. package/dist/esm/genai/mainAgent/index.js +5 -0
  339. package/dist/esm/genai/mainAgent/index.js.map +1 -0
  340. package/dist/esm/genai/mainAgent/processor.d.ts +64 -0
  341. package/dist/esm/genai/mainAgent/processor.d.ts.map +1 -0
  342. package/dist/esm/genai/mainAgent/processor.js +145 -0
  343. package/dist/esm/genai/mainAgent/processor.js.map +1 -0
  344. package/dist/esm/genai/semconv.d.ts +3 -0
  345. package/dist/esm/genai/semconv.d.ts.map +1 -1
  346. package/dist/esm/genai/semconv.js +3 -0
  347. package/dist/esm/genai/semconv.js.map +1 -1
  348. package/dist/esm/index.d.ts +4 -3
  349. package/dist/esm/index.d.ts.map +1 -1
  350. package/dist/esm/index.js +3 -1
  351. package/dist/esm/index.js.map +1 -1
  352. package/dist/esm/otlp/handler.d.ts.map +1 -1
  353. package/dist/esm/otlp/handler.js +3 -6
  354. package/dist/esm/otlp/handler.js.map +1 -1
  355. package/dist/esm/sdkstats/constants.d.ts +45 -0
  356. package/dist/esm/sdkstats/constants.d.ts.map +1 -0
  357. package/dist/esm/sdkstats/constants.js +74 -0
  358. package/dist/esm/sdkstats/constants.js.map +1 -0
  359. package/dist/esm/sdkstats/index.d.ts +6 -3
  360. package/dist/esm/sdkstats/index.d.ts.map +1 -1
  361. package/dist/esm/sdkstats/index.js +4 -3
  362. package/dist/esm/sdkstats/index.js.map +1 -1
  363. package/dist/esm/sdkstats/manager.d.ts +7 -3
  364. package/dist/esm/sdkstats/manager.d.ts.map +1 -1
  365. package/dist/esm/sdkstats/manager.js +100 -27
  366. package/dist/esm/sdkstats/manager.js.map +1 -1
  367. package/dist/esm/sdkstats/metrics.d.ts +46 -2
  368. package/dist/esm/sdkstats/metrics.d.ts.map +1 -1
  369. package/dist/esm/sdkstats/metrics.js +117 -14
  370. package/dist/esm/sdkstats/metrics.js.map +1 -1
  371. package/dist/esm/sdkstats/networkStats.d.ts +79 -0
  372. package/dist/esm/sdkstats/networkStats.d.ts.map +1 -0
  373. package/dist/esm/sdkstats/networkStats.js +172 -0
  374. package/dist/esm/sdkstats/networkStats.js.map +1 -0
  375. package/dist/esm/sdkstats/state.d.ts +10 -10
  376. package/dist/esm/sdkstats/state.d.ts.map +1 -1
  377. package/dist/esm/sdkstats/state.js +4 -4
  378. package/dist/esm/sdkstats/state.js.map +1 -1
  379. package/dist/esm/shared/config.d.ts +1 -1
  380. package/dist/esm/shared/config.js +1 -1
  381. package/dist/esm/types.d.ts +18 -18
  382. package/dist/esm/types.d.ts.map +1 -1
  383. package/dist/esm/types.js +88 -88
  384. package/dist/esm/types.js.map +1 -1
  385. package/dist/esm/utils/index.d.ts +1 -1
  386. package/dist/esm/utils/index.d.ts.map +1 -1
  387. package/dist/esm/utils/index.js +1 -1
  388. package/dist/esm/utils/index.js.map +1 -1
  389. package/dist/esm/utils/opentelemetryInstrumentationPatcher.d.ts +1 -1
  390. package/dist/esm/utils/opentelemetryInstrumentationPatcher.js +12 -12
  391. package/dist/esm/utils/opentelemetryInstrumentationPatcher.js.map +1 -1
  392. package/dist/esm/utils/sdkStats.d.ts +15 -0
  393. package/dist/esm/utils/sdkStats.d.ts.map +1 -0
  394. package/dist/esm/utils/sdkStats.js +135 -0
  395. package/dist/esm/utils/sdkStats.js.map +1 -0
  396. package/package.json +38 -29
  397. package/dist/commonjs/utils/statsbeat.d.ts +0 -15
  398. package/dist/commonjs/utils/statsbeat.d.ts.map +0 -1
  399. package/dist/commonjs/utils/statsbeat.js +0 -127
  400. package/dist/commonjs/utils/statsbeat.js.map +0 -1
  401. package/dist/esm/utils/statsbeat.d.ts +0 -15
  402. package/dist/esm/utils/statsbeat.d.ts.map +0 -1
  403. package/dist/esm/utils/statsbeat.js +0 -124
  404. package/dist/esm/utils/statsbeat.js.map +0 -1
@@ -8,11 +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, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, drain, } from "./networkStats.js";
16
17
  /**
17
18
  * Feature SDKStats `type` dimension values, per the Application Insights
18
19
  * SDKStats specification.
@@ -23,29 +24,116 @@ export const FEATURE_TYPE_FEATURE = 0;
23
24
  export const FEATURE_TYPE_INSTRUMENTATION = 1;
24
25
  const FEATURE_METRIC_NAME = "Feature";
25
26
  const INSTRUMENTATION_METRIC_NAME = "Feature.instrumentations";
26
- const STATSBEAT_LANGUAGE = "node";
27
+ const SDKSTATS_LANGUAGE = "node";
28
+ const NETWORK_GAUGE_SPECS = [
29
+ {
30
+ metric: REQUEST_SUCCESS_NAME,
31
+ unit: "count",
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"],
64
+ },
65
+ ];
27
66
  /**
28
67
  * Registers observable gauges that emit feature/instrumentation data
29
- * derived from the global SDKStats state.
68
+ * derived from the global SDKStats state, plus per-export network
69
+ * SDKStats counters drained from {@link ./networkStats.js}.
30
70
  */
31
71
  export class SdkStatsMetrics {
32
72
  commonAttributes;
33
- constructor(meterProvider, distroVersion) {
34
- const meter = meterProvider.getMeter("microsoft.opentelemetry.sdkstats");
73
+ constructor(providerOrOptions, legacyOptions) {
74
+ let longMeterProvider;
75
+ let shortMeterProvider;
76
+ let distroVersion;
77
+ let networkOnly;
78
+ let cikey;
79
+ if ("shortMeterProvider" in providerOrOptions) {
80
+ // New options-object overload
81
+ longMeterProvider = providerOrOptions.longMeterProvider;
82
+ shortMeterProvider = providerOrOptions.shortMeterProvider;
83
+ distroVersion = providerOrOptions.distroVersion;
84
+ networkOnly = providerOrOptions.networkOnly ?? false;
85
+ cikey = providerOrOptions.cikey;
86
+ }
87
+ else {
88
+ // Legacy single-provider overload (used by tests)
89
+ longMeterProvider = providerOrOptions;
90
+ shortMeterProvider = providerOrOptions;
91
+ distroVersion = legacyOptions?.distroVersion;
92
+ networkOnly = legacyOptions?.networkOnly ?? false;
93
+ cikey = legacyOptions?.cikey;
94
+ }
95
+ // Per spec/sdkstats.md the required customDimensions on every
96
+ // SDKStats observation are: rp, attach, runtimeVersion, os,
97
+ // language, version, cikey (plus endpoint/host on network gauges and
98
+ // statusCode/exceptionType where applicable). `cikey` falls back to
99
+ // "N/A" when unset.
35
100
  this.commonAttributes = {
101
+ rp: "unknown",
102
+ attach: "Manual",
36
103
  runtimeVersion: process.version,
37
104
  os: os.type(),
38
- language: STATSBEAT_LANGUAGE,
105
+ language: SDKSTATS_LANGUAGE,
39
106
  version: distroVersion || MICROSOFT_OPENTELEMETRY_VERSION,
107
+ cikey: cikey || "N/A",
40
108
  };
41
- const featureGauge = meter.createObservableGauge(FEATURE_METRIC_NAME, {
42
- description: "SDKStats metric tracking enabled features",
43
- });
44
- featureGauge.addCallback(this.observeFeatures);
45
- const instrumentationGauge = meter.createObservableGauge(INSTRUMENTATION_METRIC_NAME, {
46
- description: "SDKStats metric tracking enabled instrumentations",
47
- });
48
- instrumentationGauge.addCallback(this.observeInstrumentations);
109
+ // Feature / instrumentation bitmask gauges are skipped when running
110
+ // alongside the Azure Monitor exporter's own SDKStats — that pipeline
111
+ // already emits them (with our feature bits bridged in via
112
+ // `_bridge_sdkstats_to_azure_monitor`) and would collide with these.
113
+ // These gauges are registered on the long-interval MeterProvider.
114
+ if (!networkOnly && longMeterProvider) {
115
+ const longMeter = longMeterProvider.getMeter("microsoft.opentelemetry.sdkstats");
116
+ const featureGauge = longMeter.createObservableGauge(FEATURE_METRIC_NAME, {
117
+ description: "SDKStats metric tracking enabled features",
118
+ });
119
+ featureGauge.addCallback(this.observeFeatures);
120
+ const instrumentationGauge = longMeter.createObservableGauge(INSTRUMENTATION_METRIC_NAME, {
121
+ description: "SDKStats metric tracking enabled instrumentations",
122
+ });
123
+ instrumentationGauge.addCallback(this.observeInstrumentations);
124
+ }
125
+ // Network SDKStats gauges — always registered on the short-interval
126
+ // MeterProvider. Each callback drains the counts accumulated by
127
+ // exporters between observations and emits one Observation per
128
+ // (endpoint, host) tuple.
129
+ const shortMeter = shortMeterProvider.getMeter("microsoft.opentelemetry.sdkstats.network");
130
+ for (const spec of NETWORK_GAUGE_SPECS) {
131
+ const gauge = shortMeter.createObservableGauge(spec.metric, {
132
+ unit: spec.unit,
133
+ description: spec.description,
134
+ });
135
+ gauge.addCallback(this.makeNetworkCallback(spec));
136
+ }
49
137
  }
50
138
  observeFeatures = (result) => {
51
139
  const featureBits = getSdkStatsFeatureFlags();
@@ -73,5 +161,20 @@ export class SdkStatsMetrics {
73
161
  type: FEATURE_TYPE_INSTRUMENTATION,
74
162
  });
75
163
  };
164
+ makeNetworkCallback(spec) {
165
+ return (result) => {
166
+ for (const [key, value] of drain(spec.metric)) {
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
+ }
175
+ result.observe(value, attrs);
176
+ }
177
+ };
178
+ }
76
179
  }
77
180
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/sdkstats/metrics.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,MAAM,mBAAmB,GAAG,SAAS,CAAC;AACtC,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAC/D,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACT,gBAAgB,CAAyB;IAE1D,YAAY,aAA4B,EAAE,aAAsB;QAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAEzE,IAAI,CAAC,gBAAgB,GAAG;YACtB,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE;YACb,QAAQ,EAAE,kBAAkB;YAC5B,OAAO,EAAE,aAAa,IAAI,+BAA+B;SAC1D,CAAC;QAEF,MAAM,YAAY,GAAG,KAAK,CAAC,qBAAqB,CAAC,mBAAmB,EAAE;YACpE,WAAW,EAAE,2CAA2C;SACzD,CAAC,CAAC;QACH,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/C,MAAM,oBAAoB,GAAG,KAAK,CAAC,qBAAqB,CAAC,2BAA2B,EAAE;YACpF,WAAW,EAAE,mDAAmD;SACjE,CAAC,CAAC;QACH,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACjE,CAAC;IAEO,eAAe,GAAG,CAAC,MAAwB,EAAQ,EAAE;QAC3D,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAC9C,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,oEAAoE;YACpE,OAAO;QACT,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;YAChB,GAAG,IAAI,CAAC,gBAAgB;YACxB,oEAAoE;YACpE,kEAAkE;YAClE,qBAAqB;YACrB,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC;YAC5B,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,uBAAuB,GAAG,CAAC,MAAwB,EAAQ,EAAE;QACnE,MAAM,SAAS,GAAG,+BAA+B,EAAE,CAAC;QACpD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;YAChB,GAAG,IAAI,CAAC,gBAAgB;YACxB,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;YAC1B,IAAI,EAAE,4BAA4B;SACnC,CAAC,CAAC;IACL,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/sdkstats/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Network SDKStats accumulator for SDK self-telemetry.
3
+ *
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.
10
+ *
11
+ * Mirrors `src/microsoft/opentelemetry/_sdkstats/_utils.py` from the Python
12
+ * implementation.
13
+ */
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 };
17
+ /**
18
+ * Composite key for an aggregated network SDKStats counter.
19
+ *
20
+ * Per the Application Insights SDKStats spec the per-key dimensions are
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).
24
+ *
25
+ * @internal
26
+ */
27
+ export type NetworkKey = readonly string[];
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;
48
+ /**
49
+ * Compute the stamp-specific short host for the SDKStats `host` dimension.
50
+ *
51
+ * Mirrors `getShortHost` in the AzMon exporter's `NetworkStatsbeatMetrics` class
52
+ * but additionally strips any trailing port (`:4318`) so localhost-style
53
+ * URLs report a clean `localhost` instead of `localhost:4318`. Examples:
54
+ * `https://westus2-1.in.applicationinsights.azure.com` → `westus2`
55
+ * `http://localhost:4318/v1/traces` → `localhost`
56
+ * `https://collector.example.com:8080` → `collector`
57
+ * `https://my-otlp-collector.example.com` → `my-otlp-collector`
58
+ * For non-URL inputs, returns the hostname or the raw input on failure.
59
+ *
60
+ * @internal
61
+ */
62
+ export declare function shortHost(input: string): string;
63
+ /**
64
+ * Atomically return and reset the counts for `metric`.
65
+ *
66
+ * Used by the observable-gauge callbacks so each observation reports only
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").
73
+ */
74
+ export declare function drain(metric: NetworkMetricName): Map<NetworkKey, number>;
75
+ /**
76
+ * @internal Test-only: clear all network SDKStats counters.
77
+ */
78
+ export declare function _resetAllForTest(): void;
79
+ //# sourceMappingURL=networkStats.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,172 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Network SDKStats accumulator for SDK self-telemetry.
5
+ *
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.
12
+ *
13
+ * Mirrors `src/microsoft/opentelemetry/_sdkstats/_utils.py` from the Python
14
+ * implementation.
15
+ */
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, };
23
+ const REQUESTS_MAP = {
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(),
29
+ };
30
+ const DURATION_MAP = new Map();
31
+ // `Map` keys are compared by identity for arrays/objects, so we serialize
32
+ // the key tuple to a string. The `\u0000` separator can't appear in a URL
33
+ // hostname, HTTP status code, or exception-type string, so this is
34
+ // unambiguous.
35
+ const KEY_SEPARATOR = "\u0000";
36
+ function encodeKey(key) {
37
+ return key.join(KEY_SEPARATOR);
38
+ }
39
+ function decodeKey(encoded) {
40
+ return encoded.split(KEY_SEPARATOR);
41
+ }
42
+ function bump(metric, key, value = 1) {
43
+ const bucket = REQUESTS_MAP[metric];
44
+ const encoded = encodeKey(key);
45
+ bucket.set(encoded, (bucket.get(encoded) ?? 0) + value);
46
+ }
47
+ export function recordSuccess(endpoint, host) {
48
+ bump(REQUEST_SUCCESS_NAME, [endpoint, host]);
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
+ }
86
+ /**
87
+ * Compute the stamp-specific short host for the SDKStats `host` dimension.
88
+ *
89
+ * Mirrors `getShortHost` in the AzMon exporter's `NetworkStatsbeatMetrics` class
90
+ * but additionally strips any trailing port (`:4318`) so localhost-style
91
+ * URLs report a clean `localhost` instead of `localhost:4318`. Examples:
92
+ * `https://westus2-1.in.applicationinsights.azure.com` → `westus2`
93
+ * `http://localhost:4318/v1/traces` → `localhost`
94
+ * `https://collector.example.com:8080` → `collector`
95
+ * `https://my-otlp-collector.example.com` → `my-otlp-collector`
96
+ * For non-URL inputs, returns the hostname or the raw input on failure.
97
+ *
98
+ * @internal
99
+ */
100
+ export function shortHost(input) {
101
+ if (!input)
102
+ return "unknown";
103
+ let host = input;
104
+ try {
105
+ const hostRegex = /^https?:\/\/(?:www\.)?([^/.]+)/;
106
+ const res = hostRegex.exec(input);
107
+ if (res && res.length > 1) {
108
+ host = res[1];
109
+ }
110
+ else {
111
+ try {
112
+ host = new URL(input).hostname || input;
113
+ }
114
+ catch {
115
+ host = input;
116
+ }
117
+ }
118
+ host = host.replace(".in.applicationinsights.azure.com", "");
119
+ // Strip Azure stamp suffix (e.g. westus2-1 → westus2)
120
+ host = host.replace(/-\d+$/, "");
121
+ const colon = host.indexOf(":");
122
+ if (colon > 0)
123
+ host = host.slice(0, colon);
124
+ }
125
+ catch {
126
+ /* fall through */
127
+ }
128
+ return host;
129
+ }
130
+ /**
131
+ * Atomically return and reset the counts for `metric`.
132
+ *
133
+ * Used by the observable-gauge callbacks so each observation reports only
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").
140
+ */
141
+ export function drain(metric) {
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];
153
+ for (const [encoded, value] of bucket) {
154
+ snapshot.set(decodeKey(encoded), value);
155
+ }
156
+ bucket.clear();
157
+ return snapshot;
158
+ }
159
+ /**
160
+ * @internal Test-only: clear all network SDKStats counters.
161
+ */
162
+ export function _resetAllForTest() {
163
+ for (const name of NETWORK_METRIC_NAMES) {
164
+ if (name === REQUEST_DURATION_NAME) {
165
+ DURATION_MAP.clear();
166
+ }
167
+ else {
168
+ REQUESTS_MAP[name].clear();
169
+ }
170
+ }
171
+ }
172
+ //# sourceMappingURL=networkStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkStats.js","sourceRoot":"","sources":["../../../src/sdkstats/networkStats.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,20 @@
3
3
  *
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
- * compatible with the Azure Monitor Exporter statsbeat encoding so that
7
- * Azure Monitor consumers see no behavioural change when the distro
8
- * bridges its bits into the exporter's existing pipeline.
6
+ * compatible with the Azure Monitor Exporter SDKStats encoding so that
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
- import { StatsbeatFeature, StatsbeatInstrumentation } from "../types.js";
13
+ import { SdkStatsFeature, SdkStatsInstrumentation } from "../types.js";
14
14
  /**
15
- * Distro-specific feature flags, in addition to the
16
- * {@link StatsbeatFeature} flags shared with the Azure Monitor exporter.
15
+ * Microsoft OpenTelemetry specific feature flags, in addition to the
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 StatsbeatFeature} 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 {
@@ -45,9 +45,9 @@ export declare const APPLICATIONINSIGHTS_STATSBEAT_DISABLED_ALL = "APPLICATIONIN
45
45
  * Return `true` unless SDKStats has been disabled via env var.
46
46
  */
47
47
  export declare function isSdkStatsEnabled(): boolean;
48
- export declare function setSdkStatsFeature(flag: StatsbeatFeature | SdkStatsDistroFeature): void;
48
+ export declare function setSdkStatsFeature(flag: SdkStatsFeature | SdkStatsDistroFeature): void;
49
49
  export declare function getSdkStatsFeatureFlags(): number;
50
- export declare function setSdkStatsInstrumentation(flag: StatsbeatInstrumentation): void;
50
+ export declare function setSdkStatsInstrumentation(flag: SdkStatsInstrumentation): void;
51
51
  export declare function getSdkStatsInstrumentationFlags(): number;
52
52
  export declare function setSdkStatsShutdown(shutdown?: boolean): void;
53
53
  export declare function getSdkStatsShutdown(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/state.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEzE;;;;;;;GAOG;AACH,oBAAY,qBAAqB;IAC/B,IAAI,IAAI;IACR,WAAW,MAAM;IACjB,WAAW,OAAO;IAClB,cAAc,OAAO;CACtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,qCAAqC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,0CAA0C,+CACT,CAAC;AAI/C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAS3C;AAYD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,IAAI,CAEvF;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,CAE/E;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,UAAO,GAAG,IAAI,CAEzD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/state.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;;;;GAOG;AACH,oBAAY,qBAAqB;IAC/B,IAAI,IAAI;IACR,WAAW,MAAM;IACjB,WAAW,OAAO;IAClB,cAAc,OAAO;CACtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,qCAAqC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,0CAA0C,+CACT,CAAC;AAI/C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAS3C;AAYD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,qBAAqB,GAAG,IAAI,CAEtF;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAE9E;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,UAAO,GAAG,IAAI,CAEzD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
@@ -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
5
- * {@link StatsbeatFeature} flags shared with the Azure Monitor exporter.
4
+ * Microsoft OpenTelemetry specific feature flags, in addition to the
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 StatsbeatFeature} 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,IAA8C;IAC/E,YAAY,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAA8B;IACvE,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) {