@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,135 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { AZURE_MONITOR_STATSBEAT_FEATURES, SdkStatsFeature, SdkStatsFeaturesMap, SdkStatsInstrumentation, } from "../types.js";
4
+ let instance;
5
+ class SdkStatsConfiguration {
6
+ // Initial SDK Stats options
7
+ initializedByShim = false;
8
+ currentSdkStatsInstrumentations = {};
9
+ currentSdkStatsFeatures = {};
10
+ constructor() {
11
+ // Check for shim initialization upon construction
12
+ try {
13
+ if (JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || "{}").feature &
14
+ SdkStatsFeature.SHIM) {
15
+ this.initializedByShim = true;
16
+ }
17
+ }
18
+ catch (_error) {
19
+ // Fail silently — SDK Stats is best-effort
20
+ }
21
+ }
22
+ setSdkStatsFeatures = (sdkStatsInstrumentations, sdkStatsFeatures) => {
23
+ let sdkStatsEnv;
24
+ try {
25
+ sdkStatsEnv = JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || "{}");
26
+ }
27
+ catch (_error) {
28
+ // Fail silently — SDK Stats is best-effort
29
+ return;
30
+ }
31
+ this.currentSdkStatsInstrumentations = {
32
+ ...this.currentSdkStatsInstrumentations,
33
+ ...sdkStatsInstrumentations,
34
+ };
35
+ this.currentSdkStatsFeatures = { ...this.currentSdkStatsFeatures, ...sdkStatsFeatures };
36
+ // Set the SDK Stats options for community instrumentations based on the environment variable
37
+ sdkStatsInstrumentations = {
38
+ ...this.currentSdkStatsInstrumentations,
39
+ amqplib: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.AMQPLIB ? true : false,
40
+ cucumber: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.CUCUMBER ? true : false,
41
+ dataloader: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.DATALOADER ? true : false,
42
+ fs: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.FS ? true : false,
43
+ lruMemoizer: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.LRU_MEMOIZER ? true : false,
44
+ mongoose: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.MONGOOSE ? true : false,
45
+ runtimeNode: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.RUNTIME_NODE ? true : false,
46
+ socketIo: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.SOCKET_IO ? true : false,
47
+ tedious: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.TEDIOUS ? true : false,
48
+ undici: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.UNDICI ? true : false,
49
+ cassandra: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.CASSANDRA ? true : false,
50
+ connect: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.CONNECT ? true : false,
51
+ dns: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.DNS ? true : false,
52
+ express: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.EXPRESS ? true : false,
53
+ fastify: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.FASTIFY ? true : false,
54
+ genericPool: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.GENERIC_POOL ? true : false,
55
+ graphql: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.GRAPHQL ? true : false,
56
+ hapi: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.HAPI ? true : false,
57
+ ioredis: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.IOREDIS ? true : false,
58
+ knex: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.KNEX ? true : false,
59
+ koa: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.KOA ? true : false,
60
+ memcached: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.MEMCACHED ? true : false,
61
+ mysql2: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.MYSQL2 ? true : false,
62
+ nestjsCore: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.NESTJS_CORE ? true : false,
63
+ net: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.NET ? true : false,
64
+ pino: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.PINO ? true : false,
65
+ restify: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.RESTIFY ? true : false,
66
+ router: sdkStatsEnv.instrumentation & SdkStatsInstrumentation.ROUTER ? true : false,
67
+ };
68
+ let instrumentationBitMap = SdkStatsInstrumentation.NONE;
69
+ const instrumentationArray = Object.entries(sdkStatsInstrumentations).map((entry) => {
70
+ return { option: entry[0], value: entry[1] };
71
+ });
72
+ // Map the instrumentation options to a bit map
73
+ for (let i = 0; i < instrumentationArray.length; i++) {
74
+ if (instrumentationArray[i].value) {
75
+ instrumentationBitMap |= 2 ** i;
76
+ }
77
+ }
78
+ // Create feature bit map
79
+ let featureBitMap = SdkStatsFeature.NONE;
80
+ if (this.initializedByShim) {
81
+ this.currentSdkStatsFeatures.shim = true;
82
+ }
83
+ else {
84
+ this.currentSdkStatsFeatures.distro = true;
85
+ }
86
+ if (sdkStatsFeatures.liveMetrics) {
87
+ this.currentSdkStatsFeatures.liveMetrics = true;
88
+ }
89
+ const featureArray = Object.entries(this.currentSdkStatsFeatures).map((entry) => {
90
+ return { option: entry[0], value: entry[1] };
91
+ });
92
+ // Map the feature options to a bit map
93
+ for (let i = 0; i < featureArray.length; i++) {
94
+ if (featureArray[i].value) {
95
+ featureBitMap |= SdkStatsFeaturesMap.get(featureArray[i].option);
96
+ }
97
+ }
98
+ // Merge old SDK Stats options with new SDK Stats options overriding any common properties
99
+ try {
100
+ const envValue = process.env[AZURE_MONITOR_STATSBEAT_FEATURES];
101
+ if (envValue) {
102
+ const asNumber = Number(envValue);
103
+ if (!isNaN(asNumber)) {
104
+ // Plain number format (e.g. set by the shim)
105
+ featureBitMap |= asNumber;
106
+ }
107
+ else {
108
+ // JSON format (e.g. set by a previous call to this function)
109
+ const parsed = JSON.parse(envValue);
110
+ if (parsed && typeof parsed.feature === "number") {
111
+ featureBitMap |= parsed.feature;
112
+ }
113
+ }
114
+ }
115
+ process.env[AZURE_MONITOR_STATSBEAT_FEATURES] = JSON.stringify({
116
+ instrumentation: instrumentationBitMap,
117
+ feature: featureBitMap,
118
+ });
119
+ }
120
+ catch (_error) {
121
+ // Fail silently — SDK Stats is best-effort
122
+ }
123
+ };
124
+ }
125
+ /**
126
+ * Singleton SDK Stats instance.
127
+ * @internal
128
+ */
129
+ export function getInstance() {
130
+ if (!instance) {
131
+ instance = new SdkStatsConfiguration();
132
+ }
133
+ return instance;
134
+ }
135
+ //# sourceMappingURL=sdkStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkStats.js","sourceRoot":"","sources":["../../../src/utils/sdkStats.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@microsoft/opentelemetry",
3
3
  "author": "Microsoft Corporation",
4
- "version": "1.0.2",
4
+ "version": "1.2.0",
5
5
  "description": "Microsoft OpenTelemetry distribution for JavaScript/TypeScript",
6
6
  "main": "./dist/commonjs/index.js",
7
7
  "module": "./dist/esm/index.js",
@@ -22,10 +22,17 @@
22
22
  "test:watch": "vitest",
23
23
  "test:coverage": "vitest run --coverage",
24
24
  "docs": "typedoc",
25
- "prepublishOnly": "npm run build"
25
+ "lint-staged": "lint-staged",
26
+ "prepublishOnly": "npm run build",
27
+ "prepare": "husky"
28
+ },
29
+ "lint-staged": {
30
+ "{src,test}/**/*.ts": [
31
+ "eslint --fix"
32
+ ]
26
33
  },
27
34
  "engines": {
28
- "node": ">=20.0.0"
35
+ "node": ">=22.0.0"
29
36
  },
30
37
  "files": [
31
38
  "dist/",
@@ -35,7 +42,7 @@
35
42
  "license": "MIT",
36
43
  "repository": {
37
44
  "type": "git",
38
- "url": "https://github.com/Azure/opentelemetry-distro-javascript"
45
+ "url": "https://github.com/microsoft/opentelemetry-distro-javascript"
39
46
  },
40
47
  "keywords": [
41
48
  "node",
@@ -75,32 +82,32 @@
75
82
  "@azure/core-auth": "^1.10.1",
76
83
  "@azure/core-rest-pipeline": "^1.22.2",
77
84
  "@azure/logger": "^1.3.0",
78
- "@azure/monitor-opentelemetry-exporter": ">=1.0.0-beta.39 <1.0.0-c",
85
+ "@azure/monitor-opentelemetry-exporter": ">=1.0.0-beta.43 <1.0.0-c",
79
86
  "@azure/opentelemetry-instrumentation-azure-sdk": "^1.0.0-beta.9",
80
87
  "@microsoft/applicationinsights-web-snippet": "^1.2.3",
81
88
  "@opentelemetry/api": "^1.9.0",
82
- "@opentelemetry/api-logs": "^0.208.0",
83
- "@opentelemetry/core": "^2.2.0",
84
- "@opentelemetry/exporter-logs-otlp-http": "^0.208.0",
85
- "@opentelemetry/exporter-metrics-otlp-http": "^0.208.0",
86
- "@opentelemetry/exporter-trace-otlp-http": "^0.208.0",
87
- "@opentelemetry/instrumentation": "^0.208.0",
88
- "@opentelemetry/instrumentation-bunyan": "^0.54.0",
89
- "@opentelemetry/instrumentation-http": "^0.208.0",
90
- "@opentelemetry/instrumentation-mongodb": "^0.61.0",
91
- "@opentelemetry/instrumentation-mysql": "^0.54.0",
92
- "@opentelemetry/instrumentation-pg": "^0.61.0",
93
- "@opentelemetry/instrumentation-redis": "^0.57.0",
94
- "@opentelemetry/instrumentation-winston": "^0.53.0",
95
- "@opentelemetry/resource-detector-azure": "^0.20.0",
96
- "@opentelemetry/resources": "^2.2.0",
97
- "@opentelemetry/sdk-logs": "^0.208.0",
98
- "@opentelemetry/sdk-metrics": "^2.2.0",
99
- "@opentelemetry/sdk-node": "^0.208.0",
100
- "@opentelemetry/sdk-trace-base": "^2.2.0",
101
- "@opentelemetry/sdk-trace-node": "^2.2.0",
102
- "@opentelemetry/semantic-conventions": "^1.38.0",
103
- "@opentelemetry/winston-transport": "^0.19.0",
89
+ "@opentelemetry/api-logs": "^0.219.0",
90
+ "@opentelemetry/core": "^2.8.0",
91
+ "@opentelemetry/exporter-logs-otlp-http": "^0.219.0",
92
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.219.0",
93
+ "@opentelemetry/exporter-trace-otlp-http": "^0.219.0",
94
+ "@opentelemetry/instrumentation": "^0.219.0",
95
+ "@opentelemetry/instrumentation-bunyan": "^0.63.0",
96
+ "@opentelemetry/instrumentation-http": "^0.219.0",
97
+ "@opentelemetry/instrumentation-mongodb": "^0.71.0",
98
+ "@opentelemetry/instrumentation-mysql": "^0.64.0",
99
+ "@opentelemetry/instrumentation-pg": "^0.70.0",
100
+ "@opentelemetry/instrumentation-redis": "^0.66.0",
101
+ "@opentelemetry/instrumentation-winston": "^0.62.0",
102
+ "@opentelemetry/resource-detector-azure": "^0.26.0",
103
+ "@opentelemetry/resources": "^2.8.0",
104
+ "@opentelemetry/sdk-logs": "^0.219.0",
105
+ "@opentelemetry/sdk-metrics": "^2.8.0",
106
+ "@opentelemetry/sdk-node": "^0.219.0",
107
+ "@opentelemetry/sdk-trace-base": "^2.8.0",
108
+ "@opentelemetry/sdk-trace-node": "^2.8.0",
109
+ "@opentelemetry/semantic-conventions": "^1.41.1",
110
+ "@opentelemetry/winston-transport": "^0.28.0",
104
111
  "grunt-cli": "^1.5.0",
105
112
  "tslib": "^2.8.1"
106
113
  },
@@ -111,16 +118,18 @@
111
118
  "@types/node": "^22.0.0",
112
119
  "@typescript-eslint/eslint-plugin": "^8.0.0",
113
120
  "@typescript-eslint/parser": "^8.0.0",
114
- "@vitest/coverage-istanbul": "^3.0.0",
121
+ "@vitest/coverage-istanbul": "^4.1.8",
115
122
  "dotenv": "^16.0.0",
116
123
  "eslint": "^9.0.0",
117
124
  "eslint-config-prettier": "^10.1.8",
125
+ "husky": "^9.1.7",
126
+ "lint-staged": "^16.4.0",
118
127
  "prettier": "^3.3.3",
119
128
  "rimraf": "^6.0.0",
120
129
  "typedoc": "^0.28.19",
121
130
  "typescript": "^5.6.0",
122
131
  "typescript-eslint": "^8.58.0",
123
- "vitest": "^3.0.0"
132
+ "vitest": "^4.1.8"
124
133
  },
125
134
  "sideEffects": false
126
135
  }
@@ -1,15 +0,0 @@
1
- import type { StatsbeatFeatures, StatsbeatInstrumentations } from "../types.js";
2
- declare class StatsbeatConfiguration {
3
- private initializedByShim;
4
- private currentStatsbeatInstrumentations;
5
- private currentStatsbeatFeatures;
6
- constructor();
7
- setStatsbeatFeatures: (statsbeatInstrumentations: StatsbeatInstrumentations, statsbeatFeatures: StatsbeatFeatures) => void;
8
- }
9
- /**
10
- * Singleton Statsbeat instance.
11
- * @internal
12
- */
13
- export declare function getInstance(): StatsbeatConfiguration;
14
- export {};
15
- //# sourceMappingURL=statsbeat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statsbeat.d.ts","sourceRoot":"","sources":["../../../src/utils/statsbeat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,iBAAiB,EACjB,yBAAyB,EAE1B,MAAM,aAAa,CAAC;AAUrB,cAAM,sBAAsB;IAE1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gCAAgC,CAAiC;IACzE,OAAO,CAAC,wBAAwB,CAAyB;;IAgBlD,oBAAoB,GACzB,2BAA2B,yBAAyB,EACpD,mBAAmB,iBAAiB,UA2GpC;CACH;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,sBAAsB,CAKpD"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getInstance = getInstance;
6
- const types_js_1 = require("../types.js");
7
- let instance;
8
- class StatsbeatConfiguration {
9
- // Initial Statsbeat options
10
- initializedByShim = false;
11
- currentStatsbeatInstrumentations = {};
12
- currentStatsbeatFeatures = {};
13
- constructor() {
14
- // Check for shim initialization upon construction
15
- try {
16
- if (JSON.parse(process.env[types_js_1.AZURE_MONITOR_STATSBEAT_FEATURES] || "{}").feature &
17
- types_js_1.StatsbeatFeature.SHIM) {
18
- this.initializedByShim = true;
19
- }
20
- }
21
- catch (_error) {
22
- // Fail silently — statsbeat is best-effort
23
- }
24
- }
25
- setStatsbeatFeatures = (statsbeatInstrumentations, statsbeatFeatures) => {
26
- let statsbeatEnv;
27
- try {
28
- statsbeatEnv = JSON.parse(process.env[types_js_1.AZURE_MONITOR_STATSBEAT_FEATURES] || "{}");
29
- }
30
- catch (_error) {
31
- // Fail silently — statsbeat is best-effort
32
- return;
33
- }
34
- this.currentStatsbeatInstrumentations = {
35
- ...this.currentStatsbeatInstrumentations,
36
- ...statsbeatInstrumentations,
37
- };
38
- this.currentStatsbeatFeatures = { ...this.currentStatsbeatFeatures, ...statsbeatFeatures };
39
- // Set the statsbeat options for community instrumentations based on the environment variable
40
- statsbeatInstrumentations = {
41
- ...this.currentStatsbeatInstrumentations,
42
- amqplib: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.AMQPLIB ? true : false,
43
- cucumber: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.CUCUMBER ? true : false,
44
- dataloader: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.DATALOADER ? true : false,
45
- fs: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.FS ? true : false,
46
- lruMemoizer: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.LRU_MEMOIZER ? true : false,
47
- mongoose: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.MONGOOSE ? true : false,
48
- runtimeNode: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.RUNTIME_NODE ? true : false,
49
- socketIo: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.SOCKET_IO ? true : false,
50
- tedious: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.TEDIOUS ? true : false,
51
- undici: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.UNDICI ? true : false,
52
- cassandra: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.CASSANDRA ? true : false,
53
- connect: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.CONNECT ? true : false,
54
- dns: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.DNS ? true : false,
55
- express: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.EXPRESS ? true : false,
56
- fastify: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.FASTIFY ? true : false,
57
- genericPool: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.GENERIC_POOL ? true : false,
58
- graphql: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.GRAPHQL ? true : false,
59
- hapi: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.HAPI ? true : false,
60
- ioredis: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.IOREDIS ? true : false,
61
- knex: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.KNEX ? true : false,
62
- koa: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.KOA ? true : false,
63
- memcached: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.MEMCACHED ? true : false,
64
- mysql2: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.MYSQL2 ? true : false,
65
- nestjsCore: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.NESTJS_CORE ? true : false,
66
- net: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.NET ? true : false,
67
- pino: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.PINO ? true : false,
68
- restify: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.RESTIFY ? true : false,
69
- router: statsbeatEnv.instrumentation & types_js_1.StatsbeatInstrumentation.ROUTER ? true : false,
70
- };
71
- let instrumentationBitMap = types_js_1.StatsbeatInstrumentation.NONE;
72
- const instrumentationArray = Object.entries(statsbeatInstrumentations).map((entry) => {
73
- return { option: entry[0], value: entry[1] };
74
- });
75
- // Map the instrumentation options to a bit map
76
- for (let i = 0; i < instrumentationArray.length; i++) {
77
- if (instrumentationArray[i].value) {
78
- instrumentationBitMap |= 2 ** i;
79
- }
80
- }
81
- // Create feature bit map
82
- let featureBitMap = types_js_1.StatsbeatFeature.NONE;
83
- if (this.initializedByShim) {
84
- this.currentStatsbeatFeatures.shim = true;
85
- }
86
- else {
87
- this.currentStatsbeatFeatures.distro = true;
88
- }
89
- if (statsbeatFeatures.liveMetrics) {
90
- this.currentStatsbeatFeatures.liveMetrics = true;
91
- }
92
- const featureArray = Object.entries(this.currentStatsbeatFeatures).map((entry) => {
93
- return { option: entry[0], value: entry[1] };
94
- });
95
- // Map the feature options to a bit map
96
- for (let i = 0; i < featureArray.length; i++) {
97
- if (featureArray[i].value) {
98
- featureBitMap |= types_js_1.StatsbeatFeaturesMap.get(featureArray[i].option);
99
- }
100
- }
101
- // Merge old statsbeat options with new statsbeat options overriding any common properties
102
- try {
103
- const currentFeaturesBitMap = Number(process.env[types_js_1.AZURE_MONITOR_STATSBEAT_FEATURES]);
104
- if (!isNaN(currentFeaturesBitMap)) {
105
- featureBitMap |= currentFeaturesBitMap;
106
- }
107
- process.env[types_js_1.AZURE_MONITOR_STATSBEAT_FEATURES] = JSON.stringify({
108
- instrumentation: instrumentationBitMap,
109
- feature: featureBitMap,
110
- });
111
- }
112
- catch (_error) {
113
- // Fail silently — statsbeat is best-effort
114
- }
115
- };
116
- }
117
- /**
118
- * Singleton Statsbeat instance.
119
- * @internal
120
- */
121
- function getInstance() {
122
- if (!instance) {
123
- instance = new StatsbeatConfiguration();
124
- }
125
- return instance;
126
- }
127
- //# sourceMappingURL=statsbeat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statsbeat.js","sourceRoot":"","sources":["../../../src/utils/statsbeat.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { StatsbeatFeatures, StatsbeatInstrumentations } from "../types.js";
2
- declare class StatsbeatConfiguration {
3
- private initializedByShim;
4
- private currentStatsbeatInstrumentations;
5
- private currentStatsbeatFeatures;
6
- constructor();
7
- setStatsbeatFeatures: (statsbeatInstrumentations: StatsbeatInstrumentations, statsbeatFeatures: StatsbeatFeatures) => void;
8
- }
9
- /**
10
- * Singleton Statsbeat instance.
11
- * @internal
12
- */
13
- export declare function getInstance(): StatsbeatConfiguration;
14
- export {};
15
- //# sourceMappingURL=statsbeat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statsbeat.d.ts","sourceRoot":"","sources":["../../../src/utils/statsbeat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,iBAAiB,EACjB,yBAAyB,EAE1B,MAAM,aAAa,CAAC;AAUrB,cAAM,sBAAsB;IAE1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gCAAgC,CAAiC;IACzE,OAAO,CAAC,wBAAwB,CAAyB;;IAgBlD,oBAAoB,GACzB,2BAA2B,yBAAyB,EACpD,mBAAmB,iBAAiB,UA2GpC;CACH;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,sBAAsB,CAKpD"}
@@ -1,124 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { AZURE_MONITOR_STATSBEAT_FEATURES, StatsbeatFeature, StatsbeatFeaturesMap, StatsbeatInstrumentation, } from "../types.js";
4
- let instance;
5
- class StatsbeatConfiguration {
6
- // Initial Statsbeat options
7
- initializedByShim = false;
8
- currentStatsbeatInstrumentations = {};
9
- currentStatsbeatFeatures = {};
10
- constructor() {
11
- // Check for shim initialization upon construction
12
- try {
13
- if (JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || "{}").feature &
14
- StatsbeatFeature.SHIM) {
15
- this.initializedByShim = true;
16
- }
17
- }
18
- catch (_error) {
19
- // Fail silently — statsbeat is best-effort
20
- }
21
- }
22
- setStatsbeatFeatures = (statsbeatInstrumentations, statsbeatFeatures) => {
23
- let statsbeatEnv;
24
- try {
25
- statsbeatEnv = JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || "{}");
26
- }
27
- catch (_error) {
28
- // Fail silently — statsbeat is best-effort
29
- return;
30
- }
31
- this.currentStatsbeatInstrumentations = {
32
- ...this.currentStatsbeatInstrumentations,
33
- ...statsbeatInstrumentations,
34
- };
35
- this.currentStatsbeatFeatures = { ...this.currentStatsbeatFeatures, ...statsbeatFeatures };
36
- // Set the statsbeat options for community instrumentations based on the environment variable
37
- statsbeatInstrumentations = {
38
- ...this.currentStatsbeatInstrumentations,
39
- amqplib: statsbeatEnv.instrumentation & StatsbeatInstrumentation.AMQPLIB ? true : false,
40
- cucumber: statsbeatEnv.instrumentation & StatsbeatInstrumentation.CUCUMBER ? true : false,
41
- dataloader: statsbeatEnv.instrumentation & StatsbeatInstrumentation.DATALOADER ? true : false,
42
- fs: statsbeatEnv.instrumentation & StatsbeatInstrumentation.FS ? true : false,
43
- lruMemoizer: statsbeatEnv.instrumentation & StatsbeatInstrumentation.LRU_MEMOIZER ? true : false,
44
- mongoose: statsbeatEnv.instrumentation & StatsbeatInstrumentation.MONGOOSE ? true : false,
45
- runtimeNode: statsbeatEnv.instrumentation & StatsbeatInstrumentation.RUNTIME_NODE ? true : false,
46
- socketIo: statsbeatEnv.instrumentation & StatsbeatInstrumentation.SOCKET_IO ? true : false,
47
- tedious: statsbeatEnv.instrumentation & StatsbeatInstrumentation.TEDIOUS ? true : false,
48
- undici: statsbeatEnv.instrumentation & StatsbeatInstrumentation.UNDICI ? true : false,
49
- cassandra: statsbeatEnv.instrumentation & StatsbeatInstrumentation.CASSANDRA ? true : false,
50
- connect: statsbeatEnv.instrumentation & StatsbeatInstrumentation.CONNECT ? true : false,
51
- dns: statsbeatEnv.instrumentation & StatsbeatInstrumentation.DNS ? true : false,
52
- express: statsbeatEnv.instrumentation & StatsbeatInstrumentation.EXPRESS ? true : false,
53
- fastify: statsbeatEnv.instrumentation & StatsbeatInstrumentation.FASTIFY ? true : false,
54
- genericPool: statsbeatEnv.instrumentation & StatsbeatInstrumentation.GENERIC_POOL ? true : false,
55
- graphql: statsbeatEnv.instrumentation & StatsbeatInstrumentation.GRAPHQL ? true : false,
56
- hapi: statsbeatEnv.instrumentation & StatsbeatInstrumentation.HAPI ? true : false,
57
- ioredis: statsbeatEnv.instrumentation & StatsbeatInstrumentation.IOREDIS ? true : false,
58
- knex: statsbeatEnv.instrumentation & StatsbeatInstrumentation.KNEX ? true : false,
59
- koa: statsbeatEnv.instrumentation & StatsbeatInstrumentation.KOA ? true : false,
60
- memcached: statsbeatEnv.instrumentation & StatsbeatInstrumentation.MEMCACHED ? true : false,
61
- mysql2: statsbeatEnv.instrumentation & StatsbeatInstrumentation.MYSQL2 ? true : false,
62
- nestjsCore: statsbeatEnv.instrumentation & StatsbeatInstrumentation.NESTJS_CORE ? true : false,
63
- net: statsbeatEnv.instrumentation & StatsbeatInstrumentation.NET ? true : false,
64
- pino: statsbeatEnv.instrumentation & StatsbeatInstrumentation.PINO ? true : false,
65
- restify: statsbeatEnv.instrumentation & StatsbeatInstrumentation.RESTIFY ? true : false,
66
- router: statsbeatEnv.instrumentation & StatsbeatInstrumentation.ROUTER ? true : false,
67
- };
68
- let instrumentationBitMap = StatsbeatInstrumentation.NONE;
69
- const instrumentationArray = Object.entries(statsbeatInstrumentations).map((entry) => {
70
- return { option: entry[0], value: entry[1] };
71
- });
72
- // Map the instrumentation options to a bit map
73
- for (let i = 0; i < instrumentationArray.length; i++) {
74
- if (instrumentationArray[i].value) {
75
- instrumentationBitMap |= 2 ** i;
76
- }
77
- }
78
- // Create feature bit map
79
- let featureBitMap = StatsbeatFeature.NONE;
80
- if (this.initializedByShim) {
81
- this.currentStatsbeatFeatures.shim = true;
82
- }
83
- else {
84
- this.currentStatsbeatFeatures.distro = true;
85
- }
86
- if (statsbeatFeatures.liveMetrics) {
87
- this.currentStatsbeatFeatures.liveMetrics = true;
88
- }
89
- const featureArray = Object.entries(this.currentStatsbeatFeatures).map((entry) => {
90
- return { option: entry[0], value: entry[1] };
91
- });
92
- // Map the feature options to a bit map
93
- for (let i = 0; i < featureArray.length; i++) {
94
- if (featureArray[i].value) {
95
- featureBitMap |= StatsbeatFeaturesMap.get(featureArray[i].option);
96
- }
97
- }
98
- // Merge old statsbeat options with new statsbeat options overriding any common properties
99
- try {
100
- const currentFeaturesBitMap = Number(process.env[AZURE_MONITOR_STATSBEAT_FEATURES]);
101
- if (!isNaN(currentFeaturesBitMap)) {
102
- featureBitMap |= currentFeaturesBitMap;
103
- }
104
- process.env[AZURE_MONITOR_STATSBEAT_FEATURES] = JSON.stringify({
105
- instrumentation: instrumentationBitMap,
106
- feature: featureBitMap,
107
- });
108
- }
109
- catch (_error) {
110
- // Fail silently — statsbeat is best-effort
111
- }
112
- };
113
- }
114
- /**
115
- * Singleton Statsbeat instance.
116
- * @internal
117
- */
118
- export function getInstance() {
119
- if (!instance) {
120
- instance = new StatsbeatConfiguration();
121
- }
122
- return instance;
123
- }
124
- //# sourceMappingURL=statsbeat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statsbeat.js","sourceRoot":"","sources":["../../../src/utils/statsbeat.ts"],"names":[],"mappings":"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"}