@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
@@ -1,14 +1,16 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { diag, } from "@opentelemetry/api";
4
- import { MeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
5
- import * as ai from "../../utils/constants/applicationinsights";
6
- import { StatsbeatMetrics } from "./statsbeatMetrics";
7
- import { StatsbeatCounter, STATSBEAT_LANGUAGE, NetworkStatsbeat, } from "./types";
8
- import { AzureMonitorStatsbeatExporter } from "./statsbeatExporter";
3
+ import { diag } from "@opentelemetry/api";
4
+ import { MeterProvider, PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
5
+ import * as ai from "../../utils/constants/applicationinsights.js";
6
+ import { StatsbeatMetrics } from "./statsbeatMetrics.js";
7
+ import { StatsbeatCounter, STATSBEAT_LANGUAGE, NetworkStatsbeat } from "./types.js";
8
+ import { AzureMonitorStatsbeatExporter } from "./statsbeatExporter.js";
9
+ import { ENV_DISABLE_STATSBEAT } from "../../Declarations/Constants.js";
9
10
  export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
10
11
  constructor(options) {
11
12
  super();
13
+ this.disableNonEssentialStatsbeat = !!process.env[ENV_DISABLE_STATSBEAT];
12
14
  this.isInitialized = false;
13
15
  this.statsCollectionShortInterval = 900000; // 15 minutes
14
16
  this.networkStatsbeatCollection = [];
@@ -39,6 +41,12 @@ export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
39
41
  this.throttleCountGauge = this.networkStatsbeatMeter.createObservableGauge(StatsbeatCounter.THROTTLE_COUNT);
40
42
  this.exceptionCountGauge = this.networkStatsbeatMeter.createObservableGauge(StatsbeatCounter.EXCEPTION_COUNT);
41
43
  this.averageDurationGauge = this.networkStatsbeatMeter.createObservableGauge(StatsbeatCounter.AVERAGE_DURATION);
44
+ if (!this.disableNonEssentialStatsbeat) {
45
+ this.readFailureGauge = this.networkStatsbeatMeter.createObservableGauge(StatsbeatCounter.READ_FAILURE_COUNT);
46
+ this.writeFailureGauge = this.networkStatsbeatMeter.createObservableGauge(StatsbeatCounter.WRITE_FAILURE_COUNT);
47
+ }
48
+ this.isInitialized = true;
49
+ this.initialize();
42
50
  this.commonProperties = {
43
51
  os: this.os,
44
52
  rp: this.resourceProvider,
@@ -52,13 +60,12 @@ export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
52
60
  endpoint: this.endpointUrl,
53
61
  host: this.host,
54
62
  };
55
- this.isInitialized = true;
56
- this.initialize();
57
63
  }
58
64
  shutdown() {
59
65
  return this.networkStatsbeatMeterProvider.shutdown();
60
66
  }
61
67
  async initialize() {
68
+ var _a, _b;
62
69
  try {
63
70
  await super.getResourceProvider();
64
71
  // Add network observable callbacks
@@ -75,6 +82,10 @@ export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
75
82
  this.networkStatsbeatMeter.addBatchObservableCallback(this.exceptionCallback.bind(this), [
76
83
  this.exceptionCountGauge,
77
84
  ]);
85
+ if (!this.disableNonEssentialStatsbeat) {
86
+ (_a = this.readFailureGauge) === null || _a === void 0 ? void 0 : _a.addCallback(this.readFailureCallback.bind(this));
87
+ (_b = this.writeFailureGauge) === null || _b === void 0 ? void 0 : _b.addCallback(this.writeFailureCallback.bind(this));
88
+ }
78
89
  this.averageDurationGauge.addCallback(this.durationCallback.bind(this));
79
90
  }
80
91
  catch (error) {
@@ -148,6 +159,18 @@ export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
148
159
  observableResult.observe(counter.averageRequestExecutionTime, attributes);
149
160
  counter.averageRequestExecutionTime = 0;
150
161
  }
162
+ readFailureCallback(observableResult) {
163
+ const counter = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);
164
+ const attributes = Object.assign(Object.assign({}, this.commonProperties), this.networkProperties);
165
+ observableResult.observe(counter.totalReadFailureCount, attributes);
166
+ counter.totalReadFailureCount = 0;
167
+ }
168
+ writeFailureCallback(observableResult) {
169
+ const counter = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);
170
+ const attributes = Object.assign(Object.assign({}, this.commonProperties), this.networkProperties);
171
+ observableResult.observe(counter.totalWriteFailureCount, attributes);
172
+ counter.totalWriteFailureCount = 0;
173
+ }
151
174
  // Public methods to increase counters
152
175
  countSuccess(duration) {
153
176
  if (!this.isInitialized) {
@@ -199,6 +222,20 @@ export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
199
222
  counter.throttleCount.push({ statusCode: statusCode, count: 1 });
200
223
  }
201
224
  }
225
+ countReadFailure() {
226
+ if (!this.isInitialized || this.disableNonEssentialStatsbeat) {
227
+ return;
228
+ }
229
+ const counter = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);
230
+ counter.totalReadFailureCount++;
231
+ }
232
+ countWriteFailure() {
233
+ if (!this.isInitialized || this.disableNonEssentialStatsbeat) {
234
+ return;
235
+ }
236
+ const counter = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);
237
+ counter.totalWriteFailureCount++;
238
+ }
202
239
  countException(exceptionType) {
203
240
  if (!this.isInitialized) {
204
241
  return;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkStatsbeatMetrics.js","sourceRoot":"","sources":["../../../../src/export/statsbeat/networkStatsbeatMetrics.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n BatchObservableResult,\n Meter,\n ObservableGauge,\n ObservableResult,\n} from \"@opentelemetry/api\";\nimport { diag } from \"@opentelemetry/api\";\nimport type { PeriodicExportingMetricReaderOptions } from \"@opentelemetry/sdk-metrics\";\nimport { MeterProvider, PeriodicExportingMetricReader } from \"@opentelemetry/sdk-metrics\";\nimport type { AzureMonitorExporterOptions } from \"../../index.js\";\nimport * as ai from \"../../utils/constants/applicationinsights.js\";\nimport { StatsbeatMetrics } from \"./statsbeatMetrics.js\";\nimport type {\n CommonStatsbeatProperties,\n NetworkStatsbeatProperties,\n StatsbeatOptions,\n} from \"./types.js\";\nimport { StatsbeatCounter, STATSBEAT_LANGUAGE, NetworkStatsbeat } from \"./types.js\";\nimport { AzureMonitorStatsbeatExporter } from \"./statsbeatExporter.js\";\nimport { ENV_DISABLE_STATSBEAT } from \"../../Declarations/Constants.js\";\n\nexport class NetworkStatsbeatMetrics extends StatsbeatMetrics {\n private disableNonEssentialStatsbeat: boolean = !!process.env[ENV_DISABLE_STATSBEAT];\n private commonProperties: CommonStatsbeatProperties;\n private networkProperties: NetworkStatsbeatProperties;\n private isInitialized: boolean = false;\n private statsCollectionShortInterval: number = 900000; // 15 minutes\n\n private networkStatsbeatCollection: Array<NetworkStatsbeat> = [];\n private networkStatsbeatMeter: Meter;\n private networkStatsbeatMeterProvider: MeterProvider;\n private networkAzureExporter: AzureMonitorStatsbeatExporter;\n private networkMetricReader: PeriodicExportingMetricReader;\n\n // Custom dimensions\n private cikey: string;\n private runtimeVersion: string;\n private language: string;\n private version: string;\n private attach: string = \"Manual\";\n\n // Observable Gauges\n private successCountGauge: ObservableGauge;\n private failureCountGauge: ObservableGauge;\n private retryCountGauge: ObservableGauge;\n private throttleCountGauge: ObservableGauge;\n private exceptionCountGauge: ObservableGauge;\n private averageDurationGauge: ObservableGauge;\n // Non-essential Statsbeat Gauges\n private readFailureGauge: ObservableGauge | undefined;\n private writeFailureGauge: ObservableGauge | undefined;\n\n // Network attributes\n private connectionString: string;\n private endpointUrl: string;\n private host: string;\n\n constructor(options: StatsbeatOptions) {\n super();\n this.connectionString = super.getConnectionString(options.endpointUrl);\n this.networkStatsbeatMeterProvider = new MeterProvider();\n\n const exporterConfig: AzureMonitorExporterOptions = {\n connectionString: this.connectionString,\n };\n\n this.networkAzureExporter = new AzureMonitorStatsbeatExporter(exporterConfig);\n\n // Exports Network Statsbeat every 15 minutes\n const networkMetricReaderOptions: PeriodicExportingMetricReaderOptions = {\n exporter: this.networkAzureExporter,\n exportIntervalMillis: options.networkCollectionInterval || this.statsCollectionShortInterval, // 15 minutes\n };\n\n this.networkMetricReader = new PeriodicExportingMetricReader(networkMetricReaderOptions);\n this.networkStatsbeatMeterProvider.addMetricReader(this.networkMetricReader);\n this.networkStatsbeatMeter = this.networkStatsbeatMeterProvider.getMeter(\n \"Azure Monitor Network Statsbeat\",\n );\n\n this.endpointUrl = options.endpointUrl;\n this.runtimeVersion = process.version;\n this.language = STATSBEAT_LANGUAGE;\n this.version = ai.packageVersion;\n this.host = this.getShortHost(options.endpointUrl);\n this.cikey = options.instrumentationKey;\n\n this.successCountGauge = this.networkStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.SUCCESS_COUNT,\n );\n this.failureCountGauge = this.networkStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.FAILURE_COUNT,\n );\n this.retryCountGauge = this.networkStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.RETRY_COUNT,\n );\n this.throttleCountGauge = this.networkStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.THROTTLE_COUNT,\n );\n this.exceptionCountGauge = this.networkStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.EXCEPTION_COUNT,\n );\n this.averageDurationGauge = this.networkStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.AVERAGE_DURATION,\n );\n if (!this.disableNonEssentialStatsbeat) {\n this.readFailureGauge = this.networkStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.READ_FAILURE_COUNT,\n );\n this.writeFailureGauge = this.networkStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.WRITE_FAILURE_COUNT,\n );\n }\n\n this.isInitialized = true;\n this.initialize();\n\n this.commonProperties = {\n os: this.os,\n rp: this.resourceProvider,\n cikey: this.cikey,\n runtimeVersion: this.runtimeVersion,\n language: this.language,\n version: this.version,\n attach: this.attach,\n };\n\n this.networkProperties = {\n endpoint: this.endpointUrl,\n host: this.host,\n };\n }\n\n public shutdown(): Promise<void> {\n return this.networkStatsbeatMeterProvider.shutdown();\n }\n\n private async initialize(): Promise<void> {\n try {\n await super.getResourceProvider();\n\n // Add network observable callbacks\n this.successCountGauge.addCallback(this.successCallback.bind(this));\n this.networkStatsbeatMeter.addBatchObservableCallback(this.failureCallback.bind(this), [\n this.failureCountGauge,\n ]);\n this.networkStatsbeatMeter.addBatchObservableCallback(this.retryCallback.bind(this), [\n this.retryCountGauge,\n ]);\n this.networkStatsbeatMeter.addBatchObservableCallback(this.throttleCallback.bind(this), [\n this.throttleCountGauge,\n ]);\n this.networkStatsbeatMeter.addBatchObservableCallback(this.exceptionCallback.bind(this), [\n this.exceptionCountGauge,\n ]);\n if (!this.disableNonEssentialStatsbeat) {\n this.readFailureGauge?.addCallback(this.readFailureCallback.bind(this));\n this.writeFailureGauge?.addCallback(this.writeFailureCallback.bind(this));\n }\n this.averageDurationGauge.addCallback(this.durationCallback.bind(this));\n } catch (error) {\n diag.debug(\"Call to get the resource provider failed.\");\n }\n }\n\n // Observable gauge callbacks\n private successCallback(observableResult: ObservableResult): void {\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const attributes = { ...this.commonProperties, ...this.networkProperties };\n observableResult.observe(counter.totalSuccesfulRequestCount, attributes);\n counter.totalSuccesfulRequestCount = 0;\n }\n\n private failureCallback(observableResult: BatchObservableResult): void {\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n /*\n Takes the failureCountGauge, value (of the counter), and attributes\n create a unqiue counter based on statusCode as well\n append statusCode to attributes so the newly created attributes are unique.\n */\n const attributes = { ...this.networkProperties, ...this.commonProperties, statusCode: 0 };\n\n // For each { statusCode -> count } mapping, call observe, passing the count and attributes that include the statusCode\n for (let i = 0; i < counter.totalFailedRequestCount.length; i++) {\n attributes.statusCode = counter.totalFailedRequestCount[i].statusCode;\n observableResult.observe(this.failureCountGauge, counter.totalFailedRequestCount[i].count, {\n ...attributes,\n });\n counter.totalFailedRequestCount[i].count = 0;\n }\n }\n\n private retryCallback(observableResult: BatchObservableResult): void {\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const attributes = { ...this.networkProperties, ...this.commonProperties, statusCode: 0 };\n\n for (let i = 0; i < counter.retryCount.length; i++) {\n attributes.statusCode = counter.retryCount[i].statusCode;\n observableResult.observe(this.retryCountGauge, counter.retryCount[i].count, {\n ...attributes,\n });\n counter.retryCount[i].count = 0;\n }\n }\n\n private throttleCallback(observableResult: BatchObservableResult): void {\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const attributes = { ...this.networkProperties, ...this.commonProperties, statusCode: 0 };\n\n for (let i = 0; i < counter.throttleCount.length; i++) {\n attributes.statusCode = counter.throttleCount[i].statusCode;\n observableResult.observe(this.throttleCountGauge, counter.throttleCount[i].count, {\n ...attributes,\n });\n counter.throttleCount[i].count = 0;\n }\n }\n\n private exceptionCallback(observableResult: BatchObservableResult): void {\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const attributes = { ...this.networkProperties, ...this.commonProperties, exceptionType: \"\" };\n\n for (let i = 0; i < counter.exceptionCount.length; i++) {\n attributes.exceptionType = counter.exceptionCount[i].exceptionType;\n observableResult.observe(this.exceptionCountGauge, counter.exceptionCount[i].count, {\n ...attributes,\n });\n counter.exceptionCount[i].count = 0;\n }\n }\n\n private durationCallback(observableResult: ObservableResult): void {\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const attributes = { ...this.networkProperties, ...this.commonProperties };\n for (let i = 0; i < this.networkStatsbeatCollection.length; i++) {\n const currentCounter = this.networkStatsbeatCollection[i];\n currentCounter.time = Number(new Date());\n const intervalRequests =\n currentCounter.totalRequestCount - currentCounter.lastRequestCount || 0;\n currentCounter.averageRequestExecutionTime =\n (currentCounter.intervalRequestExecutionTime -\n currentCounter.lastIntervalRequestExecutionTime) /\n intervalRequests || 0;\n currentCounter.lastIntervalRequestExecutionTime = currentCounter.intervalRequestExecutionTime; // reset\n\n currentCounter.lastRequestCount = currentCounter.totalRequestCount;\n currentCounter.lastTime = currentCounter.time;\n }\n observableResult.observe(counter.averageRequestExecutionTime, attributes);\n\n counter.averageRequestExecutionTime = 0;\n }\n\n private readFailureCallback(observableResult: ObservableResult): void {\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const attributes = { ...this.commonProperties, ...this.networkProperties };\n observableResult.observe(counter.totalReadFailureCount, attributes);\n counter.totalReadFailureCount = 0;\n }\n\n private writeFailureCallback(observableResult: ObservableResult): void {\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const attributes = { ...this.commonProperties, ...this.networkProperties };\n observableResult.observe(counter.totalWriteFailureCount, attributes);\n counter.totalWriteFailureCount = 0;\n }\n\n // Public methods to increase counters\n public countSuccess(duration: number): void {\n if (!this.isInitialized) {\n return;\n }\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n counter.totalRequestCount++;\n counter.totalSuccesfulRequestCount++;\n counter.intervalRequestExecutionTime += duration;\n }\n\n public countFailure(duration: number, statusCode: number): void {\n if (!this.isInitialized) {\n return;\n }\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const currentStatusCounter = counter.totalFailedRequestCount.find(\n (statusCounter) => statusCode === statusCounter.statusCode,\n );\n\n if (currentStatusCounter) {\n currentStatusCounter.count++;\n } else {\n counter.totalFailedRequestCount.push({ statusCode: statusCode, count: 1 });\n }\n\n counter.totalRequestCount++;\n counter.intervalRequestExecutionTime += duration;\n }\n\n public countRetry(statusCode: number): void {\n if (!this.isInitialized) {\n return;\n }\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const currentStatusCounter = counter.retryCount.find(\n (statusCounter) => statusCode === statusCounter.statusCode,\n );\n\n if (currentStatusCounter) {\n currentStatusCounter.count++;\n } else {\n counter.retryCount.push({ statusCode: statusCode, count: 1 });\n }\n }\n\n public countThrottle(statusCode: number): void {\n if (!this.isInitialized) {\n return;\n }\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const currentStatusCounter = counter.throttleCount.find(\n (statusCounter) => statusCode === statusCounter.statusCode,\n );\n\n if (currentStatusCounter) {\n currentStatusCounter.count++;\n } else {\n counter.throttleCount.push({ statusCode: statusCode, count: 1 });\n }\n }\n\n public countReadFailure(): void {\n if (!this.isInitialized || this.disableNonEssentialStatsbeat) {\n return;\n }\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n counter.totalReadFailureCount++;\n }\n\n public countWriteFailure(): void {\n if (!this.isInitialized || this.disableNonEssentialStatsbeat) {\n return;\n }\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n counter.totalWriteFailureCount++;\n }\n\n public countException(exceptionType: Error): void {\n if (!this.isInitialized) {\n return;\n }\n const counter: NetworkStatsbeat = this.getNetworkStatsbeatCounter(this.endpointUrl, this.host);\n const currentErrorCounter = counter.exceptionCount.find(\n (exceptionCounter) => exceptionType.name === exceptionCounter.exceptionType,\n );\n if (currentErrorCounter) {\n currentErrorCounter.count++;\n } else {\n counter.exceptionCount.push({ exceptionType: exceptionType.name, count: 1 });\n }\n }\n\n // Gets a networkStatsbeat counter if one exists for the given endpoint\n private getNetworkStatsbeatCounter(endpoint: string, host: string): NetworkStatsbeat {\n // Check if the counter is available\n for (let i = 0; i < this.networkStatsbeatCollection.length; i++) {\n // Same object\n if (\n endpoint === this.networkStatsbeatCollection[i].endpoint &&\n host === this.networkStatsbeatCollection[i].host\n ) {\n return this.networkStatsbeatCollection[i];\n }\n }\n // Create a new counter if not found\n const newCounter = new NetworkStatsbeat(endpoint, host);\n this.networkStatsbeatCollection.push(newCounter);\n return newCounter;\n }\n\n private getShortHost(originalHost: string): string {\n let shortHost = originalHost;\n try {\n const hostRegex = new RegExp(/^https?:\\/\\/(?:www\\.)?([^/.-]+)/);\n const res = hostRegex.exec(originalHost);\n if (res !== null && res.length > 1) {\n shortHost = res[1];\n }\n shortHost = shortHost.replace(\".in.applicationinsights.azure.com\", \"\");\n } catch (error) {\n diag.debug(\"Failed to get the short host name.\");\n }\n return shortHost;\n }\n}\n"]}
@@ -0,0 +1,32 @@
1
+ import type { PushMetricExporter, ResourceMetrics } from "@opentelemetry/sdk-metrics";
2
+ import type { ExportResult } from "@opentelemetry/core";
3
+ import type { AzureMonitorExporterOptions } from "../../config.js";
4
+ import { AzureMonitorBaseExporter } from "../base.js";
5
+ /**
6
+ * Azure Monitor Statsbeat Exporter
7
+ */
8
+ export declare class AzureMonitorStatsbeatExporter extends AzureMonitorBaseExporter implements PushMetricExporter {
9
+ /**
10
+ * Flag to determine if the Exporter is shutdown.
11
+ */
12
+ private _isShutdown;
13
+ private _sender;
14
+ /**
15
+ * Initializes a new instance of the AzureMonitorStatsbeatExporter class.
16
+ * @param options - Exporter configuration
17
+ */
18
+ constructor(options: AzureMonitorExporterOptions);
19
+ /**
20
+ * Export Statsbeat metrics.
21
+ */
22
+ export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): Promise<void>;
23
+ /**
24
+ * Shutdown AzureMonitorStatsbeatExporter.
25
+ */
26
+ shutdown(): Promise<void>;
27
+ /**
28
+ * Force flush.
29
+ */
30
+ forceFlush(): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=statsbeatExporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statsbeatExporter.d.ts","sourceRoot":"","sources":["../../../../src/export/statsbeat/statsbeatExporter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD;;GAEG;AACH,qBAAa,6BACX,SAAQ,wBACR,YAAW,kBAAkB;IAE7B;;OAEG;IACH,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAa;IAE5B;;;OAGG;gBACS,OAAO,EAAE,2BAA2B;IAWhD;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAiBhB;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}
@@ -2,9 +2,9 @@
2
2
  // Licensed under the MIT License.
3
3
  import { context } from "@opentelemetry/api";
4
4
  import { ExportResultCode, suppressTracing } from "@opentelemetry/core";
5
- import { resourceMetricsToEnvelope } from "../../utils/metricUtils";
6
- import { AzureMonitorBaseExporter } from "../base";
7
- import { HttpSender } from "../../platform";
5
+ import { resourceMetricsToEnvelope } from "../../utils/metricUtils.js";
6
+ import { AzureMonitorBaseExporter } from "../base.js";
7
+ import { HttpSender } from "../../platform/index.js";
8
8
  /**
9
9
  * Azure Monitor Statsbeat Exporter
10
10
  */
@@ -30,7 +30,6 @@ export class AzureMonitorStatsbeatExporter extends AzureMonitorBaseExporter {
30
30
  /**
31
31
  * Export Statsbeat metrics.
32
32
  */
33
- // eslint-disable-next-line @typescript-eslint/require-await, @typescript-eslint/no-misused-promises
34
33
  async export(metrics, resultCallback) {
35
34
  if (this._isShutdown) {
36
35
  setTimeout(() => resultCallback({ code: ExportResultCode.FAILED }), 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statsbeatExporter.js","sourceRoot":"","sources":["../../../../src/export/statsbeat/statsbeatExporter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,6BACX,SAAQ,wBAAwB;IAShC;;;OAGG;IACH,YAAY,OAAoC;QAC9C,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAXvB;;WAEG;QACK,gBAAW,GAAG,KAAK,CAAC;QAS1B,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC;YAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,OAAO;YACxB,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAwB,EACxB,cAA8C;QAE9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAe,yBAAyB,CACrD,OAAO,EACP,IAAI,CAAC,kBAAkB,EACvB,IAAI,CACL,CAAC;QACF,6DAA6D;QAC7D,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;YACzD,cAAc,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { context } from \"@opentelemetry/api\";\nimport type { PushMetricExporter, ResourceMetrics } from \"@opentelemetry/sdk-metrics\";\nimport type { ExportResult } from \"@opentelemetry/core\";\nimport { ExportResultCode, suppressTracing } from \"@opentelemetry/core\";\nimport type { AzureMonitorExporterOptions } from \"../../config.js\";\nimport type { TelemetryItem as Envelope } from \"../../generated/index.js\";\nimport { resourceMetricsToEnvelope } from \"../../utils/metricUtils.js\";\nimport { AzureMonitorBaseExporter } from \"../base.js\";\nimport { HttpSender } from \"../../platform/index.js\";\n\n/**\n * Azure Monitor Statsbeat Exporter\n */\nexport class AzureMonitorStatsbeatExporter\n extends AzureMonitorBaseExporter\n implements PushMetricExporter\n{\n /**\n * Flag to determine if the Exporter is shutdown.\n */\n private _isShutdown = false;\n private _sender: HttpSender;\n\n /**\n * Initializes a new instance of the AzureMonitorStatsbeatExporter class.\n * @param options - Exporter configuration\n */\n constructor(options: AzureMonitorExporterOptions) {\n super(options, true);\n this._sender = new HttpSender({\n endpointUrl: this.endpointUrl,\n instrumentationKey: this.instrumentationKey,\n trackStatsbeat: this.trackStatsbeat,\n exporterOptions: options,\n isStatsbeatSender: true,\n });\n }\n\n /**\n * Export Statsbeat metrics.\n */\n async export(\n metrics: ResourceMetrics,\n resultCallback: (result: ExportResult) => void,\n ): Promise<void> {\n if (this._isShutdown) {\n setTimeout(() => resultCallback({ code: ExportResultCode.FAILED }), 0);\n return;\n }\n\n const envelopes: Envelope[] = resourceMetricsToEnvelope(\n metrics,\n this.instrumentationKey,\n true, // isStatsbeat flag passed to create a Statsbeat envelope.\n );\n // Supress tracing until OpenTelemetry Metrics SDK support it\n context.with(suppressTracing(context.active()), async () => {\n resultCallback(await this._sender.exportEnvelopes(envelopes));\n });\n }\n\n /**\n * Shutdown AzureMonitorStatsbeatExporter.\n */\n public async shutdown(): Promise<void> {\n this._isShutdown = true;\n return this._sender.shutdown();\n }\n\n /**\n * Force flush.\n */\n public async forceFlush(): Promise<void> {\n return Promise.resolve();\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { VirtualMachineInfo } from "./types.js";
2
+ export declare class StatsbeatMetrics {
3
+ protected resourceProvider: string;
4
+ protected vmInfo: VirtualMachineInfo;
5
+ protected os: string;
6
+ protected resourceIdentifier: string;
7
+ protected getResourceProvider(): Promise<void>;
8
+ getAzureComputeMetadata(): Promise<boolean>;
9
+ protected getConnectionString(endpointUrl: string): string;
10
+ }
11
+ //# sourceMappingURL=statsbeatMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statsbeatMetrics.d.ts","sourceRoot":"","sources":["../../../../src/export/statsbeat/statsbeatMetrics.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAYrD,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAqC;IACvE,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAM;IAC1C,SAAS,CAAC,EAAE,EAAE,MAAM,CAAa;IACjC,SAAS,CAAC,kBAAkB,SAAM;cAElB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCvC,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IA2CxD,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAS3D"}
@@ -1,10 +1,9 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { createDefaultHttpClient, createPipelineRequest, } from "@azure/core-rest-pipeline";
3
+ import { createDefaultHttpClient, createPipelineRequest } from "@azure/core-rest-pipeline";
4
4
  import { diag } from "@opentelemetry/api";
5
- import { AIMS_API_VERSION, AIMS_FORMAT, AIMS_URI, EU_CONNECTION_STRING, EU_ENDPOINTS, NON_EU_CONNECTION_STRING, StatsbeatResourceProvider, } from "./types";
6
- // eslint-disable-next-line @typescript-eslint/no-require-imports
7
- const os = require("os");
5
+ import { AIMS_API_VERSION, AIMS_FORMAT, AIMS_URI, EU_CONNECTION_STRING, EU_ENDPOINTS, NON_EU_CONNECTION_STRING, StatsbeatResourceProvider, } from "./types.js";
6
+ import * as os from "os";
8
7
  export class StatsbeatMetrics {
9
8
  constructor() {
10
9
  this.resourceProvider = StatsbeatResourceProvider.unknown;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statsbeatMetrics.js","sourceRoot":"","sources":["../../../../src/export/statsbeat/statsbeatMetrics.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { HttpMethods } from \"@azure/core-rest-pipeline\";\nimport { createDefaultHttpClient, createPipelineRequest } from \"@azure/core-rest-pipeline\";\nimport { diag } from \"@opentelemetry/api\";\nimport type { VirtualMachineInfo } from \"./types.js\";\nimport {\n AIMS_API_VERSION,\n AIMS_FORMAT,\n AIMS_URI,\n EU_CONNECTION_STRING,\n EU_ENDPOINTS,\n NON_EU_CONNECTION_STRING,\n StatsbeatResourceProvider,\n} from \"./types.js\";\nimport * as os from \"os\";\n\nexport class StatsbeatMetrics {\n protected resourceProvider: string = StatsbeatResourceProvider.unknown;\n protected vmInfo: VirtualMachineInfo = {};\n protected os: string = os.type();\n protected resourceIdentifier = \"\";\n\n protected async getResourceProvider(): Promise<void> {\n // Check resource provider\n this.resourceProvider = StatsbeatResourceProvider.unknown;\n if (process.env.AKS_ARM_NAMESPACE_ID) {\n // AKS\n this.resourceProvider = StatsbeatResourceProvider.aks;\n this.resourceIdentifier = process.env.AKS_ARM_NAMESPACE_ID;\n } else if (process.env.WEBSITE_SITE_NAME) {\n // Web apps\n this.resourceProvider = StatsbeatResourceProvider.appsvc;\n this.resourceIdentifier = process.env.WEBSITE_SITE_NAME;\n if (process.env.WEBSITE_HOME_STAMPNAME) {\n this.resourceIdentifier += \"/\" + process.env.WEBSITE_HOME_STAMPNAME;\n }\n } else if (process.env.FUNCTIONS_WORKER_RUNTIME) {\n // Function apps\n this.resourceProvider = StatsbeatResourceProvider.functions;\n if (process.env.WEBSITE_HOSTNAME) {\n this.resourceIdentifier = process.env.WEBSITE_HOSTNAME;\n }\n } else if (await this.getAzureComputeMetadata()) {\n this.resourceProvider = StatsbeatResourceProvider.vm;\n this.resourceIdentifier = this.vmInfo.id + \"/\" + this.vmInfo.subscriptionId;\n // Overrride OS as VM info have higher precedence\n if (this.vmInfo.osType) {\n this.os = this.vmInfo.osType;\n }\n } else {\n this.resourceProvider = StatsbeatResourceProvider.unknown;\n }\n }\n\n public async getAzureComputeMetadata(): Promise<boolean> {\n const httpClient = createDefaultHttpClient();\n const method: HttpMethods = \"GET\";\n\n const options = {\n url: `${AIMS_URI}?${AIMS_API_VERSION}&${AIMS_FORMAT}`,\n timeout: 5000, // 5 seconds\n method: method,\n allowInsecureConnection: true,\n };\n const request = createPipelineRequest(options);\n\n await httpClient\n .sendRequest(request)\n .then((res: any) => {\n if (res.status === 200) {\n // Success; VM\n this.vmInfo.isVM = true;\n let virtualMachineData = \"\";\n res.on(\"data\", (data: any) => {\n virtualMachineData += data;\n });\n res.on(\"end\", () => {\n try {\n const data = JSON.parse(virtualMachineData);\n this.vmInfo.id = data[\"vmId\"] || \"\";\n this.vmInfo.subscriptionId = data[\"subscriptionId\"] || \"\";\n this.vmInfo.osType = data[\"osType\"] || \"\";\n } catch (error) {\n diag.debug(\"Failed to parse JSON: \", error);\n }\n });\n return true;\n } else {\n return false;\n }\n })\n .catch(() => {\n return false;\n });\n return false;\n }\n\n protected getConnectionString(endpointUrl: string): string {\n const currentEndpoint = endpointUrl;\n for (let i = 0; i < EU_ENDPOINTS.length; i++) {\n if (currentEndpoint.includes(EU_ENDPOINTS[i])) {\n return EU_CONNECTION_STRING;\n }\n }\n return NON_EU_CONNECTION_STRING;\n }\n}\n"]}
@@ -0,0 +1,97 @@
1
+ export declare class NetworkStatsbeat {
2
+ time: number | undefined;
3
+ lastTime: number;
4
+ endpoint: string;
5
+ host: string;
6
+ totalRequestCount: number;
7
+ lastRequestCount: number;
8
+ totalSuccesfulRequestCount: number;
9
+ totalReadFailureCount: number;
10
+ totalWriteFailureCount: number;
11
+ totalFailedRequestCount: {
12
+ statusCode: number;
13
+ count: number;
14
+ }[];
15
+ retryCount: {
16
+ statusCode: number;
17
+ count: number;
18
+ }[];
19
+ exceptionCount: {
20
+ exceptionType: string;
21
+ count: number;
22
+ }[];
23
+ throttleCount: {
24
+ statusCode: number;
25
+ count: number;
26
+ }[];
27
+ intervalRequestExecutionTime: number;
28
+ lastIntervalRequestExecutionTime: number;
29
+ averageRequestExecutionTime: number;
30
+ constructor(endpoint: string, host: string);
31
+ }
32
+ export declare const STATSBEAT_LANGUAGE = "node";
33
+ export declare const MAX_STATSBEAT_FAILURES = 3;
34
+ export declare const StatsbeatResourceProvider: {
35
+ appsvc: string;
36
+ aks: string;
37
+ functions: string;
38
+ vm: string;
39
+ unknown: string;
40
+ };
41
+ export declare enum StatsbeatCounter {
42
+ SUCCESS_COUNT = "Request_Success_Count",
43
+ FAILURE_COUNT = "Request_Failure_Count",
44
+ RETRY_COUNT = "Retry_Count",
45
+ THROTTLE_COUNT = "Throttle_Count",
46
+ EXCEPTION_COUNT = "Exception_Count",
47
+ AVERAGE_DURATION = "Request_Duration",
48
+ READ_FAILURE_COUNT = "Read_Failure_Count",
49
+ WRITE_FAILURE_COUNT = "Write_Failure_Count",
50
+ ATTACH = "Attach",
51
+ FEATURE = "Feature"
52
+ }
53
+ export declare const AIMS_URI = "http://169.254.169.254/metadata/instance/compute";
54
+ export declare const AIMS_API_VERSION = "api-version=2017-12-01";
55
+ export declare const AIMS_FORMAT = "format=json";
56
+ export declare const NON_EU_CONNECTION_STRING = "InstrumentationKey=c4a29126-a7cb-47e5-b348-11414998b11e;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com";
57
+ export declare const EU_CONNECTION_STRING = "InstrumentationKey=7dc56bab-3c0c-4e9f-9ebb-d1acadee8d0f;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com";
58
+ export declare const EU_ENDPOINTS: string[];
59
+ export interface CommonStatsbeatProperties {
60
+ os: string;
61
+ rp: string;
62
+ cikey: string;
63
+ runtimeVersion: string;
64
+ language: string;
65
+ version: string;
66
+ attach: string;
67
+ }
68
+ export interface AttachStatsbeatProperties {
69
+ rpId: string;
70
+ }
71
+ export interface NetworkStatsbeatProperties {
72
+ endpoint: string;
73
+ host: string;
74
+ }
75
+ export interface StatsbeatOptions {
76
+ instrumentationKey: string;
77
+ endpointUrl: string;
78
+ networkCollectionInterval?: number;
79
+ longCollectionInterval?: number;
80
+ disableOfflineStorage?: boolean;
81
+ }
82
+ export interface VirtualMachineInfo {
83
+ isVM?: boolean;
84
+ id?: string;
85
+ subscriptionId?: string;
86
+ osType?: string;
87
+ }
88
+ export declare enum StatsbeatFeatureType {
89
+ FEATURE = 0,
90
+ INSTRUMENTATION = 1
91
+ }
92
+ /**
93
+ * Status codes indicating that we should shutdown statsbeat
94
+ * @internal
95
+ */
96
+ export declare function isStatsbeatShutdownStatus(statusCode: number): boolean;
97
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/export/statsbeat/types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export class NetworkStatsbeat {
6
6
  this.host = host;
7
7
  this.totalRequestCount = 0;
8
8
  this.totalSuccesfulRequestCount = 0;
9
+ this.totalReadFailureCount = 0;
10
+ this.totalWriteFailureCount = 0;
9
11
  this.totalFailedRequestCount = [];
10
12
  this.retryCount = [];
11
13
  this.exceptionCount = [];
@@ -34,6 +36,8 @@ export var StatsbeatCounter;
34
36
  StatsbeatCounter["THROTTLE_COUNT"] = "Throttle_Count";
35
37
  StatsbeatCounter["EXCEPTION_COUNT"] = "Exception_Count";
36
38
  StatsbeatCounter["AVERAGE_DURATION"] = "Request_Duration";
39
+ StatsbeatCounter["READ_FAILURE_COUNT"] = "Read_Failure_Count";
40
+ StatsbeatCounter["WRITE_FAILURE_COUNT"] = "Write_Failure_Count";
37
41
  StatsbeatCounter["ATTACH"] = "Attach";
38
42
  StatsbeatCounter["FEATURE"] = "Feature";
39
43
  })(StatsbeatCounter || (StatsbeatCounter = {}));
@@ -61,4 +65,14 @@ export var StatsbeatFeatureType;
61
65
  StatsbeatFeatureType[StatsbeatFeatureType["FEATURE"] = 0] = "FEATURE";
62
66
  StatsbeatFeatureType[StatsbeatFeatureType["INSTRUMENTATION"] = 1] = "INSTRUMENTATION";
63
67
  })(StatsbeatFeatureType || (StatsbeatFeatureType = {}));
68
+ /**
69
+ * Status codes indicating that we should shutdown statsbeat
70
+ * @internal
71
+ */
72
+ export function isStatsbeatShutdownStatus(statusCode) {
73
+ return (statusCode === 401 || // Unauthorized
74
+ statusCode === 403 || // Forbidden
75
+ statusCode === 503 // Server Unavailable
76
+ );
77
+ }
64
78
  //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/export/statsbeat/types.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,OAAO,gBAAgB;IAiC3B,YAAY,QAAgB,EAAE,IAAY;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,4BAA4B,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,gCAAgC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAN,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IAC1B,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,+CAA2B,CAAA;IAC3B,qDAAiC,CAAA;IACjC,uDAAmC,CAAA;IACnC,yDAAqC,CAAA;IACrC,6DAAyC,CAAA;IACzC,+DAA2C,CAAA;IAC3C,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;AACrB,CAAC,EAXW,gBAAgB,KAAhB,gBAAgB,QAW3B;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,kDAAkD,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GACnC,6HAA6H,CAAC;AAChI,MAAM,CAAC,MAAM,oBAAoB,GAC/B,iIAAiI,CAAC;AACpI,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,YAAY;IACZ,aAAa;IACb,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,SAAS;IACT,QAAQ;CACT,CAAC;AAoCF,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,qEAAW,CAAA;IACX,qFAAmB,CAAA;AACrB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,OAAO,CACL,UAAU,KAAK,GAAG,IAAI,eAAe;QACrC,UAAU,KAAK,GAAG,IAAI,YAAY;QAClC,UAAU,KAAK,GAAG,CAAC,qBAAqB;KACzC,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport class NetworkStatsbeat {\n public time: number | undefined;\n\n public lastTime: number;\n\n public endpoint: string;\n\n public host: string;\n\n public totalRequestCount: number;\n\n public lastRequestCount: number;\n\n public totalSuccesfulRequestCount: number;\n\n public totalReadFailureCount: number;\n\n public totalWriteFailureCount: number;\n\n public totalFailedRequestCount: { statusCode: number; count: number }[];\n\n public retryCount: { statusCode: number; count: number }[];\n\n public exceptionCount: { exceptionType: string; count: number }[];\n\n public throttleCount: { statusCode: number; count: number }[];\n\n public intervalRequestExecutionTime: number;\n\n public lastIntervalRequestExecutionTime: number;\n\n public averageRequestExecutionTime: number;\n\n constructor(endpoint: string, host: string) {\n this.endpoint = endpoint;\n this.host = host;\n this.totalRequestCount = 0;\n this.totalSuccesfulRequestCount = 0;\n this.totalReadFailureCount = 0;\n this.totalWriteFailureCount = 0;\n this.totalFailedRequestCount = [];\n this.retryCount = [];\n this.exceptionCount = [];\n this.throttleCount = [];\n this.intervalRequestExecutionTime = 0;\n this.lastIntervalRequestExecutionTime = 0;\n this.lastTime = +new Date();\n this.lastRequestCount = 0;\n this.averageRequestExecutionTime = 0;\n }\n}\n\nexport const STATSBEAT_LANGUAGE = \"node\";\n\nexport const MAX_STATSBEAT_FAILURES = 3;\n\nexport const StatsbeatResourceProvider = {\n appsvc: \"appsvc\",\n aks: \"aks\",\n functions: \"functions\",\n vm: \"vm\",\n unknown: \"unknown\",\n};\n\nexport enum StatsbeatCounter {\n SUCCESS_COUNT = \"Request_Success_Count\",\n FAILURE_COUNT = \"Request_Failure_Count\",\n RETRY_COUNT = \"Retry_Count\",\n THROTTLE_COUNT = \"Throttle_Count\",\n EXCEPTION_COUNT = \"Exception_Count\",\n AVERAGE_DURATION = \"Request_Duration\",\n READ_FAILURE_COUNT = \"Read_Failure_Count\",\n WRITE_FAILURE_COUNT = \"Write_Failure_Count\",\n ATTACH = \"Attach\",\n FEATURE = \"Feature\",\n}\n\nexport const AIMS_URI = \"http://169.254.169.254/metadata/instance/compute\";\nexport const AIMS_API_VERSION = \"api-version=2017-12-01\";\nexport const AIMS_FORMAT = \"format=json\";\nexport const NON_EU_CONNECTION_STRING =\n \"InstrumentationKey=c4a29126-a7cb-47e5-b348-11414998b11e;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com\";\nexport const EU_CONNECTION_STRING =\n \"InstrumentationKey=7dc56bab-3c0c-4e9f-9ebb-d1acadee8d0f;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com\";\nexport const EU_ENDPOINTS = [\n \"westeurope\",\n \"northeurope\",\n \"francecentral\",\n \"francesouth\",\n \"germanywestcentral\",\n \"norwayeast\",\n \"norwaywest\",\n \"swedencentral\",\n \"switzerlandnorth\",\n \"switzerlandwest\",\n \"uksouth\",\n \"ukwest\",\n];\n\nexport interface CommonStatsbeatProperties {\n os: string;\n rp: string;\n cikey: string;\n runtimeVersion: string;\n language: string;\n version: string;\n attach: string;\n}\n\nexport interface AttachStatsbeatProperties {\n rpId: string;\n}\n\nexport interface NetworkStatsbeatProperties {\n endpoint: string;\n host: string;\n}\n\nexport interface StatsbeatOptions {\n instrumentationKey: string;\n endpointUrl: string;\n networkCollectionInterval?: number;\n longCollectionInterval?: number;\n disableOfflineStorage?: boolean;\n}\n\nexport interface VirtualMachineInfo {\n isVM?: boolean;\n id?: string;\n subscriptionId?: string;\n osType?: string;\n}\n\nexport enum StatsbeatFeatureType {\n FEATURE = 0,\n INSTRUMENTATION = 1,\n}\n\n/**\n * Status codes indicating that we should shutdown statsbeat\n * @internal\n */\nexport function isStatsbeatShutdownStatus(statusCode: number): boolean {\n return (\n statusCode === 401 || // Unauthorized\n statusCode === 403 || // Forbidden\n statusCode === 503 // Server Unavailable\n );\n}\n"]}
@@ -0,0 +1,31 @@
1
+ import type { ExportResult } from "@opentelemetry/core";
2
+ import type { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
3
+ import { AzureMonitorBaseExporter } from "./base.js";
4
+ import type { AzureMonitorExporterOptions } from "../config.js";
5
+ /**
6
+ * Azure Monitor OpenTelemetry Trace Exporter.
7
+ */
8
+ export declare class AzureMonitorTraceExporter extends AzureMonitorBaseExporter implements SpanExporter {
9
+ /**
10
+ * Flag to determine if Exporter is shutdown.
11
+ */
12
+ private isShutdown;
13
+ private readonly sender;
14
+ private shouldCreateResourceMetric;
15
+ /**
16
+ * Initializes a new instance of the AzureMonitorTraceExporter class.
17
+ * @param AzureExporterConfig - Exporter configuration.
18
+ */
19
+ constructor(options?: AzureMonitorExporterOptions);
20
+ /**
21
+ * Export OpenTelemetry spans.
22
+ * @param spans - Spans to export.
23
+ * @param resultCallback - Result callback.
24
+ */
25
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): Promise<void>;
26
+ /**
27
+ * Shutdown AzureMonitorTraceExporter.
28
+ */
29
+ shutdown(): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/export/trace.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAMhE;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,wBAAyB,YAAW,YAAY;IAC7F;;OAEG;IACH,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,0BAA0B,CAAyC;IAE3E;;;OAGG;gBACS,OAAO,GAAE,2BAAgC;IAYrD;;;;OAIG;IACG,MAAM,CACV,KAAK,EAAE,YAAY,EAAE,EACrB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
@@ -2,10 +2,10 @@
2
2
  // Licensed under the MIT License.
3
3
  import { diag } from "@opentelemetry/api";
4
4
  import { ExportResultCode } from "@opentelemetry/core";
5
- import { AzureMonitorBaseExporter } from "./base";
6
- import { readableSpanToEnvelope, spanEventsToEnvelopes } from "../utils/spanUtils";
7
- import { createResourceMetricEnvelope, shouldCreateResourceMetric } from "../utils/common";
8
- import { HttpSender } from "../platform";
5
+ import { AzureMonitorBaseExporter } from "./base.js";
6
+ import { readableSpanToEnvelope, spanEventsToEnvelopes } from "../utils/spanUtils.js";
7
+ import { createResourceMetricEnvelope, shouldCreateResourceMetric } from "../utils/common.js";
8
+ import { HttpSender } from "../platform/index.js";
9
9
  /**
10
10
  * Azure Monitor OpenTelemetry Trace Exporter.
11
11
  */
@@ -35,7 +35,6 @@ export class AzureMonitorTraceExporter extends AzureMonitorBaseExporter {
35
35
  * @param spans - Spans to export.
36
36
  * @param resultCallback - Result callback.
37
37
  */
38
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
39
38
  async export(spans, resultCallback) {
40
39
  if (this.isShutdown) {
41
40
  diag.info("Exporter shut down. Failed to export spans.");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/export/trace.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 { ExportResult } from \"@opentelemetry/core\";\nimport { ExportResultCode } from \"@opentelemetry/core\";\nimport type { ReadableSpan, SpanExporter } from \"@opentelemetry/sdk-trace-base\";\nimport { AzureMonitorBaseExporter } from \"./base.js\";\nimport type { AzureMonitorExporterOptions } from \"../config.js\";\nimport type { TelemetryItem as Envelope } from \"../generated/index.js\";\nimport { readableSpanToEnvelope, spanEventsToEnvelopes } from \"../utils/spanUtils.js\";\nimport { createResourceMetricEnvelope, shouldCreateResourceMetric } from \"../utils/common.js\";\nimport { HttpSender } from \"../platform/index.js\";\n\n/**\n * Azure Monitor OpenTelemetry Trace Exporter.\n */\nexport class AzureMonitorTraceExporter extends AzureMonitorBaseExporter implements SpanExporter {\n /**\n * Flag to determine if Exporter is shutdown.\n */\n private isShutdown = false;\n private readonly sender: HttpSender;\n private shouldCreateResourceMetric: boolean = shouldCreateResourceMetric();\n\n /**\n * Initializes a new instance of the AzureMonitorTraceExporter class.\n * @param AzureExporterConfig - Exporter configuration.\n */\n constructor(options: AzureMonitorExporterOptions = {}) {\n super(options);\n this.sender = new HttpSender({\n endpointUrl: this.endpointUrl,\n instrumentationKey: this.instrumentationKey,\n trackStatsbeat: this.trackStatsbeat,\n exporterOptions: options,\n aadAudience: this.aadAudience,\n });\n diag.debug(\"AzureMonitorTraceExporter was successfully setup\");\n }\n\n /**\n * Export OpenTelemetry spans.\n * @param spans - Spans to export.\n * @param resultCallback - Result callback.\n */\n async export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void,\n ): Promise<void> {\n if (this.isShutdown) {\n diag.info(\"Exporter shut down. Failed to export spans.\");\n setTimeout(() => resultCallback({ code: ExportResultCode.FAILED }), 0);\n return;\n }\n\n diag.info(`Exporting ${spans.length} span(s). Converting to envelopes...`);\n\n if (spans.length > 0) {\n const envelopes: Envelope[] = [];\n const resourceMetricEnvelope = createResourceMetricEnvelope(\n spans[0].resource,\n this.instrumentationKey,\n );\n if (resourceMetricEnvelope && this.shouldCreateResourceMetric) {\n envelopes.push(resourceMetricEnvelope);\n }\n spans.forEach((span) => {\n envelopes.push(readableSpanToEnvelope(span, this.instrumentationKey));\n const spanEventEnvelopes = spanEventsToEnvelopes(span, this.instrumentationKey);\n if (spanEventEnvelopes.length > 0) {\n envelopes.push(...spanEventEnvelopes);\n }\n });\n resultCallback(await this.sender.exportEnvelopes(envelopes));\n }\n // No data to export\n resultCallback({ code: ExportResultCode.SUCCESS });\n }\n\n /**\n * Shutdown AzureMonitorTraceExporter.\n */\n async shutdown(): Promise<void> {\n this.isShutdown = true;\n diag.info(\"AzureMonitorTraceExporter shutting down\");\n return this.sender.shutdown();\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import * as coreClient from "@azure/core-client";
2
+ import { ApplicationInsightsClientOptionalParams, TelemetryItem, TrackOptionalParams, TrackOperationResponse } from "./models/index.js";
3
+ export declare class ApplicationInsightsClient extends coreClient.ServiceClient {
4
+ host: string;
5
+ /**
6
+ * Initializes a new instance of the ApplicationInsightsClient class.
7
+ * @param options The parameter options
8
+ */
9
+ constructor(options?: ApplicationInsightsClientOptionalParams);
10
+ /**
11
+ * This operation sends a sequence of telemetry events that will be monitored by Azure Monitor.
12
+ * @param body The list of telemetry events to track.
13
+ * @param options The options parameters.
14
+ */
15
+ track(body: TelemetryItem[], options?: TrackOptionalParams): Promise<TrackOperationResponse>;
16
+ }
17
+ //# sourceMappingURL=applicationInsightsClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicationInsightsClient.d.ts","sourceRoot":"","sources":["../../../src/generated/applicationInsightsClient.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EACL,uCAAuC,EACvC,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,yBAA0B,SAAQ,UAAU,CAAC,aAAa;IACrE,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;gBACS,OAAO,CAAC,EAAE,uCAAuC;IA6B7D;;;;OAIG;IACH,KAAK,CACH,IAAI,EAAE,aAAa,EAAE,EACrB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;CAGnC"}
@@ -6,8 +6,8 @@
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
8
  import * as coreClient from "@azure/core-client";
9
- import * as Parameters from "./models/parameters";
10
- import * as Mappers from "./models/mappers";
9
+ import * as Parameters from "./models/parameters.js";
10
+ import * as Mappers from "./models/mappers.js";
11
11
  export class ApplicationInsightsClient extends coreClient.ServiceClient {
12
12
  /**
13
13
  * Initializes a new instance of the ApplicationInsightsClient class.
@@ -22,7 +22,7 @@ export class ApplicationInsightsClient extends coreClient.ServiceClient {
22
22
  const defaults = {
23
23
  requestContentType: "application/json; charset=utf-8",
24
24
  };
25
- const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.26`;
25
+ const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.28`;
26
26
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
27
27
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
28
28
  : `${packageDetails}`;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicationInsightsClient.js","sourceRoot":"","sources":["../../../src/generated/applicationInsightsClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAQ/C,MAAM,OAAO,yBAA0B,SAAQ,UAAU,CAAC,aAAa;IAGrE;;;OAGG;IACH,YAAY,OAAiD;;QAC3D,0CAA0C;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAA4C;YACxD,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,uDAAuD,CAAC;QAC/E,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;YAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,cAAc,EAAE;YACjE,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAE1B,MAAM,mBAAmB,iDACpB,QAAQ,GACR,OAAO,KACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB,EACD,QAAQ,EAAE,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,OAAO,mCAAI,aAAa,GAC/D,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3B,0CAA0C;QAC1C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,sCAAsC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CACH,IAAqB,EACrB,OAA6B;QAE7B,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC1E,CAAC;CACF;AACD,2BAA2B;AAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAE3E,MAAM,kBAAkB,GAA6B;IACnD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;KACF;IACD,WAAW,EAAE,UAAU,CAAC,IAAI;IAC5B,aAAa,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;IAChC,gBAAgB,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n ApplicationInsightsClientOptionalParams,\n TelemetryItem,\n TrackOptionalParams,\n TrackOperationResponse,\n} from \"./models/index.js\";\n\nexport class ApplicationInsightsClient extends coreClient.ServiceClient {\n host: string;\n\n /**\n * Initializes a new instance of the ApplicationInsightsClient class.\n * @param options The parameter options\n */\n constructor(options?: ApplicationInsightsClientOptionalParams) {\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: ApplicationInsightsClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n };\n\n const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.28`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n endpoint: options.endpoint ?? options.baseUri ?? \"{Host}/v2.1\",\n };\n super(optionsWithDefaults);\n\n // Assigning values to Constant parameters\n this.host = options.host || \"https://dc.services.visualstudio.com\";\n }\n\n /**\n * This operation sends a sequence of telemetry events that will be monitored by Azure Monitor.\n * @param body The list of telemetry events to track.\n * @param options The options parameters.\n */\n track(\n body: TelemetryItem[],\n options?: TrackOptionalParams,\n ): Promise<TrackOperationResponse> {\n return this.sendOperationRequest({ body, options }, trackOperationSpec);\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst trackOperationSpec: coreClient.OperationSpec = {\n path: \"/track\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.TrackResponse,\n },\n 206: {\n bodyMapper: Mappers.TrackResponse,\n },\n 400: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n 402: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n 429: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n 500: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n 503: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n },\n requestBody: Parameters.body,\n urlParameters: [Parameters.host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export * from "./models/index.js";
2
+ export { ApplicationInsightsClient } from "./applicationInsightsClient.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/index.ts"],"names":[],"mappings":"AAQA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -5,6 +5,6 @@
5
5
  * Code generated by Microsoft (R) AutoRest Code Generator.
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
- export * from "./models";
9
- export { ApplicationInsightsClient } from "./applicationInsightsClient";
8
+ export * from "./models/index.js";
9
+ export { ApplicationInsightsClient } from "./applicationInsightsClient.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport * from \"./models/index.js\";\nexport { ApplicationInsightsClient } from \"./applicationInsightsClient.js\";\n"]}