@azure/monitor-opentelemetry-exporter 1.0.0-beta.26 → 1.0.0-beta.28

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 (368) hide show
  1. package/README.md +10 -13
  2. package/dist/commonjs/Declarations/Constants.d.ts +111 -0
  3. package/dist/commonjs/Declarations/Constants.d.ts.map +1 -0
  4. package/dist/commonjs/Declarations/Constants.js +127 -0
  5. package/dist/commonjs/Declarations/Constants.js.map +1 -0
  6. package/dist/commonjs/Declarations/Contracts/Constants.d.ts +14 -0
  7. package/dist/commonjs/Declarations/Contracts/Constants.d.ts.map +1 -0
  8. package/dist/commonjs/Declarations/Contracts/Constants.js +5 -0
  9. package/dist/commonjs/Declarations/Contracts/Constants.js.map +1 -0
  10. package/dist/commonjs/Declarations/Contracts/index.d.ts +2 -0
  11. package/dist/commonjs/Declarations/Contracts/index.d.ts.map +1 -0
  12. package/dist/commonjs/Declarations/Contracts/index.js +7 -0
  13. package/dist/commonjs/Declarations/Contracts/index.js.map +1 -0
  14. package/dist/commonjs/config.d.ts +30 -0
  15. package/dist/commonjs/config.d.ts.map +1 -0
  16. package/dist/commonjs/config.js +3 -0
  17. package/dist/commonjs/config.js.map +1 -0
  18. package/dist/commonjs/export/base.d.ts +36 -0
  19. package/dist/commonjs/export/base.d.ts.map +1 -0
  20. package/dist/commonjs/export/base.js +59 -0
  21. package/dist/commonjs/export/base.js.map +1 -0
  22. package/dist/commonjs/export/log.d.ts +30 -0
  23. package/dist/commonjs/export/log.d.ts.map +1 -0
  24. package/dist/commonjs/export/log.js +68 -0
  25. package/dist/commonjs/export/log.js.map +1 -0
  26. package/dist/commonjs/export/metric.d.ts +39 -0
  27. package/dist/commonjs/export/metric.d.ts.map +1 -0
  28. package/dist/commonjs/export/metric.js +79 -0
  29. package/dist/commonjs/export/metric.js.map +1 -0
  30. package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.d.ts +39 -0
  31. package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.d.ts.map +1 -0
  32. package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.js +126 -0
  33. package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -0
  34. package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.d.ts +51 -0
  35. package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.d.ts.map +1 -0
  36. package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.js +288 -0
  37. package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.js.map +1 -0
  38. package/dist/commonjs/export/statsbeat/statsbeatExporter.d.ts +32 -0
  39. package/dist/commonjs/export/statsbeat/statsbeatExporter.d.ts.map +1 -0
  40. package/dist/commonjs/export/statsbeat/statsbeatExporter.js +62 -0
  41. package/dist/commonjs/export/statsbeat/statsbeatExporter.js.map +1 -0
  42. package/dist/commonjs/export/statsbeat/statsbeatMetrics.d.ts +11 -0
  43. package/dist/commonjs/export/statsbeat/statsbeatMetrics.d.ts.map +1 -0
  44. package/dist/commonjs/export/statsbeat/statsbeatMetrics.js +106 -0
  45. package/dist/commonjs/export/statsbeat/statsbeatMetrics.js.map +1 -0
  46. package/dist/commonjs/export/statsbeat/types.d.ts +97 -0
  47. package/dist/commonjs/export/statsbeat/types.d.ts.map +1 -0
  48. package/dist/commonjs/export/statsbeat/types.js +83 -0
  49. package/dist/commonjs/export/statsbeat/types.js.map +1 -0
  50. package/dist/commonjs/export/trace.d.ts +31 -0
  51. package/dist/commonjs/export/trace.d.ts.map +1 -0
  52. package/dist/commonjs/export/trace.js +76 -0
  53. package/dist/commonjs/export/trace.js.map +1 -0
  54. package/dist/commonjs/generated/applicationInsightsClient.d.ts +17 -0
  55. package/dist/commonjs/generated/applicationInsightsClient.d.ts.map +1 -0
  56. package/dist/commonjs/generated/applicationInsightsClient.js +89 -0
  57. package/dist/commonjs/generated/applicationInsightsClient.js.map +1 -0
  58. package/dist/commonjs/generated/index.d.ts +3 -0
  59. package/dist/commonjs/generated/index.d.ts.map +1 -0
  60. package/dist/commonjs/generated/index.js +15 -0
  61. package/dist/commonjs/generated/index.js.map +1 -0
  62. package/dist/commonjs/generated/models/index.d.ts +429 -0
  63. package/dist/commonjs/generated/models/index.d.ts.map +1 -0
  64. package/dist/commonjs/generated/models/index.js +93 -0
  65. package/dist/commonjs/generated/models/index.js.map +1 -0
  66. package/dist/commonjs/generated/models/mappers.d.ts +19 -0
  67. package/dist/commonjs/generated/models/mappers.d.ts.map +1 -0
  68. package/dist/commonjs/generated/models/mappers.js +848 -0
  69. package/dist/commonjs/generated/models/mappers.js.map +1 -0
  70. package/dist/commonjs/generated/models/parameters.d.ts +6 -0
  71. package/dist/commonjs/generated/models/parameters.d.ts.map +1 -0
  72. package/dist/commonjs/generated/models/parameters.js +60 -0
  73. package/dist/commonjs/generated/models/parameters.js.map +1 -0
  74. package/dist/commonjs/index.d.ts +10 -0
  75. package/dist/commonjs/index.d.ts.map +1 -0
  76. package/dist/commonjs/index.js +20 -0
  77. package/dist/commonjs/index.js.map +1 -0
  78. package/dist/commonjs/package.json +3 -0
  79. package/dist/commonjs/platform/index.d.ts +2 -0
  80. package/dist/commonjs/platform/index.d.ts.map +1 -0
  81. package/dist/commonjs/platform/index.js +10 -0
  82. package/dist/commonjs/platform/index.js.map +1 -0
  83. package/dist/commonjs/platform/nodejs/baseSender.d.ts +49 -0
  84. package/dist/commonjs/platform/nodejs/baseSender.d.ts.map +1 -0
  85. package/dist/commonjs/platform/nodejs/baseSender.js +239 -0
  86. package/dist/commonjs/platform/nodejs/baseSender.js.map +1 -0
  87. package/dist/commonjs/platform/nodejs/constants.d.ts +10 -0
  88. package/dist/commonjs/platform/nodejs/constants.d.ts.map +1 -0
  89. package/dist/commonjs/platform/nodejs/constants.js +15 -0
  90. package/dist/commonjs/platform/nodejs/constants.js.map +1 -0
  91. package/dist/commonjs/platform/nodejs/context/context.d.ts +20 -0
  92. package/dist/commonjs/platform/nodejs/context/context.d.ts.map +1 -0
  93. package/dist/commonjs/platform/nodejs/context/context.js +54 -0
  94. package/dist/commonjs/platform/nodejs/context/context.js.map +1 -0
  95. package/dist/commonjs/platform/nodejs/context/index.d.ts +2 -0
  96. package/dist/commonjs/platform/nodejs/context/index.d.ts.map +1 -0
  97. package/dist/commonjs/platform/nodejs/context/index.js +7 -0
  98. package/dist/commonjs/platform/nodejs/context/index.js.map +1 -0
  99. package/dist/commonjs/platform/nodejs/httpSender.d.ts +32 -0
  100. package/dist/commonjs/platform/nodejs/httpSender.d.ts.map +1 -0
  101. package/dist/commonjs/platform/nodejs/httpSender.js +70 -0
  102. package/dist/commonjs/platform/nodejs/httpSender.js.map +1 -0
  103. package/dist/commonjs/platform/nodejs/index.d.ts +8 -0
  104. package/dist/commonjs/platform/nodejs/index.d.ts.map +1 -0
  105. package/dist/commonjs/platform/nodejs/index.js +13 -0
  106. package/dist/commonjs/platform/nodejs/index.js.map +1 -0
  107. package/dist/commonjs/platform/nodejs/persist/fileAccessControl.d.ts +18 -0
  108. package/dist/commonjs/platform/nodejs/persist/fileAccessControl.d.ts.map +1 -0
  109. package/dist/commonjs/platform/nodejs/persist/fileAccessControl.js +177 -0
  110. package/dist/commonjs/platform/nodejs/persist/fileAccessControl.js.map +1 -0
  111. package/dist/commonjs/platform/nodejs/persist/fileSystemHelpers.d.ts +11 -0
  112. package/dist/commonjs/platform/nodejs/persist/fileSystemHelpers.d.ts.map +1 -0
  113. package/dist/commonjs/platform/nodejs/persist/fileSystemHelpers.js +60 -0
  114. package/dist/commonjs/platform/nodejs/persist/fileSystemHelpers.js.map +1 -0
  115. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts +29 -0
  116. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -0
  117. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js +184 -0
  118. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js.map +1 -0
  119. package/dist/commonjs/platform/nodejs/persist/index.d.ts +2 -0
  120. package/dist/commonjs/platform/nodejs/persist/index.d.ts.map +1 -0
  121. package/dist/commonjs/platform/nodejs/persist/index.js +7 -0
  122. package/dist/commonjs/platform/nodejs/persist/index.js.map +1 -0
  123. package/dist/commonjs/sampling.d.ts +38 -0
  124. package/dist/commonjs/sampling.d.ts.map +1 -0
  125. package/dist/commonjs/sampling.js +92 -0
  126. package/dist/commonjs/sampling.js.map +1 -0
  127. package/dist/commonjs/tsdoc-metadata.json +11 -0
  128. package/dist/commonjs/types.d.ts +86 -0
  129. package/dist/commonjs/types.d.ts.map +1 -0
  130. package/dist/commonjs/types.js +43 -0
  131. package/dist/commonjs/types.js.map +1 -0
  132. package/dist/commonjs/utils/breezeUtils.d.ts +25 -0
  133. package/dist/commonjs/utils/breezeUtils.d.ts.map +1 -0
  134. package/dist/commonjs/utils/breezeUtils.js +39 -0
  135. package/dist/commonjs/utils/breezeUtils.js.map +1 -0
  136. package/dist/commonjs/utils/common.d.ts +14 -0
  137. package/dist/commonjs/utils/common.d.ts.map +1 -0
  138. package/dist/commonjs/utils/common.js +250 -0
  139. package/dist/commonjs/utils/common.js.map +1 -0
  140. package/dist/commonjs/utils/connectionStringParser.d.ts +13 -0
  141. package/dist/commonjs/utils/connectionStringParser.d.ts.map +1 -0
  142. package/dist/commonjs/utils/connectionStringParser.js +83 -0
  143. package/dist/commonjs/utils/connectionStringParser.js.map +1 -0
  144. package/dist/commonjs/utils/constants/applicationinsights.d.ts +41 -0
  145. package/dist/commonjs/utils/constants/applicationinsights.d.ts.map +1 -0
  146. package/dist/commonjs/utils/constants/applicationinsights.js +47 -0
  147. package/dist/commonjs/utils/constants/applicationinsights.js.map +1 -0
  148. package/dist/commonjs/utils/constants/span/azAttributes.d.ts +16 -0
  149. package/dist/commonjs/utils/constants/span/azAttributes.d.ts.map +1 -0
  150. package/dist/commonjs/utils/constants/span/azAttributes.js +21 -0
  151. package/dist/commonjs/utils/constants/span/azAttributes.js.map +1 -0
  152. package/dist/commonjs/utils/eventhub.d.ts +10 -0
  153. package/dist/commonjs/utils/eventhub.d.ts.map +1 -0
  154. package/dist/commonjs/utils/eventhub.js +57 -0
  155. package/dist/commonjs/utils/eventhub.js.map +1 -0
  156. package/dist/commonjs/utils/logUtils.d.ts +8 -0
  157. package/dist/commonjs/utils/logUtils.d.ts.map +1 -0
  158. package/dist/commonjs/utils/logUtils.js +206 -0
  159. package/dist/commonjs/utils/logUtils.js.map +1 -0
  160. package/dist/commonjs/utils/metricUtils.d.ts +8 -0
  161. package/dist/commonjs/utils/metricUtils.d.ts.map +1 -0
  162. package/dist/commonjs/utils/metricUtils.js +90 -0
  163. package/dist/commonjs/utils/metricUtils.js.map +1 -0
  164. package/dist/commonjs/utils/spanUtils.d.ts +13 -0
  165. package/dist/commonjs/utils/spanUtils.d.ts.map +1 -0
  166. package/dist/commonjs/utils/spanUtils.js +461 -0
  167. package/dist/commonjs/utils/spanUtils.js.map +1 -0
  168. package/dist/esm/Declarations/Constants.d.ts +111 -0
  169. package/dist/esm/Declarations/Constants.d.ts.map +1 -0
  170. package/{dist-esm/src → dist/esm}/Declarations/Constants.js +19 -1
  171. package/dist/esm/Declarations/Constants.js.map +1 -0
  172. package/dist/esm/Declarations/Contracts/Constants.d.ts +14 -0
  173. package/dist/esm/Declarations/Contracts/Constants.d.ts.map +1 -0
  174. package/dist/esm/Declarations/Contracts/index.d.ts +2 -0
  175. package/dist/esm/Declarations/Contracts/index.d.ts.map +1 -0
  176. package/{dist-esm/src/platform/nodejs/context → dist/esm/Declarations/Contracts}/index.js +1 -1
  177. package/dist/esm/Declarations/Contracts/index.js.map +1 -0
  178. package/dist/esm/config.d.ts +30 -0
  179. package/dist/esm/config.d.ts.map +1 -0
  180. package/dist/esm/config.js.map +1 -0
  181. package/dist/esm/export/base.d.ts +36 -0
  182. package/dist/esm/export/base.d.ts.map +1 -0
  183. package/{dist-esm/src → dist/esm}/export/base.js +3 -3
  184. package/dist/esm/export/base.js.map +1 -0
  185. package/dist/esm/export/log.d.ts +30 -0
  186. package/dist/esm/export/log.d.ts.map +1 -0
  187. package/{dist-esm/src → dist/esm}/export/log.js +3 -4
  188. package/dist/esm/export/log.js.map +1 -0
  189. package/dist/esm/export/metric.d.ts +39 -0
  190. package/dist/esm/export/metric.d.ts.map +1 -0
  191. package/{dist-esm/src → dist/esm}/export/metric.js +4 -5
  192. package/dist/esm/export/metric.js.map +1 -0
  193. package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.d.ts +39 -0
  194. package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.d.ts.map +1 -0
  195. package/{dist-esm/src → dist/esm}/export/statsbeat/longIntervalStatsbeatMetrics.js +16 -14
  196. package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -0
  197. package/dist/esm/export/statsbeat/networkStatsbeatMetrics.d.ts +51 -0
  198. package/dist/esm/export/statsbeat/networkStatsbeatMetrics.d.ts.map +1 -0
  199. package/{dist-esm/src → dist/esm}/export/statsbeat/networkStatsbeatMetrics.js +45 -8
  200. package/dist/esm/export/statsbeat/networkStatsbeatMetrics.js.map +1 -0
  201. package/dist/esm/export/statsbeat/statsbeatExporter.d.ts +32 -0
  202. package/dist/esm/export/statsbeat/statsbeatExporter.d.ts.map +1 -0
  203. package/{dist-esm/src → dist/esm}/export/statsbeat/statsbeatExporter.js +3 -4
  204. package/dist/esm/export/statsbeat/statsbeatExporter.js.map +1 -0
  205. package/dist/esm/export/statsbeat/statsbeatMetrics.d.ts +11 -0
  206. package/dist/esm/export/statsbeat/statsbeatMetrics.d.ts.map +1 -0
  207. package/{dist-esm/src → dist/esm}/export/statsbeat/statsbeatMetrics.js +3 -4
  208. package/dist/esm/export/statsbeat/statsbeatMetrics.js.map +1 -0
  209. package/dist/esm/export/statsbeat/types.d.ts +97 -0
  210. package/dist/esm/export/statsbeat/types.d.ts.map +1 -0
  211. package/{dist-esm/src → dist/esm}/export/statsbeat/types.js +14 -0
  212. package/dist/esm/export/statsbeat/types.js.map +1 -0
  213. package/dist/esm/export/trace.d.ts +31 -0
  214. package/dist/esm/export/trace.d.ts.map +1 -0
  215. package/{dist-esm/src → dist/esm}/export/trace.js +4 -5
  216. package/dist/esm/export/trace.js.map +1 -0
  217. package/dist/esm/generated/applicationInsightsClient.d.ts +17 -0
  218. package/dist/esm/generated/applicationInsightsClient.d.ts.map +1 -0
  219. package/{dist-esm/src → dist/esm}/generated/applicationInsightsClient.js +3 -3
  220. package/dist/esm/generated/applicationInsightsClient.js.map +1 -0
  221. package/dist/esm/generated/index.d.ts +3 -0
  222. package/dist/esm/generated/index.d.ts.map +1 -0
  223. package/{dist-esm/src → dist/esm}/generated/index.js +2 -2
  224. package/dist/esm/generated/index.js.map +1 -0
  225. package/dist/esm/generated/models/index.d.ts +429 -0
  226. package/dist/esm/generated/models/index.d.ts.map +1 -0
  227. package/dist/esm/generated/models/mappers.d.ts +19 -0
  228. package/dist/esm/generated/models/mappers.d.ts.map +1 -0
  229. package/dist/esm/generated/models/parameters.d.ts +6 -0
  230. package/dist/esm/generated/models/parameters.d.ts.map +1 -0
  231. package/dist/esm/index.d.ts +10 -0
  232. package/dist/esm/index.d.ts.map +1 -0
  233. package/dist/esm/index.js +10 -0
  234. package/dist/esm/index.js.map +1 -0
  235. package/dist/esm/package.json +3 -0
  236. package/dist/esm/platform/index.d.ts +2 -0
  237. package/dist/esm/platform/index.d.ts.map +1 -0
  238. package/{dist-esm/src → dist/esm}/platform/index.js +1 -1
  239. package/dist/esm/platform/index.js.map +1 -0
  240. package/dist/esm/platform/nodejs/baseSender.d.ts +49 -0
  241. package/dist/esm/platform/nodejs/baseSender.d.ts.map +1 -0
  242. package/{dist-esm/src → dist/esm}/platform/nodejs/baseSender.js +27 -11
  243. package/dist/esm/platform/nodejs/baseSender.js.map +1 -0
  244. package/dist/esm/platform/nodejs/constants.d.ts +10 -0
  245. package/dist/esm/platform/nodejs/constants.d.ts.map +1 -0
  246. package/dist/esm/platform/nodejs/context/context.d.ts +20 -0
  247. package/dist/esm/platform/nodejs/context/context.d.ts.map +1 -0
  248. package/{dist-esm/src → dist/esm}/platform/nodejs/context/context.js +5 -5
  249. package/dist/esm/platform/nodejs/context/context.js.map +1 -0
  250. package/dist/esm/platform/nodejs/context/index.d.ts +2 -0
  251. package/dist/esm/platform/nodejs/context/index.d.ts.map +1 -0
  252. package/{dist-esm/src/Declarations/Contracts → dist/esm/platform/nodejs/context}/index.js +1 -1
  253. package/{dist-esm/src → dist/esm}/platform/nodejs/context/index.js.map +1 -1
  254. package/dist/esm/platform/nodejs/httpSender.d.ts +32 -0
  255. package/dist/esm/platform/nodejs/httpSender.d.ts.map +1 -0
  256. package/{dist-esm/src → dist/esm}/platform/nodejs/httpSender.js +3 -4
  257. package/dist/esm/platform/nodejs/httpSender.js.map +1 -0
  258. package/dist/esm/platform/nodejs/index.d.ts +8 -0
  259. package/dist/esm/platform/nodejs/index.d.ts.map +1 -0
  260. package/dist/esm/platform/nodejs/index.js +10 -0
  261. package/dist/esm/platform/nodejs/index.js.map +1 -0
  262. package/dist/esm/platform/nodejs/persist/fileAccessControl.d.ts +18 -0
  263. package/dist/esm/platform/nodejs/persist/fileAccessControl.d.ts.map +1 -0
  264. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/fileAccessControl.js +14 -13
  265. package/dist/esm/platform/nodejs/persist/fileAccessControl.js.map +1 -0
  266. package/dist/esm/platform/nodejs/persist/fileSystemHelpers.d.ts +11 -0
  267. package/dist/esm/platform/nodejs/persist/fileSystemHelpers.d.ts.map +1 -0
  268. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/fileSystemHelpers.js +6 -11
  269. package/dist/esm/platform/nodejs/persist/fileSystemHelpers.js.map +1 -0
  270. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts +29 -0
  271. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -0
  272. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/fileSystemPersist.js +19 -26
  273. package/dist/esm/platform/nodejs/persist/fileSystemPersist.js.map +1 -0
  274. package/dist/esm/platform/nodejs/persist/index.d.ts +2 -0
  275. package/dist/esm/platform/nodejs/persist/index.d.ts.map +1 -0
  276. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/index.js +1 -1
  277. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/index.js.map +1 -1
  278. package/dist/esm/sampling.d.ts +38 -0
  279. package/dist/esm/sampling.d.ts.map +1 -0
  280. package/{dist-esm/src → dist/esm}/sampling.js +1 -1
  281. package/dist/esm/sampling.js.map +1 -0
  282. package/dist/esm/types.d.ts +86 -0
  283. package/dist/esm/types.d.ts.map +1 -0
  284. package/dist/esm/types.js.map +1 -0
  285. package/dist/esm/utils/breezeUtils.d.ts +25 -0
  286. package/dist/esm/utils/breezeUtils.d.ts.map +1 -0
  287. package/dist/esm/utils/common.d.ts +14 -0
  288. package/dist/esm/utils/common.d.ts.map +1 -0
  289. package/{dist-esm/src → dist/esm}/utils/common.js +20 -11
  290. package/dist/esm/utils/common.js.map +1 -0
  291. package/dist/esm/utils/connectionStringParser.d.ts +13 -0
  292. package/dist/esm/utils/connectionStringParser.d.ts.map +1 -0
  293. package/{dist-esm/src → dist/esm}/utils/connectionStringParser.js +1 -1
  294. package/dist/esm/utils/connectionStringParser.js.map +1 -0
  295. package/dist/esm/utils/constants/applicationinsights.d.ts +41 -0
  296. package/dist/esm/utils/constants/applicationinsights.d.ts.map +1 -0
  297. package/{dist-esm/src → dist/esm}/utils/constants/applicationinsights.js +1 -1
  298. package/{dist-esm/src → dist/esm}/utils/constants/applicationinsights.js.map +1 -1
  299. package/dist/esm/utils/constants/span/azAttributes.d.ts +16 -0
  300. package/dist/esm/utils/constants/span/azAttributes.d.ts.map +1 -0
  301. package/dist/esm/utils/eventhub.d.ts +10 -0
  302. package/dist/esm/utils/eventhub.d.ts.map +1 -0
  303. package/{dist-esm/src → dist/esm}/utils/eventhub.js +2 -2
  304. package/dist/esm/utils/eventhub.js.map +1 -0
  305. package/dist/esm/utils/logUtils.d.ts +8 -0
  306. package/dist/esm/utils/logUtils.d.ts.map +1 -0
  307. package/{dist-esm/src → dist/esm}/utils/logUtils.js +15 -11
  308. package/dist/esm/utils/logUtils.js.map +1 -0
  309. package/dist/esm/utils/metricUtils.d.ts +8 -0
  310. package/dist/esm/utils/metricUtils.d.ts.map +1 -0
  311. package/{dist-esm/src → dist/esm}/utils/metricUtils.js +2 -2
  312. package/dist/esm/utils/metricUtils.js.map +1 -0
  313. package/dist/esm/utils/spanUtils.d.ts +13 -0
  314. package/dist/esm/utils/spanUtils.d.ts.map +1 -0
  315. package/{dist-esm/src → dist/esm}/utils/spanUtils.js +33 -13
  316. package/dist/esm/utils/spanUtils.js.map +1 -0
  317. package/package.json +69 -50
  318. package/dist/index.js +0 -4045
  319. package/dist-esm/src/Declarations/Constants.js.map +0 -1
  320. package/dist-esm/src/Declarations/Contracts/index.js.map +0 -1
  321. package/dist-esm/src/config.js.map +0 -1
  322. package/dist-esm/src/export/base.js.map +0 -1
  323. package/dist-esm/src/export/log.js.map +0 -1
  324. package/dist-esm/src/export/metric.js.map +0 -1
  325. package/dist-esm/src/export/statsbeat/longIntervalStatsbeatMetrics.js.map +0 -1
  326. package/dist-esm/src/export/statsbeat/networkStatsbeatMetrics.js.map +0 -1
  327. package/dist-esm/src/export/statsbeat/statsbeatExporter.js.map +0 -1
  328. package/dist-esm/src/export/statsbeat/statsbeatMetrics.js.map +0 -1
  329. package/dist-esm/src/export/statsbeat/types.js.map +0 -1
  330. package/dist-esm/src/export/trace.js.map +0 -1
  331. package/dist-esm/src/generated/applicationInsightsClient.js.map +0 -1
  332. package/dist-esm/src/generated/index.js.map +0 -1
  333. package/dist-esm/src/index.js +0 -9
  334. package/dist-esm/src/index.js.map +0 -1
  335. package/dist-esm/src/platform/index.js.map +0 -1
  336. package/dist-esm/src/platform/nodejs/baseSender.js.map +0 -1
  337. package/dist-esm/src/platform/nodejs/context/context.js.map +0 -1
  338. package/dist-esm/src/platform/nodejs/httpSender.js.map +0 -1
  339. package/dist-esm/src/platform/nodejs/index.js +0 -10
  340. package/dist-esm/src/platform/nodejs/index.js.map +0 -1
  341. package/dist-esm/src/platform/nodejs/persist/fileAccessControl.js.map +0 -1
  342. package/dist-esm/src/platform/nodejs/persist/fileSystemHelpers.js.map +0 -1
  343. package/dist-esm/src/platform/nodejs/persist/fileSystemPersist.js.map +0 -1
  344. package/dist-esm/src/sampling.js.map +0 -1
  345. package/dist-esm/src/types.js.map +0 -1
  346. package/dist-esm/src/utils/common.js.map +0 -1
  347. package/dist-esm/src/utils/connectionStringParser.js.map +0 -1
  348. package/dist-esm/src/utils/eventhub.js.map +0 -1
  349. package/dist-esm/src/utils/logUtils.js.map +0 -1
  350. package/dist-esm/src/utils/metricUtils.js.map +0 -1
  351. package/dist-esm/src/utils/spanUtils.js.map +0 -1
  352. package/types/monitor-opentelemetry-exporter.d.ts +0 -222
  353. /package/{dist-esm/src → dist/esm}/Declarations/Contracts/Constants.js +0 -0
  354. /package/{dist-esm/src → dist/esm}/Declarations/Contracts/Constants.js.map +0 -0
  355. /package/{dist-esm/src → dist/esm}/config.js +0 -0
  356. /package/{dist-esm/src → dist/esm}/generated/models/index.js +0 -0
  357. /package/{dist-esm/src → dist/esm}/generated/models/index.js.map +0 -0
  358. /package/{dist-esm/src → dist/esm}/generated/models/mappers.js +0 -0
  359. /package/{dist-esm/src → dist/esm}/generated/models/mappers.js.map +0 -0
  360. /package/{dist-esm/src → dist/esm}/generated/models/parameters.js +0 -0
  361. /package/{dist-esm/src → dist/esm}/generated/models/parameters.js.map +0 -0
  362. /package/{dist-esm/src → dist/esm}/platform/nodejs/constants.js +0 -0
  363. /package/{dist-esm/src → dist/esm}/platform/nodejs/constants.js.map +0 -0
  364. /package/{dist-esm/src → dist/esm}/types.js +0 -0
  365. /package/{dist-esm/src → dist/esm}/utils/breezeUtils.js +0 -0
  366. /package/{dist-esm/src → dist/esm}/utils/breezeUtils.js.map +0 -0
  367. /package/{dist-esm/src → dist/esm}/utils/constants/span/azAttributes.js +0 -0
  368. /package/{dist-esm/src → dist/esm}/utils/constants/span/azAttributes.js.map +0 -0
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.hrTimeToDate = hrTimeToDate;
6
+ exports.createTagsFromResource = createTagsFromResource;
7
+ exports.isSqlDB = isSqlDB;
8
+ exports.getUrl = getUrl;
9
+ exports.getDependencyTarget = getDependencyTarget;
10
+ exports.createResourceMetricEnvelope = createResourceMetricEnvelope;
11
+ exports.serializeAttribute = serializeAttribute;
12
+ exports.shouldCreateResourceMetric = shouldCreateResourceMetric;
13
+ const tslib_1 = require("tslib");
14
+ const node_os_1 = tslib_1.__importDefault(require("node:os"));
15
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
16
+ const index_js_1 = require("../platform/index.js");
17
+ const index_js_2 = require("../generated/index.js");
18
+ const core_1 = require("@opentelemetry/core");
19
+ const Constants_js_1 = require("../Declarations/Constants.js");
20
+ function hrTimeToDate(hrTime) {
21
+ return new Date((0, core_1.hrTimeToNanoseconds)(hrTime) / 1000000);
22
+ }
23
+ function createTagsFromResource(resource) {
24
+ const context = (0, index_js_1.getInstance)();
25
+ const tags = Object.assign({}, context.tags);
26
+ if (resource && resource.attributes) {
27
+ tags[index_js_2.KnownContextTagKeys.AiCloudRole] = getCloudRole(resource);
28
+ tags[index_js_2.KnownContextTagKeys.AiCloudRoleInstance] = getCloudRoleInstance(resource);
29
+ if (resource.attributes[semantic_conventions_1.SEMRESATTRS_DEVICE_ID]) {
30
+ tags[index_js_2.KnownContextTagKeys.AiDeviceId] = String(resource.attributes[semantic_conventions_1.SEMRESATTRS_DEVICE_ID]);
31
+ }
32
+ if (resource.attributes[semantic_conventions_1.SEMRESATTRS_DEVICE_MODEL_NAME]) {
33
+ tags[index_js_2.KnownContextTagKeys.AiDeviceModel] = String(resource.attributes[semantic_conventions_1.SEMRESATTRS_DEVICE_MODEL_NAME]);
34
+ }
35
+ if (resource.attributes[semantic_conventions_1.SEMRESATTRS_SERVICE_VERSION]) {
36
+ tags[index_js_2.KnownContextTagKeys.AiApplicationVer] = String(resource.attributes[semantic_conventions_1.SEMRESATTRS_SERVICE_VERSION]);
37
+ }
38
+ }
39
+ return tags;
40
+ }
41
+ function getCloudRole(resource) {
42
+ let cloudRole = "";
43
+ // Service attributes
44
+ const serviceName = resource.attributes[semantic_conventions_1.SEMRESATTRS_SERVICE_NAME];
45
+ const serviceNamespace = resource.attributes[semantic_conventions_1.SEMRESATTRS_SERVICE_NAMESPACE];
46
+ if (serviceName) {
47
+ // Custom Service name provided by customer is highest precedence
48
+ if (!String(serviceName).startsWith("unknown_service")) {
49
+ if (serviceNamespace) {
50
+ return `${serviceNamespace}.${serviceName}`;
51
+ }
52
+ else {
53
+ return String(serviceName);
54
+ }
55
+ }
56
+ else {
57
+ // Service attributes will be only used if K8S attributes are not present
58
+ if (serviceNamespace) {
59
+ cloudRole = `${serviceNamespace}.${serviceName}`;
60
+ }
61
+ else {
62
+ cloudRole = String(serviceName);
63
+ }
64
+ }
65
+ }
66
+ // Kubernetes attributes should take precedence
67
+ const kubernetesDeploymentName = resource.attributes[semantic_conventions_1.SEMRESATTRS_K8S_DEPLOYMENT_NAME];
68
+ if (kubernetesDeploymentName) {
69
+ return String(kubernetesDeploymentName);
70
+ }
71
+ const kuberneteReplicasetName = resource.attributes[semantic_conventions_1.SEMRESATTRS_K8S_REPLICASET_NAME];
72
+ if (kuberneteReplicasetName) {
73
+ return String(kuberneteReplicasetName);
74
+ }
75
+ const kubernetesStatefulSetName = resource.attributes[semantic_conventions_1.SEMRESATTRS_K8S_STATEFULSET_NAME];
76
+ if (kubernetesStatefulSetName) {
77
+ return String(kubernetesStatefulSetName);
78
+ }
79
+ const kubernetesJobName = resource.attributes[semantic_conventions_1.SEMRESATTRS_K8S_JOB_NAME];
80
+ if (kubernetesJobName) {
81
+ return String(kubernetesJobName);
82
+ }
83
+ const kubernetesCronjobName = resource.attributes[semantic_conventions_1.SEMRESATTRS_K8S_CRONJOB_NAME];
84
+ if (kubernetesCronjobName) {
85
+ return String(kubernetesCronjobName);
86
+ }
87
+ const kubernetesDaemonsetName = resource.attributes[semantic_conventions_1.SEMRESATTRS_K8S_DAEMONSET_NAME];
88
+ if (kubernetesDaemonsetName) {
89
+ return String(kubernetesDaemonsetName);
90
+ }
91
+ return cloudRole;
92
+ }
93
+ function getCloudRoleInstance(resource) {
94
+ // Kubernetes attributes should take precedence
95
+ const kubernetesPodName = resource.attributes[semantic_conventions_1.SEMRESATTRS_K8S_POD_NAME];
96
+ if (kubernetesPodName) {
97
+ return String(kubernetesPodName);
98
+ }
99
+ // Service attributes
100
+ const serviceInstanceId = resource.attributes[semantic_conventions_1.SEMRESATTRS_SERVICE_INSTANCE_ID];
101
+ if (serviceInstanceId) {
102
+ return String(serviceInstanceId);
103
+ }
104
+ // Default
105
+ return node_os_1.default && node_os_1.default.hostname();
106
+ }
107
+ function isSqlDB(dbSystem) {
108
+ return (dbSystem === semantic_conventions_1.DBSYSTEMVALUES_DB2 ||
109
+ dbSystem === semantic_conventions_1.DBSYSTEMVALUES_DERBY ||
110
+ dbSystem === semantic_conventions_1.DBSYSTEMVALUES_MARIADB ||
111
+ dbSystem === semantic_conventions_1.DBSYSTEMVALUES_MSSQL ||
112
+ dbSystem === semantic_conventions_1.DBSYSTEMVALUES_ORACLE ||
113
+ dbSystem === semantic_conventions_1.DBSYSTEMVALUES_SQLITE ||
114
+ dbSystem === semantic_conventions_1.DBSYSTEMVALUES_OTHER_SQL ||
115
+ dbSystem === semantic_conventions_1.DBSYSTEMVALUES_HSQLDB ||
116
+ dbSystem === semantic_conventions_1.DBSYSTEMVALUES_H2);
117
+ }
118
+ function getUrl(attributes) {
119
+ if (!attributes) {
120
+ return "";
121
+ }
122
+ const httpMethod = attributes[semantic_conventions_1.SEMATTRS_HTTP_METHOD];
123
+ if (httpMethod) {
124
+ const httpUrl = attributes[semantic_conventions_1.SEMATTRS_HTTP_URL];
125
+ if (httpUrl) {
126
+ return String(httpUrl);
127
+ }
128
+ else {
129
+ const httpScheme = attributes[semantic_conventions_1.SEMATTRS_HTTP_SCHEME];
130
+ const httpTarget = attributes[semantic_conventions_1.SEMATTRS_HTTP_TARGET];
131
+ if (httpScheme && httpTarget) {
132
+ const httpHost = attributes[semantic_conventions_1.SEMATTRS_HTTP_HOST];
133
+ if (httpHost) {
134
+ return `${httpScheme}://${httpHost}${httpTarget}`;
135
+ }
136
+ else {
137
+ const netPeerPort = attributes[semantic_conventions_1.SEMATTRS_NET_PEER_PORT];
138
+ if (netPeerPort) {
139
+ const netPeerName = attributes[semantic_conventions_1.SEMATTRS_NET_PEER_NAME];
140
+ if (netPeerName) {
141
+ return `${httpScheme}://${netPeerName}:${netPeerPort}${httpTarget}`;
142
+ }
143
+ else {
144
+ const netPeerIp = attributes[semantic_conventions_1.SEMATTRS_NET_PEER_IP];
145
+ if (netPeerIp) {
146
+ return `${httpScheme}://${netPeerIp}:${netPeerPort}${httpTarget}`;
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ return "";
155
+ }
156
+ function getDependencyTarget(attributes) {
157
+ if (!attributes) {
158
+ return "";
159
+ }
160
+ const peerService = attributes[semantic_conventions_1.SEMATTRS_PEER_SERVICE];
161
+ const httpHost = attributes[semantic_conventions_1.SEMATTRS_HTTP_HOST];
162
+ const httpUrl = attributes[semantic_conventions_1.SEMATTRS_HTTP_URL];
163
+ const netPeerName = attributes[semantic_conventions_1.SEMATTRS_NET_PEER_NAME];
164
+ const netPeerIp = attributes[semantic_conventions_1.SEMATTRS_NET_PEER_IP];
165
+ if (peerService) {
166
+ return String(peerService);
167
+ }
168
+ else if (httpHost) {
169
+ return String(httpHost);
170
+ }
171
+ else if (httpUrl) {
172
+ return String(httpUrl);
173
+ }
174
+ else if (netPeerName) {
175
+ return String(netPeerName);
176
+ }
177
+ else if (netPeerIp) {
178
+ return String(netPeerIp);
179
+ }
180
+ return "";
181
+ }
182
+ function createResourceMetricEnvelope(resource, instrumentationKey) {
183
+ if (resource && resource.attributes) {
184
+ const tags = createTagsFromResource(resource);
185
+ const resourceAttributes = {};
186
+ for (const key of Object.keys(resource.attributes)) {
187
+ // Avoid duplication ignoring fields already mapped.
188
+ if (!(key.startsWith("_MS.") ||
189
+ key === semantic_conventions_1.ATTR_TELEMETRY_SDK_VERSION ||
190
+ key === semantic_conventions_1.ATTR_TELEMETRY_SDK_LANGUAGE ||
191
+ key === semantic_conventions_1.ATTR_TELEMETRY_SDK_NAME)) {
192
+ resourceAttributes[key] = resource.attributes[key];
193
+ }
194
+ }
195
+ // Only send event when resource attributes are available
196
+ if (Object.keys(resourceAttributes).length > 0) {
197
+ const baseData = {
198
+ version: 2,
199
+ metrics: [{ name: "_OTELRESOURCE_", value: 1 }],
200
+ properties: resourceAttributes,
201
+ };
202
+ const envelope = {
203
+ name: "Microsoft.ApplicationInsights.Metric",
204
+ time: new Date(),
205
+ sampleRate: 100, // Metrics are never sampled
206
+ instrumentationKey: instrumentationKey,
207
+ version: 1,
208
+ data: {
209
+ baseType: "MetricData",
210
+ baseData: baseData,
211
+ },
212
+ tags: tags,
213
+ };
214
+ return envelope;
215
+ }
216
+ }
217
+ return;
218
+ }
219
+ function serializeAttribute(value) {
220
+ if (typeof value === "object") {
221
+ if (value instanceof Error) {
222
+ try {
223
+ return JSON.stringify(value, Object.getOwnPropertyNames(value));
224
+ }
225
+ catch (err) {
226
+ // Failed to serialize, return string cast
227
+ return String(value);
228
+ }
229
+ }
230
+ else if (value instanceof Uint8Array) {
231
+ return String(value);
232
+ }
233
+ else {
234
+ try {
235
+ return JSON.stringify(value);
236
+ }
237
+ catch (err) {
238
+ // Failed to serialize, return string cast
239
+ return String(value);
240
+ }
241
+ }
242
+ }
243
+ // Return scalar and undefined values
244
+ return String(value);
245
+ }
246
+ function shouldCreateResourceMetric() {
247
+ var _a;
248
+ return !(((_a = process.env[Constants_js_1.ENV_OPENTELEMETRY_RESOURCE_METRIC_DISABLED]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === "true");
249
+ }
250
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport os from \"node:os\";\nimport {\n SEMRESATTRS_DEVICE_ID,\n SEMRESATTRS_DEVICE_MODEL_NAME,\n SEMRESATTRS_SERVICE_VERSION,\n SEMRESATTRS_K8S_POD_NAME,\n SEMRESATTRS_SERVICE_INSTANCE_ID,\n DBSYSTEMVALUES_DB2,\n DBSYSTEMVALUES_DERBY,\n DBSYSTEMVALUES_MARIADB,\n DBSYSTEMVALUES_MSSQL,\n DBSYSTEMVALUES_ORACLE,\n DBSYSTEMVALUES_SQLITE,\n DBSYSTEMVALUES_OTHER_SQL,\n DBSYSTEMVALUES_HSQLDB,\n DBSYSTEMVALUES_H2,\n SEMATTRS_HTTP_METHOD,\n SEMATTRS_HTTP_URL,\n SEMATTRS_HTTP_SCHEME,\n SEMATTRS_HTTP_TARGET,\n SEMATTRS_HTTP_HOST,\n SEMATTRS_NET_PEER_PORT,\n SEMATTRS_NET_PEER_NAME,\n SEMATTRS_NET_PEER_IP,\n SEMATTRS_PEER_SERVICE,\n SEMRESATTRS_SERVICE_NAME,\n SEMRESATTRS_SERVICE_NAMESPACE,\n SEMRESATTRS_K8S_DEPLOYMENT_NAME,\n SEMRESATTRS_K8S_REPLICASET_NAME,\n SEMRESATTRS_K8S_STATEFULSET_NAME,\n SEMRESATTRS_K8S_JOB_NAME,\n SEMRESATTRS_K8S_CRONJOB_NAME,\n SEMRESATTRS_K8S_DAEMONSET_NAME,\n ATTR_TELEMETRY_SDK_VERSION,\n ATTR_TELEMETRY_SDK_LANGUAGE,\n ATTR_TELEMETRY_SDK_NAME,\n} from \"@opentelemetry/semantic-conventions\";\nimport type { Tags } from \"../types.js\";\nimport { getInstance } from \"../platform/index.js\";\nimport type { TelemetryItem as Envelope, MetricsData } from \"../generated/index.js\";\nimport { KnownContextTagKeys } from \"../generated/index.js\";\nimport type { Resource } from \"@opentelemetry/resources\";\nimport type { Attributes, HrTime } from \"@opentelemetry/api\";\nimport { hrTimeToNanoseconds } from \"@opentelemetry/core\";\nimport type { AnyValue } from \"@opentelemetry/api-logs\";\nimport { ENV_OPENTELEMETRY_RESOURCE_METRIC_DISABLED } from \"../Declarations/Constants.js\";\n\nexport function hrTimeToDate(hrTime: HrTime): Date {\n return new Date(hrTimeToNanoseconds(hrTime) / 1000000);\n}\n\nexport function createTagsFromResource(resource: Resource): Tags {\n const context = getInstance();\n const tags: Tags = { ...context.tags };\n if (resource && resource.attributes) {\n tags[KnownContextTagKeys.AiCloudRole] = getCloudRole(resource);\n tags[KnownContextTagKeys.AiCloudRoleInstance] = getCloudRoleInstance(resource);\n if (resource.attributes[SEMRESATTRS_DEVICE_ID]) {\n tags[KnownContextTagKeys.AiDeviceId] = String(resource.attributes[SEMRESATTRS_DEVICE_ID]);\n }\n if (resource.attributes[SEMRESATTRS_DEVICE_MODEL_NAME]) {\n tags[KnownContextTagKeys.AiDeviceModel] = String(\n resource.attributes[SEMRESATTRS_DEVICE_MODEL_NAME],\n );\n }\n if (resource.attributes[SEMRESATTRS_SERVICE_VERSION]) {\n tags[KnownContextTagKeys.AiApplicationVer] = String(\n resource.attributes[SEMRESATTRS_SERVICE_VERSION],\n );\n }\n }\n return tags;\n}\n\nfunction getCloudRole(resource: Resource): string {\n let cloudRole = \"\";\n // Service attributes\n const serviceName = resource.attributes[SEMRESATTRS_SERVICE_NAME];\n const serviceNamespace = resource.attributes[SEMRESATTRS_SERVICE_NAMESPACE];\n if (serviceName) {\n // Custom Service name provided by customer is highest precedence\n if (!String(serviceName).startsWith(\"unknown_service\")) {\n if (serviceNamespace) {\n return `${serviceNamespace}.${serviceName}`;\n } else {\n return String(serviceName);\n }\n } else {\n // Service attributes will be only used if K8S attributes are not present\n if (serviceNamespace) {\n cloudRole = `${serviceNamespace}.${serviceName}`;\n } else {\n cloudRole = String(serviceName);\n }\n }\n }\n // Kubernetes attributes should take precedence\n const kubernetesDeploymentName = resource.attributes[SEMRESATTRS_K8S_DEPLOYMENT_NAME];\n if (kubernetesDeploymentName) {\n return String(kubernetesDeploymentName);\n }\n const kuberneteReplicasetName = resource.attributes[SEMRESATTRS_K8S_REPLICASET_NAME];\n if (kuberneteReplicasetName) {\n return String(kuberneteReplicasetName);\n }\n const kubernetesStatefulSetName = resource.attributes[SEMRESATTRS_K8S_STATEFULSET_NAME];\n if (kubernetesStatefulSetName) {\n return String(kubernetesStatefulSetName);\n }\n const kubernetesJobName = resource.attributes[SEMRESATTRS_K8S_JOB_NAME];\n if (kubernetesJobName) {\n return String(kubernetesJobName);\n }\n const kubernetesCronjobName = resource.attributes[SEMRESATTRS_K8S_CRONJOB_NAME];\n if (kubernetesCronjobName) {\n return String(kubernetesCronjobName);\n }\n const kubernetesDaemonsetName = resource.attributes[SEMRESATTRS_K8S_DAEMONSET_NAME];\n if (kubernetesDaemonsetName) {\n return String(kubernetesDaemonsetName);\n }\n return cloudRole;\n}\n\nfunction getCloudRoleInstance(resource: Resource): string {\n // Kubernetes attributes should take precedence\n const kubernetesPodName = resource.attributes[SEMRESATTRS_K8S_POD_NAME];\n if (kubernetesPodName) {\n return String(kubernetesPodName);\n }\n // Service attributes\n const serviceInstanceId = resource.attributes[SEMRESATTRS_SERVICE_INSTANCE_ID];\n if (serviceInstanceId) {\n return String(serviceInstanceId);\n }\n // Default\n return os && os.hostname();\n}\n\nexport function isSqlDB(dbSystem: string): boolean {\n return (\n dbSystem === DBSYSTEMVALUES_DB2 ||\n dbSystem === DBSYSTEMVALUES_DERBY ||\n dbSystem === DBSYSTEMVALUES_MARIADB ||\n dbSystem === DBSYSTEMVALUES_MSSQL ||\n dbSystem === DBSYSTEMVALUES_ORACLE ||\n dbSystem === DBSYSTEMVALUES_SQLITE ||\n dbSystem === DBSYSTEMVALUES_OTHER_SQL ||\n dbSystem === DBSYSTEMVALUES_HSQLDB ||\n dbSystem === DBSYSTEMVALUES_H2\n );\n}\n\nexport function getUrl(attributes: Attributes): string {\n if (!attributes) {\n return \"\";\n }\n const httpMethod = attributes[SEMATTRS_HTTP_METHOD];\n if (httpMethod) {\n const httpUrl = attributes[SEMATTRS_HTTP_URL];\n if (httpUrl) {\n return String(httpUrl);\n } else {\n const httpScheme = attributes[SEMATTRS_HTTP_SCHEME];\n const httpTarget = attributes[SEMATTRS_HTTP_TARGET];\n if (httpScheme && httpTarget) {\n const httpHost = attributes[SEMATTRS_HTTP_HOST];\n if (httpHost) {\n return `${httpScheme}://${httpHost}${httpTarget}`;\n } else {\n const netPeerPort = attributes[SEMATTRS_NET_PEER_PORT];\n if (netPeerPort) {\n const netPeerName = attributes[SEMATTRS_NET_PEER_NAME];\n if (netPeerName) {\n return `${httpScheme}://${netPeerName}:${netPeerPort}${httpTarget}`;\n } else {\n const netPeerIp = attributes[SEMATTRS_NET_PEER_IP];\n if (netPeerIp) {\n return `${httpScheme}://${netPeerIp}:${netPeerPort}${httpTarget}`;\n }\n }\n }\n }\n }\n }\n }\n return \"\";\n}\n\nexport function getDependencyTarget(attributes: Attributes): string {\n if (!attributes) {\n return \"\";\n }\n const peerService = attributes[SEMATTRS_PEER_SERVICE];\n const httpHost = attributes[SEMATTRS_HTTP_HOST];\n const httpUrl = attributes[SEMATTRS_HTTP_URL];\n const netPeerName = attributes[SEMATTRS_NET_PEER_NAME];\n const netPeerIp = attributes[SEMATTRS_NET_PEER_IP];\n if (peerService) {\n return String(peerService);\n } else if (httpHost) {\n return String(httpHost);\n } else if (httpUrl) {\n return String(httpUrl);\n } else if (netPeerName) {\n return String(netPeerName);\n } else if (netPeerIp) {\n return String(netPeerIp);\n }\n return \"\";\n}\n\nexport function createResourceMetricEnvelope(\n resource: Resource,\n instrumentationKey: string,\n): Envelope | undefined {\n if (resource && resource.attributes) {\n const tags = createTagsFromResource(resource);\n const resourceAttributes: { [propertyName: string]: string } = {};\n for (const key of Object.keys(resource.attributes)) {\n // Avoid duplication ignoring fields already mapped.\n if (\n !(\n key.startsWith(\"_MS.\") ||\n key === ATTR_TELEMETRY_SDK_VERSION ||\n key === ATTR_TELEMETRY_SDK_LANGUAGE ||\n key === ATTR_TELEMETRY_SDK_NAME\n )\n ) {\n resourceAttributes[key] = resource.attributes[key] as string;\n }\n }\n // Only send event when resource attributes are available\n if (Object.keys(resourceAttributes).length > 0) {\n const baseData: MetricsData = {\n version: 2,\n metrics: [{ name: \"_OTELRESOURCE_\", value: 1 }],\n properties: resourceAttributes,\n };\n const envelope: Envelope = {\n name: \"Microsoft.ApplicationInsights.Metric\",\n time: new Date(),\n sampleRate: 100, // Metrics are never sampled\n instrumentationKey: instrumentationKey,\n version: 1,\n data: {\n baseType: \"MetricData\",\n baseData: baseData,\n },\n tags: tags,\n };\n return envelope;\n }\n }\n return;\n}\n\nexport function serializeAttribute(value: AnyValue): string {\n if (typeof value === \"object\") {\n if (value instanceof Error) {\n try {\n return JSON.stringify(value, Object.getOwnPropertyNames(value));\n } catch (err: unknown) {\n // Failed to serialize, return string cast\n return String(value);\n }\n } else if (value instanceof Uint8Array) {\n return String(value);\n } else {\n try {\n return JSON.stringify(value);\n } catch (err: unknown) {\n // Failed to serialize, return string cast\n return String(value);\n }\n }\n }\n // Return scalar and undefined values\n return String(value);\n}\n\nexport function shouldCreateResourceMetric(): boolean {\n return !(process.env[ENV_OPENTELEMETRY_RESOURCE_METRIC_DISABLED]?.toLowerCase() === \"true\");\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import type { ConnectionString } from "../Declarations/Contracts/index.js";
2
+ /**
3
+ * ConnectionString parser.
4
+ * @internal
5
+ */
6
+ export declare class ConnectionStringParser {
7
+ private static readonly FIELDS_SEPARATOR;
8
+ private static readonly FIELD_KEY_VALUE_SEPARATOR;
9
+ static parse(connectionString?: string): ConnectionString;
10
+ static sanitizeUrl(url: string): string;
11
+ static validateInstrumentationKey(iKey: string): boolean;
12
+ }
13
+ //# sourceMappingURL=connectionStringParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionStringParser.d.ts","sourceRoot":"","sources":["../../../src/utils/connectionStringParser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,oCAAoC,CAAC;AAGhG;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAE/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;WAE1C,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,gBAAgB;WA2DlD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;WAahC,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAUhE"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ConnectionStringParser = void 0;
6
+ const tslib_1 = require("tslib");
7
+ const api_1 = require("@opentelemetry/api");
8
+ const Constants = tslib_1.__importStar(require("../Declarations/Constants.js"));
9
+ /**
10
+ * ConnectionString parser.
11
+ * @internal
12
+ */
13
+ class ConnectionStringParser {
14
+ static parse(connectionString) {
15
+ if (!connectionString) {
16
+ return {};
17
+ }
18
+ const kvPairs = connectionString.split(ConnectionStringParser.FIELDS_SEPARATOR);
19
+ let isValid = true;
20
+ const result = kvPairs.reduce((fields, kv) => {
21
+ const kvParts = kv.split(ConnectionStringParser.FIELD_KEY_VALUE_SEPARATOR);
22
+ if (kvParts.length === 2) {
23
+ // only save fields with valid formats
24
+ const key = kvParts[0].toLowerCase();
25
+ const value = kvParts[1];
26
+ return Object.assign(Object.assign({}, fields), { [key]: value });
27
+ }
28
+ api_1.diag.error(`Connection string key-value pair is invalid: ${kv}`, `Entire connection string will be discarded`, connectionString);
29
+ isValid = false;
30
+ return fields;
31
+ }, {});
32
+ if (isValid && Object.keys(result).length > 0) {
33
+ // this is a valid connection string, so parse the results
34
+ if (result.endpointsuffix) {
35
+ // use endpoint suffix where overrides are not provided
36
+ const locationPrefix = result.location ? `${result.location}.` : "";
37
+ result.ingestionendpoint =
38
+ result.ingestionendpoint || `https://${locationPrefix}dc.${result.endpointsuffix}`;
39
+ result.liveendpoint =
40
+ result.liveendpoint || `https://${locationPrefix}live.${result.endpointsuffix}`;
41
+ }
42
+ result.ingestionendpoint = result.ingestionendpoint
43
+ ? ConnectionStringParser.sanitizeUrl(result.ingestionendpoint)
44
+ : Constants.DEFAULT_BREEZE_ENDPOINT;
45
+ result.liveendpoint = result.liveendpoint
46
+ ? ConnectionStringParser.sanitizeUrl(result.liveendpoint)
47
+ : Constants.DEFAULT_LIVEMETRICS_ENDPOINT;
48
+ if (result.authorization && result.authorization.toLowerCase() !== "ikey") {
49
+ api_1.diag.warn(`Connection String contains an unsupported 'Authorization' value: ${result.authorization}. Defaulting to 'Authorization=ikey'. Instrumentation Key ${result.instrumentationkey}`);
50
+ }
51
+ }
52
+ else {
53
+ api_1.diag.error("An invalid connection string was passed in. There may be telemetry loss", connectionString);
54
+ }
55
+ return result;
56
+ }
57
+ static sanitizeUrl(url) {
58
+ let newUrl = url.trim();
59
+ if (newUrl.indexOf("https://") < 0) {
60
+ // Try to update http to https
61
+ newUrl = newUrl.replace("http://", "https://");
62
+ }
63
+ // Remove final slash if present
64
+ if (newUrl[newUrl.length - 1] === "/") {
65
+ newUrl = newUrl.slice(0, -1);
66
+ }
67
+ return newUrl;
68
+ }
69
+ static validateInstrumentationKey(iKey) {
70
+ if (iKey.startsWith("InstrumentationKey=")) {
71
+ const startIndex = iKey.indexOf("InstrumentationKey=") + "InstrumentationKey=".length;
72
+ const endIndex = iKey.indexOf(";", startIndex);
73
+ iKey = iKey.substring(startIndex, endIndex);
74
+ }
75
+ const UUID_Regex = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
76
+ const regexp = new RegExp(UUID_Regex);
77
+ return regexp.test(iKey);
78
+ }
79
+ }
80
+ exports.ConnectionStringParser = ConnectionStringParser;
81
+ ConnectionStringParser.FIELDS_SEPARATOR = ";";
82
+ ConnectionStringParser.FIELD_KEY_VALUE_SEPARATOR = "=";
83
+ //# sourceMappingURL=connectionStringParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionStringParser.js","sourceRoot":"","sources":["../../../src/utils/connectionStringParser.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { diag } from \"@opentelemetry/api\";\nimport type { ConnectionString, ConnectionStringKey } from \"../Declarations/Contracts/index.js\";\nimport * as Constants from \"../Declarations/Constants.js\";\n\n/**\n * ConnectionString parser.\n * @internal\n */\nexport class ConnectionStringParser {\n private static readonly FIELDS_SEPARATOR = \";\";\n\n private static readonly FIELD_KEY_VALUE_SEPARATOR = \"=\";\n\n public static parse(connectionString?: string): ConnectionString {\n if (!connectionString) {\n return {};\n }\n\n const kvPairs = connectionString.split(ConnectionStringParser.FIELDS_SEPARATOR);\n let isValid = true;\n\n const result: ConnectionString = kvPairs.reduce((fields: ConnectionString, kv: string) => {\n const kvParts = kv.split(ConnectionStringParser.FIELD_KEY_VALUE_SEPARATOR);\n\n if (kvParts.length === 2) {\n // only save fields with valid formats\n const key = kvParts[0].toLowerCase() as ConnectionStringKey;\n const value = kvParts[1];\n return { ...fields, [key]: value };\n }\n diag.error(\n `Connection string key-value pair is invalid: ${kv}`,\n `Entire connection string will be discarded`,\n connectionString,\n );\n isValid = false;\n return fields;\n }, {});\n\n if (isValid && Object.keys(result).length > 0) {\n // this is a valid connection string, so parse the results\n\n if (result.endpointsuffix) {\n // use endpoint suffix where overrides are not provided\n const locationPrefix = result.location ? `${result.location}.` : \"\";\n result.ingestionendpoint =\n result.ingestionendpoint || `https://${locationPrefix}dc.${result.endpointsuffix}`;\n result.liveendpoint =\n result.liveendpoint || `https://${locationPrefix}live.${result.endpointsuffix}`;\n }\n\n result.ingestionendpoint = result.ingestionendpoint\n ? ConnectionStringParser.sanitizeUrl(result.ingestionendpoint)\n : Constants.DEFAULT_BREEZE_ENDPOINT;\n result.liveendpoint = result.liveendpoint\n ? ConnectionStringParser.sanitizeUrl(result.liveendpoint)\n : Constants.DEFAULT_LIVEMETRICS_ENDPOINT;\n if (result.authorization && result.authorization.toLowerCase() !== \"ikey\") {\n diag.warn(\n `Connection String contains an unsupported 'Authorization' value: ${result.authorization}. Defaulting to 'Authorization=ikey'. Instrumentation Key ${result.instrumentationkey!}`,\n );\n }\n } else {\n diag.error(\n \"An invalid connection string was passed in. There may be telemetry loss\",\n connectionString,\n );\n }\n\n return result;\n }\n\n public static sanitizeUrl(url: string): string {\n let newUrl = url.trim();\n if (newUrl.indexOf(\"https://\") < 0) {\n // Try to update http to https\n newUrl = newUrl.replace(\"http://\", \"https://\");\n }\n // Remove final slash if present\n if (newUrl[newUrl.length - 1] === \"/\") {\n newUrl = newUrl.slice(0, -1);\n }\n return newUrl;\n }\n\n public static validateInstrumentationKey(iKey: string): boolean {\n if (iKey.startsWith(\"InstrumentationKey=\")) {\n const startIndex = iKey.indexOf(\"InstrumentationKey=\") + \"InstrumentationKey=\".length;\n const endIndex = iKey.indexOf(\";\", startIndex);\n iKey = iKey.substring(startIndex, endIndex);\n }\n const UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\n const regexp = new RegExp(UUID_Regex);\n return regexp.test(iKey);\n }\n}\n"]}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * AI MS Links.
3
+ * @internal
4
+ */
5
+ export declare const MS_LINKS = "_MS.links";
6
+ /**
7
+ * AI enqueued time attribute.
8
+ * @internal
9
+ */
10
+ export declare const ENQUEUED_TIME = "enqueuedTime";
11
+ /**
12
+ * AI time since enqueued attribute.
13
+ * @internal
14
+ */
15
+ export declare const TIME_SINCE_ENQUEUED = "timeSinceEnqueued";
16
+ /**
17
+ * AzureMonitorTraceExporter version.
18
+ * @internal
19
+ */
20
+ export declare const packageVersion = "1.0.0-beta.28";
21
+ export declare enum DependencyTypes {
22
+ InProc = "InProc",
23
+ QueueMessage = "Queue Message",
24
+ Sql = "SQL",
25
+ Http = "Http",
26
+ Grpc = "GRPC",
27
+ Wcf = "WCF Service"
28
+ }
29
+ export declare const AzureMonitorSampleRate = "microsoft.sample_rate";
30
+ export declare const ApplicationInsightsBaseType = "_MS.baseType";
31
+ export declare const ApplicationInsightsMessageName = "Microsoft.ApplicationInsights.Message";
32
+ export declare const ApplicationInsightsExceptionName = "Microsoft.ApplicationInsights.Exception";
33
+ export declare const ApplicationInsightsPageViewName = "Microsoft.ApplicationInsights.PageView";
34
+ export declare const ApplicationInsightsAvailabilityName = "Microsoft.ApplicationInsights.Availability";
35
+ export declare const ApplicationInsightsEventName = "Microsoft.ApplicationInsights.Event";
36
+ export declare const ApplicationInsightsMessageBaseType = "MessageData";
37
+ export declare const ApplicationInsightsExceptionBaseType = "ExceptionData";
38
+ export declare const ApplicationInsightsPageViewBaseType = "PageViewData";
39
+ export declare const ApplicationInsightsAvailabilityBaseType = "AvailabilityData";
40
+ export declare const ApplicationInsightsEventBaseType = "EventData";
41
+ //# sourceMappingURL=applicationinsights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicationinsights.d.ts","sourceRoot":"","sources":["../../../../src/utils/constants/applicationinsights.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,QAAQ,cAAc,CAAC;AACpC;;;GAGG;AACH,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AACvD;;;GAGG;AACH,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAE9C,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,YAAY,kBAAkB;IAC9B,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,gBAAgB;CACpB;AAED,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAE1D,eAAO,MAAM,8BAA8B,0CAA0C,CAAC;AACtF,eAAO,MAAM,gCAAgC,4CAA4C,CAAC;AAC1F,eAAO,MAAM,+BAA+B,2CAA2C,CAAC;AACxF,eAAO,MAAM,mCAAmC,+CAA+C,CAAC;AAChG,eAAO,MAAM,4BAA4B,wCAAwC,CAAC;AAElF,eAAO,MAAM,kCAAkC,gBAAgB,CAAC;AAChE,eAAO,MAAM,oCAAoC,kBAAkB,CAAC;AACpE,eAAO,MAAM,mCAAmC,iBAAiB,CAAC;AAClE,eAAO,MAAM,uCAAuC,qBAAqB,CAAC;AAC1E,eAAO,MAAM,gCAAgC,cAAc,CAAC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ApplicationInsightsEventBaseType = exports.ApplicationInsightsAvailabilityBaseType = exports.ApplicationInsightsPageViewBaseType = exports.ApplicationInsightsExceptionBaseType = exports.ApplicationInsightsMessageBaseType = exports.ApplicationInsightsEventName = exports.ApplicationInsightsAvailabilityName = exports.ApplicationInsightsPageViewName = exports.ApplicationInsightsExceptionName = exports.ApplicationInsightsMessageName = exports.ApplicationInsightsBaseType = exports.AzureMonitorSampleRate = exports.DependencyTypes = exports.packageVersion = exports.TIME_SINCE_ENQUEUED = exports.ENQUEUED_TIME = exports.MS_LINKS = void 0;
6
+ /**
7
+ * AI MS Links.
8
+ * @internal
9
+ */
10
+ exports.MS_LINKS = "_MS.links";
11
+ /**
12
+ * AI enqueued time attribute.
13
+ * @internal
14
+ */
15
+ exports.ENQUEUED_TIME = "enqueuedTime";
16
+ /**
17
+ * AI time since enqueued attribute.
18
+ * @internal
19
+ */
20
+ exports.TIME_SINCE_ENQUEUED = "timeSinceEnqueued";
21
+ /**
22
+ * AzureMonitorTraceExporter version.
23
+ * @internal
24
+ */
25
+ exports.packageVersion = "1.0.0-beta.28";
26
+ var DependencyTypes;
27
+ (function (DependencyTypes) {
28
+ DependencyTypes["InProc"] = "InProc";
29
+ DependencyTypes["QueueMessage"] = "Queue Message";
30
+ DependencyTypes["Sql"] = "SQL";
31
+ DependencyTypes["Http"] = "Http";
32
+ DependencyTypes["Grpc"] = "GRPC";
33
+ DependencyTypes["Wcf"] = "WCF Service";
34
+ })(DependencyTypes || (exports.DependencyTypes = DependencyTypes = {}));
35
+ exports.AzureMonitorSampleRate = "microsoft.sample_rate";
36
+ exports.ApplicationInsightsBaseType = "_MS.baseType";
37
+ exports.ApplicationInsightsMessageName = "Microsoft.ApplicationInsights.Message";
38
+ exports.ApplicationInsightsExceptionName = "Microsoft.ApplicationInsights.Exception";
39
+ exports.ApplicationInsightsPageViewName = "Microsoft.ApplicationInsights.PageView";
40
+ exports.ApplicationInsightsAvailabilityName = "Microsoft.ApplicationInsights.Availability";
41
+ exports.ApplicationInsightsEventName = "Microsoft.ApplicationInsights.Event";
42
+ exports.ApplicationInsightsMessageBaseType = "MessageData";
43
+ exports.ApplicationInsightsExceptionBaseType = "ExceptionData";
44
+ exports.ApplicationInsightsPageViewBaseType = "PageViewData";
45
+ exports.ApplicationInsightsAvailabilityBaseType = "AvailabilityData";
46
+ exports.ApplicationInsightsEventBaseType = "EventData";
47
+ //# sourceMappingURL=applicationinsights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicationinsights.js","sourceRoot":"","sources":["../../../../src/utils/constants/applicationinsights.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC;;;GAGG;AACU,QAAA,QAAQ,GAAG,WAAW,CAAC;AACpC;;;GAGG;AACU,QAAA,aAAa,GAAG,cAAc,CAAC;AAC5C;;;GAGG;AACU,QAAA,mBAAmB,GAAG,mBAAmB,CAAC;AACvD;;;GAGG;AACU,QAAA,cAAc,GAAG,eAAe,CAAC;AAE9C,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,iDAA8B,CAAA;IAC9B,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAEY,QAAA,sBAAsB,GAAG,uBAAuB,CAAC;AACjD,QAAA,2BAA2B,GAAG,cAAc,CAAC;AAE7C,QAAA,8BAA8B,GAAG,uCAAuC,CAAC;AACzE,QAAA,gCAAgC,GAAG,yCAAyC,CAAC;AAC7E,QAAA,+BAA+B,GAAG,wCAAwC,CAAC;AAC3E,QAAA,mCAAmC,GAAG,4CAA4C,CAAC;AACnF,QAAA,4BAA4B,GAAG,qCAAqC,CAAC;AAErE,QAAA,kCAAkC,GAAG,aAAa,CAAC;AACnD,QAAA,oCAAoC,GAAG,eAAe,CAAC;AACvD,QAAA,mCAAmC,GAAG,cAAc,CAAC;AACrD,QAAA,uCAAuC,GAAG,kBAAkB,CAAC;AAC7D,QAAA,gCAAgC,GAAG,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * AI MS Links.\n * @internal\n */\nexport const MS_LINKS = \"_MS.links\";\n/**\n * AI enqueued time attribute.\n * @internal\n */\nexport const ENQUEUED_TIME = \"enqueuedTime\";\n/**\n * AI time since enqueued attribute.\n * @internal\n */\nexport const TIME_SINCE_ENQUEUED = \"timeSinceEnqueued\";\n/**\n * AzureMonitorTraceExporter version.\n * @internal\n */\nexport const packageVersion = \"1.0.0-beta.28\";\n\nexport enum DependencyTypes {\n InProc = \"InProc\",\n QueueMessage = \"Queue Message\",\n Sql = \"SQL\",\n Http = \"Http\",\n Grpc = \"GRPC\",\n Wcf = \"WCF Service\",\n}\n\nexport const AzureMonitorSampleRate = \"microsoft.sample_rate\";\nexport const ApplicationInsightsBaseType = \"_MS.baseType\";\n\nexport const ApplicationInsightsMessageName = \"Microsoft.ApplicationInsights.Message\";\nexport const ApplicationInsightsExceptionName = \"Microsoft.ApplicationInsights.Exception\";\nexport const ApplicationInsightsPageViewName = \"Microsoft.ApplicationInsights.PageView\";\nexport const ApplicationInsightsAvailabilityName = \"Microsoft.ApplicationInsights.Availability\";\nexport const ApplicationInsightsEventName = \"Microsoft.ApplicationInsights.Event\";\n\nexport const ApplicationInsightsMessageBaseType = \"MessageData\";\nexport const ApplicationInsightsExceptionBaseType = \"ExceptionData\";\nexport const ApplicationInsightsPageViewBaseType = \"PageViewData\";\nexport const ApplicationInsightsAvailabilityBaseType = \"AvailabilityData\";\nexport const ApplicationInsightsEventBaseType = \"EventData\";\n"]}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Azure SDK namespace.
3
+ * @internal
4
+ */
5
+ export declare const AzNamespace = "az.namespace";
6
+ /**
7
+ * Azure SDK Eventhub.
8
+ * @internal
9
+ */
10
+ export declare const MicrosoftEventHub = "Microsoft.EventHub";
11
+ /**
12
+ * Azure SDK message bus destination.
13
+ * @internal
14
+ */
15
+ export declare const MessageBusDestination = "message_bus.destination";
16
+ //# sourceMappingURL=azAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azAttributes.d.ts","sourceRoot":"","sources":["../../../../../src/utils/constants/span/azAttributes.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAC1C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,4BAA4B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.MessageBusDestination = exports.MicrosoftEventHub = exports.AzNamespace = void 0;
6
+ /**
7
+ * Azure SDK namespace.
8
+ * @internal
9
+ */
10
+ exports.AzNamespace = "az.namespace";
11
+ /**
12
+ * Azure SDK Eventhub.
13
+ * @internal
14
+ */
15
+ exports.MicrosoftEventHub = "Microsoft.EventHub";
16
+ /**
17
+ * Azure SDK message bus destination.
18
+ * @internal
19
+ */
20
+ exports.MessageBusDestination = "message_bus.destination";
21
+ //# sourceMappingURL=azAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azAttributes.js","sourceRoot":"","sources":["../../../../../src/utils/constants/span/azAttributes.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC;;;GAGG;AACU,QAAA,WAAW,GAAG,cAAc,CAAC;AAC1C;;;GAGG;AACU,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AACtD;;;GAGG;AACU,QAAA,qBAAqB,GAAG,yBAAyB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Azure SDK namespace.\n * @internal\n */\nexport const AzNamespace = \"az.namespace\";\n/**\n * Azure SDK Eventhub.\n * @internal\n */\nexport const MicrosoftEventHub = \"Microsoft.EventHub\";\n/**\n * Azure SDK message bus destination.\n * @internal\n */\nexport const MessageBusDestination = \"message_bus.destination\";\n"]}
@@ -0,0 +1,10 @@
1
+ import type { ReadableSpan } from "@opentelemetry/sdk-trace-base";
2
+ import type { RemoteDependencyData, RequestData } from "../generated/index.js";
3
+ /**
4
+ * Implementation of Mapping to Azure Monitor
5
+ *
6
+ * https://gist.github.com/lmolkova/e4215c0f44a49ef824983382762e6b92#mapping-to-azure-monitor-application-insights-telemetry
7
+ * @internal
8
+ */
9
+ export declare const parseEventHubSpan: (span: ReadableSpan, baseData: RequestData | RemoteDependencyData) => void;
10
+ //# sourceMappingURL=eventhub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventhub.d.ts","sourceRoot":"","sources":["../../../src/utils/eventhub.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAwB/E;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,SACtB,YAAY,YACR,WAAW,GAAG,oBAAoB,KAC3C,IA4BF,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.parseEventHubSpan = void 0;
6
+ const api_1 = require("@opentelemetry/api");
7
+ const core_1 = require("@opentelemetry/core");
8
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
9
+ const applicationinsights_js_1 = require("./constants/applicationinsights.js");
10
+ const azAttributes_js_1 = require("./constants/span/azAttributes.js");
11
+ /**
12
+ * Average span.links[].attributes.enqueuedTime
13
+ */
14
+ const getTimeSinceEnqueued = (span) => {
15
+ let countEnqueueDiffs = 0;
16
+ let sumEnqueueDiffs = 0;
17
+ const startTimeMs = (0, core_1.hrTimeToMilliseconds)(span.startTime);
18
+ span.links.forEach(({ attributes }) => {
19
+ const enqueuedTime = attributes === null || attributes === void 0 ? void 0 : attributes[applicationinsights_js_1.ENQUEUED_TIME];
20
+ if (enqueuedTime) {
21
+ countEnqueueDiffs += 1;
22
+ sumEnqueueDiffs += startTimeMs - (parseFloat(enqueuedTime.toString()) || 0);
23
+ }
24
+ });
25
+ return Math.max(sumEnqueueDiffs / (countEnqueueDiffs || 1), 0);
26
+ };
27
+ /**
28
+ * Implementation of Mapping to Azure Monitor
29
+ *
30
+ * https://gist.github.com/lmolkova/e4215c0f44a49ef824983382762e6b92#mapping-to-azure-monitor-application-insights-telemetry
31
+ * @internal
32
+ */
33
+ const parseEventHubSpan = (span, baseData) => {
34
+ const namespace = span.attributes[azAttributes_js_1.AzNamespace];
35
+ const peerAddress = (span.attributes[semantic_conventions_1.SEMATTRS_NET_PEER_NAME] ||
36
+ span.attributes["peer.address"] ||
37
+ "unknown").replace(/\/$/g, ""); // remove trailing "/"
38
+ const messageBusDestination = (span.attributes[azAttributes_js_1.MessageBusDestination] || "unknown");
39
+ switch (span.kind) {
40
+ case api_1.SpanKind.CLIENT:
41
+ baseData.type = namespace;
42
+ baseData.target = `${peerAddress}/${messageBusDestination}`;
43
+ break;
44
+ case api_1.SpanKind.PRODUCER:
45
+ baseData.type = `Queue Message | ${namespace}`;
46
+ baseData.target = `${peerAddress}/${messageBusDestination}`;
47
+ break;
48
+ case api_1.SpanKind.CONSUMER:
49
+ baseData.type = `Queue Message | ${namespace}`;
50
+ baseData.source = `${peerAddress}/${messageBusDestination}`;
51
+ baseData.measurements = Object.assign(Object.assign({}, baseData.measurements), { [applicationinsights_js_1.TIME_SINCE_ENQUEUED]: getTimeSinceEnqueued(span) });
52
+ break;
53
+ default: // no op
54
+ }
55
+ };
56
+ exports.parseEventHubSpan = parseEventHubSpan;
57
+ //# sourceMappingURL=eventhub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventhub.js","sourceRoot":"","sources":["../../../src/utils/eventhub.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,4CAA8C;AAC9C,8CAA2D;AAC3D,8EAA6E;AAG7E,+EAAwF;AAExF,sEAAsF;AAEtF;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,IAAkB,EAAU,EAAE;IAC1D,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,MAAM,WAAW,GAAG,IAAA,2BAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACpC,MAAM,YAAY,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,sCAAa,CAAoB,CAAC;QACpE,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAiB,IAAI,CAAC,CAAC;YACvB,eAAe,IAAI,WAAW,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,iBAAiB,GAAG,CAC/B,IAAkB,EAClB,QAA4C,EACtC,EAAE;IACR,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,6BAAW,CAA6B,CAAC;IAC3E,MAAM,WAAW,GACf,CAAC,IAAI,CAAC,UAAU,CAAC,6CAAsB,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAC/B,SAAS,CACZ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;IAC7C,MAAM,qBAAqB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,uCAAqB,CAAC,IAAI,SAAS,CAAW,CAAC;IAE9F,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,cAAQ,CAAC,MAAM;YAClB,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YAC1B,QAAQ,CAAC,MAAM,GAAG,GAAG,WAAW,IAAI,qBAAqB,EAAE,CAAC;YAC5D,MAAM;QACR,KAAK,cAAQ,CAAC,QAAQ;YACpB,QAAQ,CAAC,IAAI,GAAG,mBAAmB,SAAS,EAAE,CAAC;YAC/C,QAAQ,CAAC,MAAM,GAAG,GAAG,WAAW,IAAI,qBAAqB,EAAE,CAAC;YAC5D,MAAM;QACR,KAAK,cAAQ,CAAC,QAAQ;YACpB,QAAQ,CAAC,IAAI,GAAG,mBAAmB,SAAS,EAAE,CAAC;YAC9C,QAAgB,CAAC,MAAM,GAAG,GAAG,WAAW,IAAI,qBAAqB,EAAE,CAAC;YACrE,QAAQ,CAAC,YAAY,mCAChB,QAAQ,CAAC,YAAY,KACxB,CAAC,4CAAmB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAClD,CAAC;YACF,MAAM;QACR,QAAQ,CAAC,QAAQ;IACnB,CAAC;AACH,CAAC,CAAC;AA/BW,QAAA,iBAAiB,qBA+B5B","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { SpanKind } from \"@opentelemetry/api\";\nimport { hrTimeToMilliseconds } from \"@opentelemetry/core\";\nimport { SEMATTRS_NET_PEER_NAME } from \"@opentelemetry/semantic-conventions\";\nimport type { ReadableSpan } from \"@opentelemetry/sdk-trace-base\";\nimport type { RemoteDependencyData, RequestData } from \"../generated/index.js\";\nimport { TIME_SINCE_ENQUEUED, ENQUEUED_TIME } from \"./constants/applicationinsights.js\";\nimport type { MicrosoftEventHub } from \"./constants/span/azAttributes.js\";\nimport { AzNamespace, MessageBusDestination } from \"./constants/span/azAttributes.js\";\n\n/**\n * Average span.links[].attributes.enqueuedTime\n */\nconst getTimeSinceEnqueued = (span: ReadableSpan): number => {\n let countEnqueueDiffs = 0;\n let sumEnqueueDiffs = 0;\n const startTimeMs = hrTimeToMilliseconds(span.startTime);\n\n span.links.forEach(({ attributes }) => {\n const enqueuedTime = attributes?.[ENQUEUED_TIME] as string | number;\n if (enqueuedTime) {\n countEnqueueDiffs += 1;\n sumEnqueueDiffs += startTimeMs - (parseFloat(enqueuedTime.toString()) || 0);\n }\n });\n\n return Math.max(sumEnqueueDiffs / (countEnqueueDiffs || 1), 0);\n};\n\n/**\n * Implementation of Mapping to Azure Monitor\n *\n * https://gist.github.com/lmolkova/e4215c0f44a49ef824983382762e6b92#mapping-to-azure-monitor-application-insights-telemetry\n * @internal\n */\nexport const parseEventHubSpan = (\n span: ReadableSpan,\n baseData: RequestData | RemoteDependencyData,\n): void => {\n const namespace = span.attributes[AzNamespace] as typeof MicrosoftEventHub;\n const peerAddress = (\n (span.attributes[SEMATTRS_NET_PEER_NAME] ||\n span.attributes[\"peer.address\"] ||\n \"unknown\") as string\n ).replace(/\\/$/g, \"\"); // remove trailing \"/\"\n const messageBusDestination = (span.attributes[MessageBusDestination] || \"unknown\") as string;\n\n switch (span.kind) {\n case SpanKind.CLIENT:\n baseData.type = namespace;\n baseData.target = `${peerAddress}/${messageBusDestination}`;\n break;\n case SpanKind.PRODUCER:\n baseData.type = `Queue Message | ${namespace}`;\n baseData.target = `${peerAddress}/${messageBusDestination}`;\n break;\n case SpanKind.CONSUMER:\n baseData.type = `Queue Message | ${namespace}`;\n (baseData as any).source = `${peerAddress}/${messageBusDestination}`;\n baseData.measurements = {\n ...baseData.measurements,\n [TIME_SINCE_ENQUEUED]: getTimeSinceEnqueued(span),\n };\n break;\n default: // no op\n }\n};\n"]}