@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
@@ -0,0 +1,74 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Shared constants for the SDKStats Network pipeline.
5
+ *
6
+ * Centralizes the wire-format metric names, HTTP status-code buckets,
7
+ * endpoint category labels, and bounded `exceptionType` strings used by
8
+ * the network statsbeat accumulator ({@link ./networkStats}) and the
9
+ * A365 exporter ({@link ../a365/exporter/Agent365Exporter}).
10
+ *
11
+ * Ideally the wire-format metric names would be imported directly from
12
+ * the `StatsbeatCounter` enum in `@azure/monitor-opentelemetry-exporter`
13
+ * so we have a single source of truth. That enum is currently shipped at
14
+ * `dist/{esm,commonjs}/export/statsbeat/types.{js,d.ts}`, but the
15
+ * package's `package.json#exports` field only publishes `.` and
16
+ * `./package.json`, so under our `moduleResolution: NodeNext` config a
17
+ * direct `import { StatsbeatCounter } from
18
+ * "@azure/monitor-opentelemetry-exporter/dist/esm/export/statsbeat/types.js"`
19
+ * fails with `TS2307: Cannot find module … or its corresponding type
20
+ * declarations`. Until the exporter exposes the enum from its public
21
+ * entry point (tracked upstream in
22
+ * https://github.com/Azure/azure-sdk-for-js, sdk/monitor/monitor-opentelemetry-exporter)
23
+ * we mirror the values here and keep them in lockstep — sending envelopes
24
+ * under any other name returns HTTP 200 but the AzMon SDKStats backend
25
+ * doesn't index them.
26
+ */
27
+ // ---------------------------------------------------------------------------
28
+ // Wire-format metric names. Must match the `StatsbeatCounter` enum in
29
+ // `@azure/monitor-opentelemetry-exporter/dist/{esm,commonjs}/export/statsbeat/types.js`.
30
+ // ---------------------------------------------------------------------------
31
+ export const REQUEST_SUCCESS_NAME = "Request_Success_Count";
32
+ export const REQUEST_FAILURE_NAME = "Request_Failure_Count";
33
+ export const REQUEST_DURATION_NAME = "Request_Duration";
34
+ export const RETRY_COUNT_NAME = "Retry_Count";
35
+ export const THROTTLE_COUNT_NAME = "Throttle_Count";
36
+ export const EXCEPTION_COUNT_NAME = "Exception_Count";
37
+ /**
38
+ * Names of registered network SDKStats metrics, in registration order.
39
+ *
40
+ * @internal
41
+ */
42
+ export const NETWORK_METRIC_NAMES = [
43
+ REQUEST_SUCCESS_NAME,
44
+ REQUEST_FAILURE_NAME,
45
+ REQUEST_DURATION_NAME,
46
+ RETRY_COUNT_NAME,
47
+ THROTTLE_COUNT_NAME,
48
+ EXCEPTION_COUNT_NAME,
49
+ ];
50
+ // ---------------------------------------------------------------------------
51
+ // HTTP status-code buckets per the Application Insights SDKStats Network
52
+ // specification. Used by `classifyStatusCode` and by exporter wrappers that
53
+ // need a defensive secondary classification.
54
+ // ---------------------------------------------------------------------------
55
+ export const RETRY_STATUSES = new Set([
56
+ 401, 403, 408, 429, 500, 502, 503, 504,
57
+ ]);
58
+ export const THROTTLE_STATUSES = new Set([402, 439]);
59
+ // 206 is handled by the caller (per-envelope breakdown). 307/308 are
60
+ // followed by the HTTP client transparently and are not reported.
61
+ export const IGNORED_STATUSES = new Set([206, 307, 308]);
62
+ // ---------------------------------------------------------------------------
63
+ // Endpoint category labels. Per spec, `endpoint` is a category label, not
64
+ // the destination URL.
65
+ // ---------------------------------------------------------------------------
66
+ export const A365_ENDPOINT_CATEGORY = "a365";
67
+ // ---------------------------------------------------------------------------
68
+ // Bounded set of `exceptionType` labels for `Exception_Count`.
69
+ // Cardinality must stay bounded so the SDKStats backend can index it.
70
+ // ---------------------------------------------------------------------------
71
+ export const EXC_TIMEOUT = "Timeout exception";
72
+ export const EXC_NETWORK = "Network exception";
73
+ export const EXC_CLIENT = "Client exception";
74
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/sdkstats/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,8EAA8E;AAC9E,sEAAsE;AACtE,yFAAyF;AACzF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,gBAAgB;IAChB,mBAAmB;IACnB,oBAAoB;CACZ,CAAC;AAIX,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,6CAA6C;AAC7C,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IACzD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CACvC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1E,qEAAqE;AACrE,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE9E,8EAA8E;AAC9E,0EAA0E;AAC1E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C,8EAA8E;AAC9E,+DAA+D;AAC/D,sEAAsE;AACtE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC"}
@@ -1,18 +1,21 @@
1
1
  /**
2
- * SDK self-telemetry (SDKStats) for the Microsoft OpenTelemetry Distro.
2
+ * SDK self-telemetry (SDKStats) for `@microsoft/opentelemetry`.
3
3
  *
4
4
  * Backend-agnostic SDK health and usage telemetry that works regardless
5
5
  * of which export backends are enabled (Azure Monitor, OTLP, A365,
6
6
  * Console). Tracks:
7
7
  *
8
- * - **Features** — which distro features are active (A365, OTLP, console,
8
+ * - **Features** — which package features are active (A365, OTLP, console,
9
9
  * live metrics, browser SDK loader, ...)
10
10
  * - **Instrumentations** — which library instrumentations are enabled
11
11
  *
12
12
  * Mirrors `src/microsoft/opentelemetry/_sdkstats/__init__.py` from the
13
- * Python distro.
13
+ * Python implementation.
14
14
  */
15
15
  export { SdkStatsDistroFeature, SDKSTATS_DISABLED_ENV, APPLICATIONINSIGHTS_STATSBEAT_DISABLED_ALL, isSdkStatsEnabled, setSdkStatsFeature, getSdkStatsFeatureFlags, setSdkStatsInstrumentation, getSdkStatsInstrumentationFlags, setSdkStatsShutdown, getSdkStatsShutdown, } from "./state.js";
16
16
  export { SdkStatsMetrics, FEATURE_TYPE_FEATURE, FEATURE_TYPE_INSTRUMENTATION } from "./metrics.js";
17
+ export type { SdkStatsMetricsOptions } from "./metrics.js";
17
18
  export { SdkStatsManager } from "./manager.js";
19
+ export { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, recordSuccess, recordFailure, recordRetry, recordThrottle, recordException, recordDuration, classifyStatusCode, drain, shortHost, _resetAllForTest as _resetNetworkStatsForTest, } from "./networkStats.js";
20
+ export type { NetworkMetricName, NetworkKey, StatusCodeKind } from "./networkStats.js";
18
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,0CAA0C,EAC1C,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,0CAA0C,EAC1C,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACnG,YAAY,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,gBAAgB,IAAI,yBAAyB,GAC9C,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,20 +1,21 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  /**
4
- * SDK self-telemetry (SDKStats) for the Microsoft OpenTelemetry Distro.
4
+ * SDK self-telemetry (SDKStats) for `@microsoft/opentelemetry`.
5
5
  *
6
6
  * Backend-agnostic SDK health and usage telemetry that works regardless
7
7
  * of which export backends are enabled (Azure Monitor, OTLP, A365,
8
8
  * Console). Tracks:
9
9
  *
10
- * - **Features** — which distro features are active (A365, OTLP, console,
10
+ * - **Features** — which package features are active (A365, OTLP, console,
11
11
  * live metrics, browser SDK loader, ...)
12
12
  * - **Instrumentations** — which library instrumentations are enabled
13
13
  *
14
14
  * Mirrors `src/microsoft/opentelemetry/_sdkstats/__init__.py` from the
15
- * Python distro.
15
+ * Python implementation.
16
16
  */
17
17
  export { SdkStatsDistroFeature, SDKSTATS_DISABLED_ENV, APPLICATIONINSIGHTS_STATSBEAT_DISABLED_ALL, isSdkStatsEnabled, setSdkStatsFeature, getSdkStatsFeatureFlags, setSdkStatsInstrumentation, getSdkStatsInstrumentationFlags, setSdkStatsShutdown, getSdkStatsShutdown, } from "./state.js";
18
18
  export { SdkStatsMetrics, FEATURE_TYPE_FEATURE, FEATURE_TYPE_INSTRUMENTATION } from "./metrics.js";
19
19
  export { SdkStatsManager } from "./manager.js";
20
+ export { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, recordSuccess, recordFailure, recordRetry, recordThrottle, recordException, recordDuration, classifyStatusCode, drain, shortHost, _resetAllForTest as _resetNetworkStatsForTest, } from "./networkStats.js";
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdkstats/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,0CAA0C,EAC1C,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdkstats/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,0CAA0C,EAC1C,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAGnG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,gBAAgB,IAAI,yBAAyB,GAC9C,MAAM,mBAAmB,CAAC"}
@@ -6,20 +6,24 @@
6
6
  */
7
7
  export declare class SdkStatsManager {
8
8
  private static _instance;
9
- private _meterProvider;
9
+ private _longMeterProvider;
10
+ private _shortMeterProvider;
10
11
  private _metrics;
11
12
  private _initialized;
12
13
  private _initialExportTimer;
13
14
  static getInstance(): SdkStatsManager;
14
15
  get isInitialized(): boolean;
15
16
  /**
16
- * Set up SDKStats export via the Azure Monitor statsbeat endpoint.
17
+ * Set up SDKStats export via the Azure Monitor SDKStats endpoint.
17
18
  *
18
19
  * Returns `true` if the standalone pipeline was initialized (or was
19
20
  * already initialized), `false` if SDKStats are disabled via env var
20
21
  * or initialization failed.
21
22
  */
22
- initialize(): Promise<boolean>;
23
+ initialize(options?: {
24
+ networkOnly?: boolean;
25
+ cikey?: string;
26
+ }): Promise<boolean>;
23
27
  shutdown(): Promise<boolean>;
24
28
  private _cleanup;
25
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/manager.ts"],"names":[],"mappings":"AAyDA;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAA8B;IAEtD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAA6B;IAExD,MAAM,CAAC,WAAW,IAAI,eAAe;IAOrC,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IA2E9B,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBlC,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;CAG7B"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/manager.ts"],"names":[],"mappings":"AAsFA;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAA8B;IAEtD,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAA6B;IAExD,MAAM,CAAC,WAAW,IAAI,eAAe;IAOrC,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA8GrF,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBlC,OAAO,CAAC,QAAQ;IAWhB;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;CAG7B"}
@@ -2,19 +2,19 @@
2
2
  // Licensed under the MIT License.
3
3
  /**
4
4
  * SDKStats manager — sends SDK self-telemetry to the Application Insights
5
- * statsbeat ingestion endpoint, independent of the customer's telemetry
5
+ * SDKStats ingestion endpoint, independent of the customer's telemetry
6
6
  * pipeline.
7
7
  *
8
8
  * When the full Azure Monitor pipeline is enabled, the exporter package's
9
- * own statsbeat 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";
@@ -38,6 +38,32 @@ const DEFAULT_LONG_EXPORT_INTERVAL_MS = 24 * 60 * 60 * 1000;
38
38
  * @internal
39
39
  */
40
40
  const SDKSTATS_LONG_EXPORT_INTERVAL_ENV = "APPLICATIONINSIGHTS_STATS_LONG_EXPORT_INTERVAL";
41
+ /**
42
+ * Default short export interval (15 minutes) for network SDKStats
43
+ * counters. Matches the Application Insights SDKStats short-interval
44
+ * cadence used by the Python package (`_get_stats_short_export_interval()`
45
+ * in `azure.monitor.opentelemetry.exporter.statsbeat._utils`).
46
+ *
47
+ * @internal
48
+ */
49
+ const DEFAULT_SHORT_EXPORT_INTERVAL_MS = 15 * 60 * 1000;
50
+ /**
51
+ * Override env var: short (network) export interval in seconds.
52
+ * Matches the Python package env var name.
53
+ *
54
+ * @internal
55
+ */
56
+ const SDKSTATS_SHORT_EXPORT_INTERVAL_ENV = "APPLICATIONINSIGHTS_STATS_SHORT_EXPORT_INTERVAL";
57
+ /**
58
+ * Override env var: redirect SDKStats envelopes to a custom App
59
+ * Insights connection string. When unset, SDKStats flow to the
60
+ * Microsoft-owned SDKStats resource (`NON_EU_CONNECTION_STRING` in
61
+ * the AzMon exporter package). Primarily useful for testing.
62
+ * Matches the Python package env var name.
63
+ *
64
+ * @internal
65
+ */
66
+ const SDKSTATS_CONNECTION_STRING_ENV = "APPLICATIONINSIGHTS_STATS_CONNECTION_STRING";
41
67
  /**
42
68
  * Initial-export delay (15 seconds) before the first long-interval flush.
43
69
  *
@@ -56,7 +82,8 @@ const INITIAL_EXPORT_DELAY_MS = 15 * 1000;
56
82
  */
57
83
  export class SdkStatsManager {
58
84
  static _instance;
59
- _meterProvider;
85
+ _longMeterProvider;
86
+ _shortMeterProvider;
60
87
  _metrics;
61
88
  _initialized = false;
62
89
  _initialExportTimer;
@@ -70,13 +97,13 @@ export class SdkStatsManager {
70
97
  return this._initialized;
71
98
  }
72
99
  /**
73
- * Set up SDKStats export via the Azure Monitor statsbeat endpoint.
100
+ * Set up SDKStats export via the Azure Monitor SDKStats endpoint.
74
101
  *
75
102
  * Returns `true` if the standalone pipeline was initialized (or was
76
103
  * already initialized), `false` if SDKStats are disabled via env var
77
104
  * or initialization failed.
78
105
  */
79
- async initialize() {
106
+ async initialize(options = {}) {
80
107
  if (!isSdkStatsEnabled()) {
81
108
  return false;
82
109
  }
@@ -87,33 +114,62 @@ export class SdkStatsManager {
87
114
  // The exporter package's `exports` map blocks subpath imports, so
88
115
  // we resolve the package's own package.json to find its install
89
116
  // location on disk and require the internal modules by absolute
90
- // path. The statsbeat exporter is the correct vehicle for SDKStats
91
- // — it tags envelopes with the statsbeat ikey/endpoint and avoids
92
- // recursive statsbeat-of-statsbeat reporting via its
117
+ // path. The AzureMonitorStatsbeatExporter is the correct vehicle for
118
+ // SDKStats — it tags envelopes with the SDKStats ikey/endpoint and
119
+ // avoids recursive SDKStats-of-SDKStats reporting via its
93
120
  // `isStatsbeatExporter` flag.
94
121
  const baseUrl = getModuleParentURL() ?? pathToFileURL(process.cwd() + "/").href;
95
122
  const requireFromHere = createRequire(baseUrl);
96
123
  const exporterPackageJsonPath = requireFromHere.resolve("@azure/monitor-opentelemetry-exporter/package.json");
97
124
  const exporterPackageDir = dirname(exporterPackageJsonPath);
98
125
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
- const statsbeatExporterModule = requireFromHere(join(exporterPackageDir, "dist", "esm", "export", "statsbeat", "statsbeatExporter.js"));
126
+ const sdkStatsExporterModule = requireFromHere(join(exporterPackageDir, "dist", "esm", "export", "statsbeat", "statsbeatExporter.js"));
100
127
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
101
- const statsbeatTypesModule = requireFromHere(join(exporterPackageDir, "dist", "esm", "export", "statsbeat", "types.js"));
102
- const AzureMonitorStatsbeatExporter = statsbeatExporterModule.AzureMonitorStatsbeatExporter;
103
- const NON_EU_CONNECTION_STRING = statsbeatTypesModule.NON_EU_CONNECTION_STRING;
104
- const exporter = new AzureMonitorStatsbeatExporter({
105
- connectionString: NON_EU_CONNECTION_STRING,
128
+ const sdkStatsTypesModule = requireFromHere(join(exporterPackageDir, "dist", "esm", "export", "statsbeat", "types.js"));
129
+ const AzureMonitorStatsbeatExporter = sdkStatsExporterModule.AzureMonitorStatsbeatExporter;
130
+ const NON_EU_CONNECTION_STRING = sdkStatsTypesModule.NON_EU_CONNECTION_STRING;
131
+ // Allow overriding the SDKStats ingestion target via env var,
132
+ // matching the Python package's APPLICATIONINSIGHTS_STATS_CONNECTION_STRING
133
+ // hook. Primarily useful for testing — production should leave
134
+ // this unset so SDKStats flows to the Microsoft-owned SDKStats
135
+ // resource (NON_EU_CONNECTION_STRING).
136
+ const connectionString = process.env[SDKSTATS_CONNECTION_STRING_ENV] ?? NON_EU_CONNECTION_STRING;
137
+ const emptyResource = resourceFromAttributes({});
138
+ // Long-interval pipeline (24h) — Feature / Feature.instrumentations.
139
+ // Skipped when `networkOnly` is true (AzMon exporter owns those).
140
+ if (!options.networkOnly) {
141
+ const longExporter = new AzureMonitorStatsbeatExporter({
142
+ connectionString,
143
+ disableOfflineStorage: true,
144
+ });
145
+ const longReader = new PeriodicExportingMetricReader({
146
+ exporter: longExporter,
147
+ exportIntervalMillis: resolveLongExportInterval(),
148
+ });
149
+ this._longMeterProvider = new MeterProvider({
150
+ readers: [longReader],
151
+ resource: emptyResource,
152
+ });
153
+ }
154
+ // Short-interval pipeline (15 min) — network SDKStats gauges.
155
+ const shortExporter = new AzureMonitorStatsbeatExporter({
156
+ connectionString,
106
157
  disableOfflineStorage: true,
107
158
  });
108
- const reader = new PeriodicExportingMetricReader({
109
- exporter,
110
- exportIntervalMillis: resolveExportInterval(),
159
+ const shortReader = new PeriodicExportingMetricReader({
160
+ exporter: shortExporter,
161
+ exportIntervalMillis: resolveShortExportInterval(),
162
+ });
163
+ this._shortMeterProvider = new MeterProvider({
164
+ readers: [shortReader],
165
+ resource: emptyResource,
111
166
  });
112
- this._meterProvider = new MeterProvider({
113
- readers: [reader],
114
- resource: resourceFromAttributes({}),
167
+ this._metrics = new SdkStatsMetrics({
168
+ longMeterProvider: this._longMeterProvider,
169
+ shortMeterProvider: this._shortMeterProvider,
170
+ networkOnly: options.networkOnly,
171
+ cikey: options.cikey,
115
172
  });
116
- this._metrics = new SdkStatsMetrics(this._meterProvider);
117
173
  this._initialized = true;
118
174
  setSdkStatsShutdown(false);
119
175
  // Spec: long-interval SDKStats should perform an initial export
@@ -122,7 +178,10 @@ export class SdkStatsManager {
122
178
  // excess startup traffic. `unref()` so the timer never blocks
123
179
  // process shutdown.
124
180
  this._initialExportTimer = setTimeout(() => {
125
- this._meterProvider?.forceFlush().catch((err) => {
181
+ Promise.all([
182
+ this._longMeterProvider?.forceFlush(),
183
+ this._shortMeterProvider?.forceFlush(),
184
+ ]).catch((err) => {
126
185
  Logger.getInstance().debug("[SDKStats] Initial forceFlush failed.", err);
127
186
  });
128
187
  }, INITIAL_EXPORT_DELAY_MS);
@@ -145,7 +204,10 @@ export class SdkStatsManager {
145
204
  this._initialExportTimer = undefined;
146
205
  }
147
206
  try {
148
- await this._meterProvider?.shutdown();
207
+ await Promise.all([
208
+ this._longMeterProvider?.shutdown(),
209
+ this._shortMeterProvider?.shutdown(),
210
+ ]);
149
211
  }
150
212
  catch (error) {
151
213
  Logger.getInstance().debug("[SDKStats] Error shutting down standalone pipeline.", error);
@@ -157,7 +219,8 @@ export class SdkStatsManager {
157
219
  return true;
158
220
  }
159
221
  _cleanup() {
160
- this._meterProvider = undefined;
222
+ this._longMeterProvider = undefined;
223
+ this._shortMeterProvider = undefined;
161
224
  this._metrics = undefined;
162
225
  this._initialized = false;
163
226
  if (this._initialExportTimer) {
@@ -173,7 +236,7 @@ export class SdkStatsManager {
173
236
  SdkStatsManager._instance = undefined;
174
237
  }
175
238
  }
176
- function resolveExportInterval() {
239
+ function resolveLongExportInterval() {
177
240
  const raw = process.env[SDKSTATS_LONG_EXPORT_INTERVAL_ENV];
178
241
  if (!raw)
179
242
  return DEFAULT_LONG_EXPORT_INTERVAL_MS;
@@ -183,4 +246,14 @@ function resolveExportInterval() {
183
246
  }
184
247
  return Math.floor(seconds * 1000);
185
248
  }
249
+ function resolveShortExportInterval() {
250
+ const raw = process.env[SDKSTATS_SHORT_EXPORT_INTERVAL_ENV];
251
+ if (!raw)
252
+ return DEFAULT_SHORT_EXPORT_INTERVAL_MS;
253
+ const seconds = Number(raw);
254
+ if (!Number.isFinite(seconds) || seconds <= 0) {
255
+ return DEFAULT_SHORT_EXPORT_INTERVAL_MS;
256
+ }
257
+ return Math.floor(seconds * 1000);
258
+ }
186
259
  //# sourceMappingURL=manager.js.map
@@ -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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"}
@@ -7,14 +7,58 @@ import type { MeterProvider } from "@opentelemetry/sdk-metrics";
7
7
  */
8
8
  export declare const FEATURE_TYPE_FEATURE = 0;
9
9
  export declare const FEATURE_TYPE_INSTRUMENTATION = 1;
10
+ /**
11
+ * Options for {@link SdkStatsMetrics}.
12
+ */
13
+ export interface SdkStatsMetricsOptions {
14
+ /** Override the distro version reported on every observation. */
15
+ distroVersion?: string;
16
+ /**
17
+ * Customer instrumentation key emitted as the `cikey` customDimension
18
+ * on every SDKStats observation, per the Application Insights SDKStats
19
+ * spec. Reported as `"N/A"` when undefined or empty (e.g. for OTLP-only
20
+ * customers without an Application Insights connection string).
21
+ */
22
+ cikey?: string;
23
+ /**
24
+ * When `true`, skip the Feature / Feature.instrumentations gauges. Used
25
+ * on the Azure-Monitor-enabled path because the AzMon exporter's own
26
+ * long-interval SDKStats already emits those gauges (with our distro
27
+ * bits bridged in via `AZURE_MONITOR_STATSBEAT_FEATURES`); registering
28
+ * them here would double-count.
29
+ *
30
+ * The network SDKStats gauge (`Request_Success_Count`) is always
31
+ * registered regardless of this flag — coexistence with AzMon's own
32
+ * network SDKStats is safe because the (endpoint, host) attributes
33
+ * partition the time series.
34
+ */
35
+ networkOnly?: boolean;
36
+ /**
37
+ * MeterProvider for long-interval gauges (Feature /
38
+ * Feature.instrumentations). May be undefined when `networkOnly` is
39
+ * true. When provided, gauges are registered on a meter from this
40
+ * provider so they export at the long (24h) cadence.
41
+ */
42
+ longMeterProvider?: MeterProvider;
43
+ /**
44
+ * MeterProvider for short-interval gauges (network SDKStats like
45
+ * `Request_Success_Count`). Gauges are registered on a meter from
46
+ * this provider so they export at the short (15 min) cadence.
47
+ */
48
+ shortMeterProvider: MeterProvider;
49
+ }
10
50
  /**
11
51
  * Registers observable gauges that emit feature/instrumentation data
12
- * derived from the global SDKStats state.
52
+ * derived from the global SDKStats state, plus per-export network
53
+ * SDKStats counters drained from {@link ./networkStats.js}.
13
54
  */
14
55
  export declare class SdkStatsMetrics {
15
56
  private readonly commonAttributes;
16
- constructor(meterProvider: MeterProvider, distroVersion?: string);
57
+ constructor(options: SdkStatsMetricsOptions);
58
+ /** @deprecated Use the options-object overload instead. */
59
+ constructor(meterProvider: MeterProvider, options?: Omit<SdkStatsMetricsOptions, "shortMeterProvider" | "longMeterProvider">);
17
60
  private observeFeatures;
18
61
  private observeInstrumentations;
62
+ private makeNetworkCallback;
19
63
  }
20
64
  //# sourceMappingURL=metrics.d.ts.map
@@ -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;AAMhE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAM9C;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;gBAE9C,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,MAAM;IAqBhE,OAAO,CAAC,eAAe,CAcrB;IAEF,OAAO,CAAC,uBAAuB,CAU7B;CACH"}
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"}