@azure/monitor-opentelemetry-exporter 1.0.0-beta.27 → 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 (367) 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 +13 -0
  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 +2 -2
  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 +9 -9
  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/export/trace.d.ts +31 -0
  212. package/dist/esm/export/trace.d.ts.map +1 -0
  213. package/{dist-esm/src → dist/esm}/export/trace.js +4 -5
  214. package/dist/esm/export/trace.js.map +1 -0
  215. package/dist/esm/generated/applicationInsightsClient.d.ts +17 -0
  216. package/dist/esm/generated/applicationInsightsClient.d.ts.map +1 -0
  217. package/{dist-esm/src → dist/esm}/generated/applicationInsightsClient.js +3 -3
  218. package/dist/esm/generated/applicationInsightsClient.js.map +1 -0
  219. package/dist/esm/generated/index.d.ts +3 -0
  220. package/dist/esm/generated/index.d.ts.map +1 -0
  221. package/{dist-esm/src → dist/esm}/generated/index.js +2 -2
  222. package/dist/esm/generated/index.js.map +1 -0
  223. package/dist/esm/generated/models/index.d.ts +429 -0
  224. package/dist/esm/generated/models/index.d.ts.map +1 -0
  225. package/dist/esm/generated/models/mappers.d.ts +19 -0
  226. package/dist/esm/generated/models/mappers.d.ts.map +1 -0
  227. package/dist/esm/generated/models/parameters.d.ts +6 -0
  228. package/dist/esm/generated/models/parameters.d.ts.map +1 -0
  229. package/dist/esm/index.d.ts +10 -0
  230. package/dist/esm/index.d.ts.map +1 -0
  231. package/dist/esm/index.js +10 -0
  232. package/dist/esm/index.js.map +1 -0
  233. package/dist/esm/package.json +3 -0
  234. package/dist/esm/platform/index.d.ts +2 -0
  235. package/dist/esm/platform/index.d.ts.map +1 -0
  236. package/{dist-esm/src → dist/esm}/platform/index.js +1 -1
  237. package/dist/esm/platform/index.js.map +1 -0
  238. package/dist/esm/platform/nodejs/baseSender.d.ts +49 -0
  239. package/dist/esm/platform/nodejs/baseSender.d.ts.map +1 -0
  240. package/{dist-esm/src → dist/esm}/platform/nodejs/baseSender.js +10 -8
  241. package/dist/esm/platform/nodejs/baseSender.js.map +1 -0
  242. package/dist/esm/platform/nodejs/constants.d.ts +10 -0
  243. package/dist/esm/platform/nodejs/constants.d.ts.map +1 -0
  244. package/dist/esm/platform/nodejs/context/context.d.ts +20 -0
  245. package/dist/esm/platform/nodejs/context/context.d.ts.map +1 -0
  246. package/{dist-esm/src → dist/esm}/platform/nodejs/context/context.js +5 -5
  247. package/dist/esm/platform/nodejs/context/context.js.map +1 -0
  248. package/dist/esm/platform/nodejs/context/index.d.ts +2 -0
  249. package/dist/esm/platform/nodejs/context/index.d.ts.map +1 -0
  250. package/{dist-esm/src/Declarations/Contracts → dist/esm/platform/nodejs/context}/index.js +1 -1
  251. package/{dist-esm/src → dist/esm}/platform/nodejs/context/index.js.map +1 -1
  252. package/dist/esm/platform/nodejs/httpSender.d.ts +32 -0
  253. package/dist/esm/platform/nodejs/httpSender.d.ts.map +1 -0
  254. package/{dist-esm/src → dist/esm}/platform/nodejs/httpSender.js +3 -4
  255. package/dist/esm/platform/nodejs/httpSender.js.map +1 -0
  256. package/dist/esm/platform/nodejs/index.d.ts +8 -0
  257. package/dist/esm/platform/nodejs/index.d.ts.map +1 -0
  258. package/dist/esm/platform/nodejs/index.js +10 -0
  259. package/dist/esm/platform/nodejs/index.js.map +1 -0
  260. package/dist/esm/platform/nodejs/persist/fileAccessControl.d.ts +18 -0
  261. package/dist/esm/platform/nodejs/persist/fileAccessControl.d.ts.map +1 -0
  262. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/fileAccessControl.js +14 -13
  263. package/dist/esm/platform/nodejs/persist/fileAccessControl.js.map +1 -0
  264. package/dist/esm/platform/nodejs/persist/fileSystemHelpers.d.ts +11 -0
  265. package/dist/esm/platform/nodejs/persist/fileSystemHelpers.d.ts.map +1 -0
  266. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/fileSystemHelpers.js +6 -11
  267. package/dist/esm/platform/nodejs/persist/fileSystemHelpers.js.map +1 -0
  268. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts +29 -0
  269. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -0
  270. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/fileSystemPersist.js +19 -26
  271. package/dist/esm/platform/nodejs/persist/fileSystemPersist.js.map +1 -0
  272. package/dist/esm/platform/nodejs/persist/index.d.ts +2 -0
  273. package/dist/esm/platform/nodejs/persist/index.d.ts.map +1 -0
  274. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/index.js +1 -1
  275. package/{dist-esm/src → dist/esm}/platform/nodejs/persist/index.js.map +1 -1
  276. package/dist/esm/sampling.d.ts +38 -0
  277. package/dist/esm/sampling.d.ts.map +1 -0
  278. package/{dist-esm/src → dist/esm}/sampling.js +1 -1
  279. package/dist/esm/sampling.js.map +1 -0
  280. package/dist/esm/types.d.ts +86 -0
  281. package/dist/esm/types.d.ts.map +1 -0
  282. package/dist/esm/types.js.map +1 -0
  283. package/dist/esm/utils/breezeUtils.d.ts +25 -0
  284. package/dist/esm/utils/breezeUtils.d.ts.map +1 -0
  285. package/dist/esm/utils/common.d.ts +14 -0
  286. package/dist/esm/utils/common.d.ts.map +1 -0
  287. package/{dist-esm/src → dist/esm}/utils/common.js +9 -8
  288. package/dist/esm/utils/common.js.map +1 -0
  289. package/dist/esm/utils/connectionStringParser.d.ts +13 -0
  290. package/dist/esm/utils/connectionStringParser.d.ts.map +1 -0
  291. package/{dist-esm/src → dist/esm}/utils/connectionStringParser.js +1 -1
  292. package/dist/esm/utils/connectionStringParser.js.map +1 -0
  293. package/dist/esm/utils/constants/applicationinsights.d.ts +41 -0
  294. package/dist/esm/utils/constants/applicationinsights.d.ts.map +1 -0
  295. package/{dist-esm/src → dist/esm}/utils/constants/applicationinsights.js +1 -1
  296. package/{dist-esm/src → dist/esm}/utils/constants/applicationinsights.js.map +1 -1
  297. package/dist/esm/utils/constants/span/azAttributes.d.ts +16 -0
  298. package/dist/esm/utils/constants/span/azAttributes.d.ts.map +1 -0
  299. package/dist/esm/utils/eventhub.d.ts +10 -0
  300. package/dist/esm/utils/eventhub.d.ts.map +1 -0
  301. package/{dist-esm/src → dist/esm}/utils/eventhub.js +2 -2
  302. package/dist/esm/utils/eventhub.js.map +1 -0
  303. package/dist/esm/utils/logUtils.d.ts +8 -0
  304. package/dist/esm/utils/logUtils.d.ts.map +1 -0
  305. package/{dist-esm/src → dist/esm}/utils/logUtils.js +15 -11
  306. package/dist/esm/utils/logUtils.js.map +1 -0
  307. package/dist/esm/utils/metricUtils.d.ts +8 -0
  308. package/dist/esm/utils/metricUtils.d.ts.map +1 -0
  309. package/{dist-esm/src → dist/esm}/utils/metricUtils.js +2 -2
  310. package/dist/esm/utils/metricUtils.js.map +1 -0
  311. package/dist/esm/utils/spanUtils.d.ts +13 -0
  312. package/dist/esm/utils/spanUtils.d.ts.map +1 -0
  313. package/{dist-esm/src → dist/esm}/utils/spanUtils.js +20 -12
  314. package/dist/esm/utils/spanUtils.js.map +1 -0
  315. package/package.json +59 -39
  316. package/dist/index.js +0 -4134
  317. package/dist-esm/src/Declarations/Constants.js.map +0 -1
  318. package/dist-esm/src/Declarations/Contracts/index.js.map +0 -1
  319. package/dist-esm/src/config.js.map +0 -1
  320. package/dist-esm/src/export/base.js.map +0 -1
  321. package/dist-esm/src/export/log.js.map +0 -1
  322. package/dist-esm/src/export/metric.js.map +0 -1
  323. package/dist-esm/src/export/statsbeat/longIntervalStatsbeatMetrics.js.map +0 -1
  324. package/dist-esm/src/export/statsbeat/networkStatsbeatMetrics.js.map +0 -1
  325. package/dist-esm/src/export/statsbeat/statsbeatExporter.js.map +0 -1
  326. package/dist-esm/src/export/statsbeat/statsbeatMetrics.js.map +0 -1
  327. package/dist-esm/src/export/trace.js.map +0 -1
  328. package/dist-esm/src/generated/applicationInsightsClient.js.map +0 -1
  329. package/dist-esm/src/generated/index.js.map +0 -1
  330. package/dist-esm/src/index.js +0 -9
  331. package/dist-esm/src/index.js.map +0 -1
  332. package/dist-esm/src/platform/index.js.map +0 -1
  333. package/dist-esm/src/platform/nodejs/baseSender.js.map +0 -1
  334. package/dist-esm/src/platform/nodejs/context/context.js.map +0 -1
  335. package/dist-esm/src/platform/nodejs/httpSender.js.map +0 -1
  336. package/dist-esm/src/platform/nodejs/index.js +0 -10
  337. package/dist-esm/src/platform/nodejs/index.js.map +0 -1
  338. package/dist-esm/src/platform/nodejs/persist/fileAccessControl.js.map +0 -1
  339. package/dist-esm/src/platform/nodejs/persist/fileSystemHelpers.js.map +0 -1
  340. package/dist-esm/src/platform/nodejs/persist/fileSystemPersist.js.map +0 -1
  341. package/dist-esm/src/sampling.js.map +0 -1
  342. package/dist-esm/src/types.js.map +0 -1
  343. package/dist-esm/src/utils/common.js.map +0 -1
  344. package/dist-esm/src/utils/connectionStringParser.js.map +0 -1
  345. package/dist-esm/src/utils/eventhub.js.map +0 -1
  346. package/dist-esm/src/utils/logUtils.js.map +0 -1
  347. package/dist-esm/src/utils/metricUtils.js.map +0 -1
  348. package/dist-esm/src/utils/spanUtils.js.map +0 -1
  349. package/types/monitor-opentelemetry-exporter.d.ts +0 -222
  350. /package/{dist-esm/src → dist/esm}/Declarations/Contracts/Constants.js +0 -0
  351. /package/{dist-esm/src → dist/esm}/Declarations/Contracts/Constants.js.map +0 -0
  352. /package/{dist-esm/src → dist/esm}/config.js +0 -0
  353. /package/{dist-esm/src → dist/esm}/export/statsbeat/types.js +0 -0
  354. /package/{dist-esm/src → dist/esm}/export/statsbeat/types.js.map +0 -0
  355. /package/{dist-esm/src → dist/esm}/generated/models/index.js +0 -0
  356. /package/{dist-esm/src → dist/esm}/generated/models/index.js.map +0 -0
  357. /package/{dist-esm/src → dist/esm}/generated/models/mappers.js +0 -0
  358. /package/{dist-esm/src → dist/esm}/generated/models/mappers.js.map +0 -0
  359. /package/{dist-esm/src → dist/esm}/generated/models/parameters.js +0 -0
  360. /package/{dist-esm/src → dist/esm}/generated/models/parameters.js.map +0 -0
  361. /package/{dist-esm/src → dist/esm}/platform/nodejs/constants.js +0 -0
  362. /package/{dist-esm/src → dist/esm}/platform/nodejs/constants.js.map +0 -0
  363. /package/{dist-esm/src → dist/esm}/types.js +0 -0
  364. /package/{dist-esm/src → dist/esm}/utils/breezeUtils.js +0 -0
  365. /package/{dist-esm/src → dist/esm}/utils/breezeUtils.js.map +0 -0
  366. /package/{dist-esm/src → dist/esm}/utils/constants/span/azAttributes.js +0 -0
  367. /package/{dist-esm/src → dist/esm}/utils/constants/span/azAttributes.js.map +0 -0
@@ -10,6 +10,10 @@ export var ServiceApiVersion;
10
10
  */
11
11
  ServiceApiVersion["V2"] = "2020-09-15_Preview";
12
12
  })(ServiceApiVersion || (ServiceApiVersion = {}));
13
+ /**
14
+ * Operation Name attribute name.
15
+ */
16
+ export const AI_OPERATION_NAME = "ai.operation.name";
13
17
  /**
14
18
  * Default Breeze endpoint.
15
19
  * @internal
@@ -55,6 +59,15 @@ export const LEGACY_ENV_DISABLE_STATSBEAT = "APPLICATION_INSIGHTS_NO_STATSBEAT";
55
59
  * @internal
56
60
  */
57
61
  export const ENV_OPENTELEMETRY_RESOURCE_METRIC_DISABLED = "APPLICATIONINSIGHTS_OPENTELEMETRY_RESOURCE_METRIC_DISABLED";
62
+ /**
63
+ * REST error types for failed requests that can be retried.
64
+ * @internal
65
+ */
66
+ export var RetriableRestErrorTypes;
67
+ (function (RetriableRestErrorTypes) {
68
+ RetriableRestErrorTypes["REQUEST_SEND_ERROR"] = "REQUEST_SEND_ERROR";
69
+ RetriableRestErrorTypes["DNS_LOOKUP_TIMEOUT"] = "EAI_AGAIN";
70
+ })(RetriableRestErrorTypes || (RetriableRestErrorTypes = {}));
58
71
  /**
59
72
  * QuickPulse metric counter names.
60
73
  * @internal
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/Declarations/Constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;GAEG;AACH,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B;;OAEG;IACH,8CAAyB,CAAA;AAC3B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,sCAAsC,CAAC;AAC9E;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,EAAE,CAAC;AAC/D;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,sCAAsC,CAAC;AACnF;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;AACvE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,uCAAuC,CAAC;AAC7E;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AACxE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,wCAAwC,CAAC;AAC9E;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,mCAAmC,CAAC;AAChF;;;GAGG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,4DAA4D,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,oEAAyC,CAAA;IACzC,2DAAgC,CAAA;AAClC,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAmBX;AAnBD,WAAY,iBAAiB;IAC3B,SAAS;IACT,kEAA6C,CAAA;IAE7C,MAAM;IACN,6EAAwD,CAAA;IAExD,UAAU;IACV,yEAAoD,CAAA;IACpD,wFAAmE,CAAA;IACnE,iFAA4D,CAAA;IAE5D,aAAa;IACb,oFAA+D,CAAA;IAC/D,mGAA8E,CAAA;IAC9E,4FAAuE,CAAA;IAEvE,YAAY;IACZ,6EAAwD,CAAA;AAC1D,CAAC,EAnBW,iBAAiB,KAAjB,iBAAiB,QAmB5B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAYX;AAZD,WAAY,kBAAkB;IAC5B,SAAS;IACT,oFAA8D,CAAA;IAC9D,mEAA6C,CAAA;IAE7C,MAAM;IACN,8EAAwD,CAAA;IACxD,sFAAgE,CAAA;IAEhE,WAAW;IACX,+FAAyE,CAAA;IACzE,6GAAuF,CAAA;AACzF,CAAC,EAZW,kBAAkB,KAAlB,kBAAkB,QAY7B;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAyC;IAClF,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,iBAAiB,CAAC,cAAc;IACrE,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,YAAY;IACjE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,gBAAgB;IAEzE,kCAAkC;IAClC,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,eAAe;IACtE,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB;IAChF,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,eAAe;IACtE,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,iBAAiB,CAAC,uBAAuB;IACtF,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,mBAAmB;IAC9E,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,iBAAiB,CAAC,cAAc;CACrE,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Azure service API version.\n */\nexport enum ServiceApiVersion {\n /**\n * V2 Version\n */\n V2 = \"2020-09-15_Preview\",\n}\n\n/**\n * Operation Name attribute name.\n */\nexport const AI_OPERATION_NAME = \"ai.operation.name\";\n\n/**\n * Default Breeze endpoint.\n * @internal\n */\nexport const DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\n/**\n * Default Breeze API version.\n * @internal\n */\nexport const DEFAULT_BREEZE_API_VERSION = ServiceApiVersion.V2;\n/**\n * Default Live Metrics endpoint.\n * @internal\n */\nexport const DEFAULT_LIVEMETRICS_ENDPOINT = \"https://rt.services.visualstudio.com\";\n/**\n * Default Live Metrics host.\n * @internal\n */\nexport const DEFAULT_LIVEMETRICS_HOST = \"rt.services.visualstudio.com\";\n/**\n * Connection string environment variable name.\n * @internal\n */\nexport const ENV_CONNECTION_STRING = \"APPLICATIONINSIGHTS_CONNECTION_STRING\";\n/**\n * Instrumentation key environment variable name.\n * @internal\n */\nexport const ENV_INSTRUMENTATION_KEY = \"APPINSIGHTS_INSTRUMENTATIONKEY\";\n/**\n * Disable Statsbeat environment variable name.\n * @internal\n */\nexport const ENV_DISABLE_STATSBEAT = \"APPLICATIONINSIGHTS_STATSBEAT_DISABLED\";\n/**\n * Legacy disable Statsbeat environment variable name.\n * @internal\n */\nexport const LEGACY_ENV_DISABLE_STATSBEAT = \"APPLICATION_INSIGHTS_NO_STATSBEAT\";\n/**\n * Disable OpenTelemetry Resource Metric.\n * @internal\n */\nexport const ENV_OPENTELEMETRY_RESOURCE_METRIC_DISABLED =\n \"APPLICATIONINSIGHTS_OPENTELEMETRY_RESOURCE_METRIC_DISABLED\";\n\n/**\n * REST error types for failed requests that can be retried.\n * @internal\n */\nexport enum RetriableRestErrorTypes {\n REQUEST_SEND_ERROR = \"REQUEST_SEND_ERROR\",\n DNS_LOOKUP_TIMEOUT = \"EAI_AGAIN\",\n}\n\n/**\n * QuickPulse metric counter names.\n * @internal\n */\nexport enum QuickPulseCounter {\n // Memory\n COMMITTED_BYTES = \"\\\\Memory\\\\Committed Bytes\",\n\n // CPU\n PROCESSOR_TIME = \"\\\\Processor(_Total)\\\\% Processor Time\",\n\n // Request\n REQUEST_RATE = \"\\\\ApplicationInsights\\\\Requests/Sec\",\n REQUEST_FAILURE_RATE = \"\\\\ApplicationInsights\\\\Requests Failed/Sec\",\n REQUEST_DURATION = \"\\\\ApplicationInsights\\\\Request Duration\",\n\n // Dependency\n DEPENDENCY_RATE = \"\\\\ApplicationInsights\\\\Dependency Calls/Sec\",\n DEPENDENCY_FAILURE_RATE = \"\\\\ApplicationInsights\\\\Dependency Calls Failed/Sec\",\n DEPENDENCY_DURATION = \"\\\\ApplicationInsights\\\\Dependency Call Duration\",\n\n // Exception\n EXCEPTION_RATE = \"\\\\ApplicationInsights\\\\Exceptions/Sec\",\n}\n\n/**\n * Performance metric counter names.\n * @internal\n */\nexport enum PerformanceCounter {\n // Memory\n PRIVATE_BYTES = \"\\\\Process(??APP_WIN32_PROC??)\\\\Private Bytes\",\n AVAILABLE_BYTES = \"\\\\Memory\\\\Available Bytes\",\n\n // CPU\n PROCESSOR_TIME = \"\\\\Processor(_Total)\\\\% Processor Time\",\n PROCESS_TIME = \"\\\\Process(??APP_WIN32_PROC??)\\\\% Processor Time\",\n\n // Requests\n REQUEST_RATE = \"\\\\ASP.NET Applications(??APP_W3SVC_PROC??)\\\\Requests/Sec\",\n REQUEST_DURATION = \"\\\\ASP.NET Applications(??APP_W3SVC_PROC??)\\\\Request Execution Time\",\n}\n\n/**\n * Map a PerformanceCounter/QuickPulseCounter to a QuickPulseCounter. If no mapping exists, mapping is *undefined*\n * @internal\n */\nexport const PerformanceToQuickPulseCounter: { [key: string]: QuickPulseCounter } = {\n [PerformanceCounter.PROCESSOR_TIME]: QuickPulseCounter.PROCESSOR_TIME,\n [PerformanceCounter.REQUEST_RATE]: QuickPulseCounter.REQUEST_RATE,\n [PerformanceCounter.REQUEST_DURATION]: QuickPulseCounter.REQUEST_DURATION,\n\n // Remap quick pulse only counters\n [QuickPulseCounter.COMMITTED_BYTES]: QuickPulseCounter.COMMITTED_BYTES,\n [QuickPulseCounter.REQUEST_FAILURE_RATE]: QuickPulseCounter.REQUEST_FAILURE_RATE,\n [QuickPulseCounter.DEPENDENCY_RATE]: QuickPulseCounter.DEPENDENCY_RATE,\n [QuickPulseCounter.DEPENDENCY_FAILURE_RATE]: QuickPulseCounter.DEPENDENCY_FAILURE_RATE,\n [QuickPulseCounter.DEPENDENCY_DURATION]: QuickPulseCounter.DEPENDENCY_DURATION,\n [QuickPulseCounter.EXCEPTION_RATE]: QuickPulseCounter.EXCEPTION_RATE,\n};\n\n/**\n * QuickPulse document types.\n * @internal\n */\nexport type QuickPulseDocumentType =\n | \"Event\"\n | \"Exception\"\n | \"Trace\"\n | \"Metric\"\n | \"Request\"\n | \"RemoteDependency\"\n | \"Availability\";\n/**\n * QuickPulse telemetry types.\n * @internal\n */\nexport type QuickPulseType =\n | \"EventTelemetryDocument\"\n | \"ExceptionTelemetryDocument\"\n | \"TraceTelemetryDocument\"\n | \"MetricTelemetryDocument\"\n | \"RequestTelemetryDocument\"\n | \"DependencyTelemetryDocument\"\n | \"AvailabilityTelemetryDocument\";\n"]}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Subset of Connection String fields which this SDK can parse. Lower-typecased to
3
+ * allow for case-insensitivity across field names.
4
+ * @internal
5
+ */
6
+ export type ConnectionString = {
7
+ [key in ConnectionStringKey]?: string;
8
+ };
9
+ /**
10
+ * ConnectionString keys.
11
+ * @internal
12
+ */
13
+ export type ConnectionStringKey = "authorization" | "aadaudience" | "instrumentationkey" | "ingestionendpoint" | "liveendpoint" | "location" | "endpointsuffix";
14
+ //# sourceMappingURL=Constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../../src/Declarations/Contracts/Constants.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;KAAG,GAAG,IAAI,mBAAmB,CAAC,CAAC,EAAE,MAAM;CAAE,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,mBAAmB,GACnB,cAAc,GACd,UAAU,GACV,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./Constants.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Declarations/Contracts/index.ts"],"names":[],"mappings":"AAGA,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- export * from "./context";
3
+ export * from "./Constants.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Declarations/Contracts/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,gBAAgB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport * from \"./Constants.js\";\n"]}
@@ -0,0 +1,30 @@
1
+ import type { TokenCredential } from "@azure/core-auth";
2
+ import type { ServiceApiVersion } from "./Declarations/Constants.js";
3
+ import type { ApplicationInsightsClientOptionalParams } from "./generated/index.js";
4
+ /**
5
+ * Provides configuration options for AzureMonitorTraceExporter.
6
+ */
7
+ export interface AzureMonitorExporterOptions extends ApplicationInsightsClientOptionalParams {
8
+ /**
9
+ * Azure Monitor Connection String, if not provided the exporter will try to use environment variable APPLICATIONINSIGHTS_CONNECTION_STRING
10
+ * Ex: "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://dc.services.visualstudio.com"
11
+ */
12
+ connectionString?: string;
13
+ /**
14
+ * Azure service API version.
15
+ */
16
+ apiVersion?: ServiceApiVersion;
17
+ /**
18
+ * Token Credential
19
+ */
20
+ credential?: TokenCredential;
21
+ /**
22
+ * Directory to store retriable telemetry when it fails to export.
23
+ */
24
+ storageDirectory?: string;
25
+ /**
26
+ * Disable offline storage when telemetry cannot be exported.
27
+ */
28
+ disableOfflineStorage?: boolean;
29
+ }
30
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,sBAAsB,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,uCAAuC;IAC1F;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type { ServiceApiVersion } from \"./Declarations/Constants.js\";\nimport type { ApplicationInsightsClientOptionalParams } from \"./generated/index.js\";\n\n/**\n * Provides configuration options for AzureMonitorTraceExporter.\n */\nexport interface AzureMonitorExporterOptions extends ApplicationInsightsClientOptionalParams {\n /**\n * Azure Monitor Connection String, if not provided the exporter will try to use environment variable APPLICATIONINSIGHTS_CONNECTION_STRING\n * Ex: \"InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://dc.services.visualstudio.com\"\n */\n connectionString?: string;\n /**\n * Azure service API version.\n */\n apiVersion?: ServiceApiVersion;\n /**\n * Token Credential\n */\n credential?: TokenCredential;\n /**\n * Directory to store retriable telemetry when it fails to export.\n */\n storageDirectory?: string;\n /**\n * Disable offline storage when telemetry cannot be exported.\n */\n disableOfflineStorage?: boolean;\n}\n"]}
@@ -0,0 +1,36 @@
1
+ import type { AzureMonitorExporterOptions } from "../config.js";
2
+ /**
3
+ * Azure Monitor OpenTelemetry Trace Exporter.
4
+ */
5
+ export declare abstract class AzureMonitorBaseExporter {
6
+ /**
7
+ * Instrumentation key to be used for exported envelopes
8
+ */
9
+ protected instrumentationKey: string;
10
+ /**
11
+ * Ingestion Endpoint URL
12
+ */
13
+ protected endpointUrl: string;
14
+ /**
15
+ *Flag to determine if exporter will generate Statsbeat data
16
+ */
17
+ protected trackStatsbeat: boolean;
18
+ /**
19
+ * Instrumentation key to be used for exported envelopes
20
+ */
21
+ protected aadAudience: string | undefined;
22
+ /**
23
+ * Flag to determine if the Exporter is a Statsbeat Exporter
24
+ */
25
+ private isStatsbeatExporter;
26
+ /**
27
+ * Exporter internal configuration
28
+ */
29
+ private readonly options;
30
+ /**
31
+ * Initializes a new instance of the AzureMonitorBaseExporter class.
32
+ * @param AzureMonitorExporterOptions - Exporter configuration.
33
+ */
34
+ constructor(options?: AzureMonitorExporterOptions, isStatsbeatExporter?: boolean);
35
+ }
36
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/export/base.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAOhE;;GAEG;AACH,8BAAsB,wBAAwB;IAC5C;;OAEG;IACH,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAM;IAC1C;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,CAAM;IACnC;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,OAAO,CAAS;IAC1C;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAU;IAErC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IAEtD;;;OAGG;gBACS,OAAO,GAAE,2BAAgC,EAAE,mBAAmB,CAAC,EAAE,OAAO;CA+BrF"}
@@ -1,8 +1,8 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  import { diag } from "@opentelemetry/api";
4
- import { ConnectionStringParser } from "../utils/connectionStringParser";
5
- import { DEFAULT_BREEZE_ENDPOINT, ENV_CONNECTION_STRING, LEGACY_ENV_DISABLE_STATSBEAT, } from "../Declarations/Constants";
4
+ import { ConnectionStringParser } from "../utils/connectionStringParser.js";
5
+ import { DEFAULT_BREEZE_ENDPOINT, ENV_CONNECTION_STRING, LEGACY_ENV_DISABLE_STATSBEAT, } from "../Declarations/Constants.js";
6
6
  /**
7
7
  * Azure Monitor OpenTelemetry Trace Exporter.
8
8
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/export/base.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,OAAgB,wBAAwB;IA4B5C;;;OAGG;IACH,YAAY,UAAuC,EAAE,EAAE,mBAA6B;;QA/BpF;;WAEG;QACO,uBAAkB,GAAW,EAAE,CAAC;QAC1C;;WAEG;QACO,gBAAW,GAAW,EAAE,CAAC;QACnC;;WAEG;QACO,mBAAc,GAAY,KAAK,CAAC;QAqBxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC7F,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC;QAE7E,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9E,IAAI,CAAC,kBAAkB;gBACrB,sBAAsB,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC;YACvE,IAAI,CAAC,WAAW,GAAG,CAAA,MAAA,sBAAsB,CAAC,iBAAiB,0CAAE,IAAI,EAAE,KAAI,IAAI,CAAC,WAAW,CAAC;YACxF,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;QACxD,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,OAAO,GACX,wFAAwF,CAAC;YAC3F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAChF,MAAM,OAAO,GAAG,wEAAwE,CAAC;YACzF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAE9F,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC5D,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { diag } from \"@opentelemetry/api\";\nimport { ConnectionStringParser } from \"../utils/connectionStringParser.js\";\nimport type { AzureMonitorExporterOptions } from \"../config.js\";\nimport {\n DEFAULT_BREEZE_ENDPOINT,\n ENV_CONNECTION_STRING,\n LEGACY_ENV_DISABLE_STATSBEAT,\n} from \"../Declarations/Constants.js\";\n\n/**\n * Azure Monitor OpenTelemetry Trace Exporter.\n */\nexport abstract class AzureMonitorBaseExporter {\n /**\n * Instrumentation key to be used for exported envelopes\n */\n protected instrumentationKey: string = \"\";\n /**\n * Ingestion Endpoint URL\n */\n protected endpointUrl: string = \"\";\n /**\n *Flag to determine if exporter will generate Statsbeat data\n */\n protected trackStatsbeat: boolean = false;\n /**\n * Instrumentation key to be used for exported envelopes\n */\n protected aadAudience: string | undefined;\n\n /**\n * Flag to determine if the Exporter is a Statsbeat Exporter\n */\n private isStatsbeatExporter: boolean;\n\n /**\n * Exporter internal configuration\n */\n private readonly options: AzureMonitorExporterOptions;\n\n /**\n * Initializes a new instance of the AzureMonitorBaseExporter class.\n * @param AzureMonitorExporterOptions - Exporter configuration.\n */\n constructor(options: AzureMonitorExporterOptions = {}, isStatsbeatExporter?: boolean) {\n this.options = options;\n this.instrumentationKey = \"\";\n this.endpointUrl = DEFAULT_BREEZE_ENDPOINT;\n const connectionString = this.options.connectionString || process.env[ENV_CONNECTION_STRING];\n this.isStatsbeatExporter = isStatsbeatExporter ? isStatsbeatExporter : false;\n\n if (connectionString) {\n const parsedConnectionString = ConnectionStringParser.parse(connectionString);\n this.instrumentationKey =\n parsedConnectionString.instrumentationkey || this.instrumentationKey;\n this.endpointUrl = parsedConnectionString.ingestionendpoint?.trim() || this.endpointUrl;\n this.aadAudience = parsedConnectionString.aadaudience;\n }\n\n // Instrumentation key is required\n if (!this.instrumentationKey) {\n const message =\n \"No instrumentation key or connection string was provided to the Azure Monitor Exporter\";\n diag.error(message);\n throw new Error(message);\n }\n if (!ConnectionStringParser.validateInstrumentationKey(this.instrumentationKey)) {\n const message = \"Invalid instrumentation key was provided to the Azure Monitor Exporter\";\n diag.error(message);\n throw new Error(message);\n }\n this.trackStatsbeat = !this.isStatsbeatExporter && !process.env[LEGACY_ENV_DISABLE_STATSBEAT];\n\n diag.debug(\"AzureMonitorExporter was successfully setup\");\n }\n}\n"]}
@@ -0,0 +1,30 @@
1
+ import type { ExportResult } from "@opentelemetry/core";
2
+ import { AzureMonitorBaseExporter } from "./base.js";
3
+ import type { AzureMonitorExporterOptions } from "../config.js";
4
+ import type { ReadableLogRecord, LogRecordExporter } from "@opentelemetry/sdk-logs";
5
+ /**
6
+ * Azure Monitor OpenTelemetry Log Exporter.
7
+ */
8
+ export declare class AzureMonitorLogExporter extends AzureMonitorBaseExporter implements LogRecordExporter {
9
+ /**
10
+ * Flag to determine if Exporter is shutdown.
11
+ */
12
+ private _isShutdown;
13
+ private readonly _sender;
14
+ /**
15
+ * Initializes a new instance of the AzureMonitorLogExporter class.
16
+ * @param AzureExporterConfig - Exporter configuration.
17
+ */
18
+ constructor(options?: AzureMonitorExporterOptions);
19
+ /**
20
+ * Export OpenTelemetry logs.
21
+ * @param logs - Logs to export.
22
+ * @param resultCallback - Result callback.
23
+ */
24
+ export(logs: ReadableLogRecord[], resultCallback: (result: ExportResult) => void): Promise<void>;
25
+ /**
26
+ * Shutdown AzureMonitorLogExporter.
27
+ */
28
+ shutdown(): Promise<void>;
29
+ }
30
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/export/log.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGpF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,wBAAyB,YAAW,iBAAiB;IAChG;;OAEG;IACH,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IAErC;;;OAGG;gBAES,OAAO,GAAE,2BAAgC;IAYrD;;;;OAIG;IACU,MAAM,CACjB,IAAI,EAAE,iBAAiB,EAAE,EACzB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC"}
@@ -2,9 +2,9 @@
2
2
  // Licensed under the MIT License.
3
3
  import { context, diag } from "@opentelemetry/api";
4
4
  import { ExportResultCode, suppressTracing } from "@opentelemetry/core";
5
- import { AzureMonitorBaseExporter } from "./base";
6
- import { logToEnvelope } from "../utils/logUtils";
7
- import { HttpSender } from "../platform";
5
+ import { AzureMonitorBaseExporter } from "./base.js";
6
+ import { logToEnvelope } from "../utils/logUtils.js";
7
+ import { HttpSender } from "../platform/index.js";
8
8
  /**
9
9
  * Azure Monitor OpenTelemetry Log Exporter.
10
10
  */
@@ -33,7 +33,6 @@ export class AzureMonitorLogExporter extends AzureMonitorBaseExporter {
33
33
  * @param logs - Logs to export.
34
34
  * @param resultCallback - Result callback.
35
35
  */
36
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
37
36
  async export(logs, resultCallback) {
38
37
  if (this._isShutdown) {
39
38
  diag.info("Exporter shut down. Failed to export spans.");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/export/log.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,wBAAwB;IAOnE;;;OAGG;IAEH,YAAY,UAAuC,EAAE;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QAZjB;;WAEG;QACK,gBAAW,GAAG,KAAK,CAAC;QAU1B,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,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CACjB,IAAyB,EACzB,cAA8C;QAE9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,sCAAsC,CAAC,CAAC;QAE1E,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,0DAA0D;QAC1D,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;YAC/D,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,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { context, diag } from \"@opentelemetry/api\";\nimport type { ExportResult } from \"@opentelemetry/core\";\nimport { ExportResultCode, suppressTracing } from \"@opentelemetry/core\";\nimport { AzureMonitorBaseExporter } from \"./base.js\";\nimport type { TelemetryItem as Envelope } from \"../generated/index.js\";\nimport { logToEnvelope } from \"../utils/logUtils.js\";\nimport type { AzureMonitorExporterOptions } from \"../config.js\";\nimport type { ReadableLogRecord, LogRecordExporter } from \"@opentelemetry/sdk-logs\";\nimport { HttpSender } from \"../platform/index.js\";\n\n/**\n * Azure Monitor OpenTelemetry Log Exporter.\n */\nexport class AzureMonitorLogExporter extends AzureMonitorBaseExporter implements LogRecordExporter {\n /**\n * Flag to determine if Exporter is shutdown.\n */\n private _isShutdown = false;\n private readonly _sender: HttpSender;\n\n /**\n * Initializes a new instance of the AzureMonitorLogExporter class.\n * @param AzureExporterConfig - Exporter configuration.\n */\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(\"AzureMonitorLogExporter was successfully setup\");\n }\n\n /**\n * Export OpenTelemetry logs.\n * @param logs - Logs to export.\n * @param resultCallback - Result callback.\n */\n public async export(\n logs: ReadableLogRecord[],\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 diag.info(`Exporting ${logs.length} logs(s). Converting to envelopes...`);\n\n const envelopes: Envelope[] = [];\n logs.forEach((log) => {\n const envelope = logToEnvelope(log, this.instrumentationKey);\n if (envelope) {\n envelopes.push(envelope);\n }\n });\n // Supress tracing until OpenTelemetry Logs SDK support it\n await context.with(suppressTracing(context.active()), async () => {\n resultCallback(await this._sender.exportEnvelopes(envelopes));\n });\n }\n\n /**\n * Shutdown AzureMonitorLogExporter.\n */\n public async shutdown(): Promise<void> {\n this._isShutdown = true;\n diag.info(\"AzureMonitorLogExporter shutting down\");\n return this._sender.shutdown();\n }\n}\n"]}
@@ -0,0 +1,39 @@
1
+ import type { PushMetricExporter, ResourceMetrics } from "@opentelemetry/sdk-metrics";
2
+ import { AggregationTemporality, InstrumentType } from "@opentelemetry/sdk-metrics";
3
+ import type { ExportResult } from "@opentelemetry/core";
4
+ import { AzureMonitorBaseExporter } from "./base.js";
5
+ import type { AzureMonitorExporterOptions } from "../config.js";
6
+ /**
7
+ * Azure Monitor OpenTelemetry Metric Exporter.
8
+ */
9
+ export declare class AzureMonitorMetricExporter extends AzureMonitorBaseExporter implements PushMetricExporter {
10
+ /**
11
+ * Flag to determine if Exporter is shutdown.
12
+ */
13
+ private _isShutdown;
14
+ private _sender;
15
+ /**
16
+ * Initializes a new instance of the AzureMonitorMetricExporter class.
17
+ * @param AzureExporterConfig - Exporter configuration.
18
+ */
19
+ constructor(options?: AzureMonitorExporterOptions);
20
+ /**
21
+ * Export OpenTelemetry resource metrics.
22
+ * @param metrics - Resource metrics to export.
23
+ * @param resultCallback - Result callback.
24
+ */
25
+ export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): Promise<void>;
26
+ /**
27
+ * Shutdown AzureMonitorMetricExporter.
28
+ */
29
+ shutdown(): Promise<void>;
30
+ /**
31
+ * Select aggregation temporality
32
+ */
33
+ selectAggregationTemporality(instrumentType: InstrumentType): AggregationTemporality;
34
+ /**
35
+ * Force flush
36
+ */
37
+ forceFlush(): Promise<void>;
38
+ }
39
+ //# sourceMappingURL=metric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../../src/export/metric.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGhE;;GAEG;AACH,qBAAa,0BACX,SAAQ,wBACR,YAAW,kBAAkB;IAE7B;;OAEG;IACH,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAa;IAE5B;;;OAGG;gBAES,OAAO,GAAE,2BAAgC;IAYrD;;;;OAIG;IACG,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAehB;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;OAEG;IACI,4BAA4B,CAAC,cAAc,EAAE,cAAc,GAAG,sBAAsB;IAU3F;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}
@@ -1,11 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  import { context, diag } from "@opentelemetry/api";
4
- import { AggregationTemporality, InstrumentType, } from "@opentelemetry/sdk-metrics";
4
+ import { AggregationTemporality, InstrumentType } from "@opentelemetry/sdk-metrics";
5
5
  import { ExportResultCode, suppressTracing } from "@opentelemetry/core";
6
- import { AzureMonitorBaseExporter } from "./base";
7
- import { resourceMetricsToEnvelope } from "../utils/metricUtils";
8
- import { HttpSender } from "../platform";
6
+ import { AzureMonitorBaseExporter } from "./base.js";
7
+ import { resourceMetricsToEnvelope } from "../utils/metricUtils.js";
8
+ import { HttpSender } from "../platform/index.js";
9
9
  /**
10
10
  * Azure Monitor OpenTelemetry Metric Exporter.
11
11
  */
@@ -34,7 +34,6 @@ export class AzureMonitorMetricExporter extends AzureMonitorBaseExporter {
34
34
  * @param metrics - Resource metrics to export.
35
35
  * @param resultCallback - Result callback.
36
36
  */
37
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
38
37
  async export(metrics, resultCallback) {
39
38
  if (this._isShutdown) {
40
39
  diag.info("Exporter shut down. Failed to export spans.");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric.js","sourceRoot":"","sources":["../../../src/export/metric.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,0BACX,SAAQ,wBAAwB;IAShC;;;OAGG;IAEH,YAAY,UAAuC,EAAE;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QAZjB;;WAEG;QACK,gBAAW,GAAG,KAAK,CAAC;QAU1B,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,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,OAAwB,EACxB,cAA8C;QAE9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,YAAY,CAAC,MAAM,yCAAyC,CAAC,CAAC;QAE7F,MAAM,SAAS,GAAe,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1F,6DAA6D;QAC7D,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;YAC/D,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,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,4BAA4B,CAAC,cAA8B;QAChE,IACE,cAAc,KAAK,cAAc,CAAC,eAAe;YACjD,cAAc,KAAK,cAAc,CAAC,0BAA0B,EAC5D,CAAC;YACD,OAAO,sBAAsB,CAAC,UAAU,CAAC;QAC3C,CAAC;QACD,OAAO,sBAAsB,CAAC,KAAK,CAAC;IACtC,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, diag } from \"@opentelemetry/api\";\nimport type { PushMetricExporter, ResourceMetrics } from \"@opentelemetry/sdk-metrics\";\nimport { AggregationTemporality, InstrumentType } from \"@opentelemetry/sdk-metrics\";\nimport type { ExportResult } from \"@opentelemetry/core\";\nimport { ExportResultCode, suppressTracing } from \"@opentelemetry/core\";\nimport { AzureMonitorBaseExporter } from \"./base.js\";\nimport type { TelemetryItem as Envelope } from \"../generated/index.js\";\nimport { resourceMetricsToEnvelope } from \"../utils/metricUtils.js\";\nimport type { AzureMonitorExporterOptions } from \"../config.js\";\nimport { HttpSender } from \"../platform/index.js\";\n\n/**\n * Azure Monitor OpenTelemetry Metric Exporter.\n */\nexport class AzureMonitorMetricExporter\n extends AzureMonitorBaseExporter\n implements PushMetricExporter\n{\n /**\n * Flag to determine if Exporter is shutdown.\n */\n private _isShutdown = false;\n private _sender: HttpSender;\n\n /**\n * Initializes a new instance of the AzureMonitorMetricExporter class.\n * @param AzureExporterConfig - Exporter configuration.\n */\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(\"AzureMonitorMetricExporter was successfully setup\");\n }\n\n /**\n * Export OpenTelemetry resource metrics.\n * @param metrics - Resource metrics to export.\n * @param resultCallback - Result callback.\n */\n async export(\n metrics: ResourceMetrics,\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 diag.info(`Exporting ${metrics.scopeMetrics.length} metrics(s). Converting to envelopes...`);\n\n const envelopes: Envelope[] = resourceMetricsToEnvelope(metrics, this.instrumentationKey);\n // Supress tracing until OpenTelemetry Metrics SDK support it\n await context.with(suppressTracing(context.active()), async () => {\n resultCallback(await this._sender.exportEnvelopes(envelopes));\n });\n }\n\n /**\n * Shutdown AzureMonitorMetricExporter.\n */\n public async shutdown(): Promise<void> {\n this._isShutdown = true;\n diag.info(\"AzureMonitorMetricExporter shutting down\");\n return this._sender.shutdown();\n }\n\n /**\n * Select aggregation temporality\n */\n public selectAggregationTemporality(instrumentType: InstrumentType): AggregationTemporality {\n if (\n instrumentType === InstrumentType.UP_DOWN_COUNTER ||\n instrumentType === InstrumentType.OBSERVABLE_UP_DOWN_COUNTER\n ) {\n return AggregationTemporality.CUMULATIVE;\n }\n return AggregationTemporality.DELTA;\n }\n\n /**\n * Force flush\n */\n public async forceFlush(): Promise<void> {\n return Promise.resolve();\n }\n}\n"]}
@@ -0,0 +1,39 @@
1
+ import { StatsbeatMetrics } from "./statsbeatMetrics.js";
2
+ import type { StatsbeatOptions } from "./types.js";
3
+ /**
4
+ * Long Interval Statsbeat Metrics
5
+ * @internal
6
+ */
7
+ declare class LongIntervalStatsbeatMetrics extends StatsbeatMetrics {
8
+ private statsCollectionLongInterval;
9
+ private cikey;
10
+ private runtimeVersion;
11
+ private language;
12
+ private version;
13
+ private attach;
14
+ private commonProperties;
15
+ private attachProperties;
16
+ private feature;
17
+ private instrumentation;
18
+ private longIntervalStatsbeatMeterProvider;
19
+ private longIntervalAzureExporter;
20
+ private longIntervalMetricReader;
21
+ private longIntervalStatsbeatMeter;
22
+ private connectionString;
23
+ private featureStatsbeatGauge;
24
+ private attachStatsbeatGauge;
25
+ isInitialized: boolean;
26
+ constructor(options: StatsbeatOptions);
27
+ private initialize;
28
+ private getEnvironmentStatus;
29
+ private setFeatures;
30
+ private attachCallback;
31
+ shutdown(): Promise<void>;
32
+ }
33
+ /**
34
+ * Singleton LongIntervalStatsbeatMetrics instance.
35
+ * @internal
36
+ */
37
+ export declare function getInstance(options: StatsbeatOptions): LongIntervalStatsbeatMetrics;
38
+ export {};
39
+ //# sourceMappingURL=longIntervalStatsbeatMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longIntervalStatsbeatMetrics.d.ts","sourceRoot":"","sources":["../../../../src/export/statsbeat/longIntervalStatsbeatMetrics.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAMpB;;;GAGG;AACH,cAAM,4BAA6B,SAAQ,gBAAgB;IACzD,OAAO,CAAC,2BAA2B,CAAoB;IAEvD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAoB;IAElC,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,eAAe,CAAa;IAEpC,OAAO,CAAC,kCAAkC,CAAgB;IAC1D,OAAO,CAAC,yBAAyB,CAAgC;IACjE,OAAO,CAAC,wBAAwB,CAAgC;IAChE,OAAO,CAAC,0BAA0B,CAAQ;IAG1C,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,oBAAoB,CAAkB;IAEvC,aAAa,EAAE,OAAO,CAAS;gBAE1B,OAAO,EAAE,gBAAgB;YA0DvB,UAAU;IA2BxB,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,cAAc;IAKf,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,4BAA4B,CAKnF"}
@@ -1,12 +1,12 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { diag, } from "@opentelemetry/api";
3
+ import { diag } from "@opentelemetry/api";
4
4
  import { ExportResultCode } from "@opentelemetry/core";
5
- import { MeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
6
- import * as ai from "../../utils/constants/applicationinsights";
7
- import { StatsbeatMetrics } from "./statsbeatMetrics";
8
- import { StatsbeatCounter, STATSBEAT_LANGUAGE, StatsbeatFeatureType, } from "./types";
9
- import { AzureMonitorStatsbeatExporter } from "./statsbeatExporter";
5
+ import { MeterProvider, PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
6
+ import * as ai from "../../utils/constants/applicationinsights.js";
7
+ import { StatsbeatMetrics } from "./statsbeatMetrics.js";
8
+ import { StatsbeatCounter, STATSBEAT_LANGUAGE, StatsbeatFeatureType } from "./types.js";
9
+ import { AzureMonitorStatsbeatExporter } from "./statsbeatExporter.js";
10
10
  let instance = null;
11
11
  /**
12
12
  * Long Interval Statsbeat Metrics
@@ -43,6 +43,8 @@ class LongIntervalStatsbeatMetrics extends StatsbeatMetrics {
43
43
  this.cikey = options.instrumentationKey;
44
44
  this.featureStatsbeatGauge = this.longIntervalStatsbeatMeter.createObservableGauge(StatsbeatCounter.FEATURE);
45
45
  this.attachStatsbeatGauge = this.longIntervalStatsbeatMeter.createObservableGauge(StatsbeatCounter.ATTACH);
46
+ this.isInitialized = true;
47
+ this.initialize();
46
48
  this.commonProperties = {
47
49
  os: this.os,
48
50
  rp: this.resourceProvider,
@@ -55,8 +57,6 @@ class LongIntervalStatsbeatMetrics extends StatsbeatMetrics {
55
57
  this.attachProperties = {
56
58
  rpId: this.resourceIdentifier,
57
59
  };
58
- this.isInitialized = true;
59
- this.initialize();
60
60
  }
61
61
  async initialize() {
62
62
  try {
@@ -64,12 +64,14 @@ class LongIntervalStatsbeatMetrics extends StatsbeatMetrics {
64
64
  // Add long interval observable callbacks
65
65
  this.attachStatsbeatGauge.addCallback(this.attachCallback.bind(this));
66
66
  this.longIntervalStatsbeatMeter.addBatchObservableCallback(this.getEnvironmentStatus.bind(this), [this.featureStatsbeatGauge]);
67
- // Export Feature/Attach Statsbeat once upon app initialization
68
- this.longIntervalAzureExporter.export((await this.longIntervalMetricReader.collect()).resourceMetrics, (result) => {
69
- if (result.code !== ExportResultCode.SUCCESS) {
70
- diag.error(`LongIntervalStatsbeat: metrics export failed (error ${result.error})`);
71
- }
72
- });
67
+ // Export Feature/Attach Statsbeat once upon app initialization after 15 second delay
68
+ setTimeout(async () => {
69
+ this.longIntervalAzureExporter.export((await this.longIntervalMetricReader.collect()).resourceMetrics, (result) => {
70
+ if (result.code !== ExportResultCode.SUCCESS) {
71
+ diag.error(`LongIntervalStatsbeat: metrics export failed (error ${result.error})`);
72
+ }
73
+ });
74
+ }, 15000); // 15 seconds
73
75
  }
74
76
  catch (error) {
75
77
  diag.debug("Call to get the resource provider failed.");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longIntervalStatsbeatMetrics.js","sourceRoot":"","sources":["../../../../src/export/statsbeat/longIntervalStatsbeatMetrics.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n BatchObservableResult,\n ObservableGauge,\n ObservableResult,\n Meter,\n} from \"@opentelemetry/api\";\nimport { diag } from \"@opentelemetry/api\";\nimport type { ExportResult } from \"@opentelemetry/core\";\nimport { ExportResultCode } from \"@opentelemetry/core\";\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 AttachStatsbeatProperties,\n StatsbeatOptions,\n} from \"./types.js\";\nimport { StatsbeatCounter, STATSBEAT_LANGUAGE, StatsbeatFeatureType } from \"./types.js\";\nimport { AzureMonitorStatsbeatExporter } from \"./statsbeatExporter.js\";\n\nlet instance: LongIntervalStatsbeatMetrics | null = null;\n\n/**\n * Long Interval Statsbeat Metrics\n * @internal\n */\nclass LongIntervalStatsbeatMetrics extends StatsbeatMetrics {\n private statsCollectionLongInterval: number = 86400000; // 1 day\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 private commonProperties: CommonStatsbeatProperties;\n private attachProperties: AttachStatsbeatProperties;\n\n private feature: number = 0;\n private instrumentation: number = 0;\n\n private longIntervalStatsbeatMeterProvider: MeterProvider;\n private longIntervalAzureExporter: AzureMonitorStatsbeatExporter;\n private longIntervalMetricReader: PeriodicExportingMetricReader;\n private longIntervalStatsbeatMeter: Meter;\n\n // Network Attributes\n private connectionString: string;\n\n // Observable Gauges\n private featureStatsbeatGauge: ObservableGauge;\n private attachStatsbeatGauge: ObservableGauge;\n\n public isInitialized: boolean = false;\n\n constructor(options: StatsbeatOptions) {\n super();\n this.connectionString = super.getConnectionString(options.endpointUrl);\n const exporterConfig: AzureMonitorExporterOptions = {\n connectionString: this.connectionString,\n disableOfflineStorage: options.disableOfflineStorage,\n };\n\n this.setFeatures();\n\n this.longIntervalStatsbeatMeterProvider = new MeterProvider();\n this.longIntervalAzureExporter = new AzureMonitorStatsbeatExporter(exporterConfig);\n\n // Export Long Interval Statsbeats every day\n const longIntervalMetricReaderOptions: PeriodicExportingMetricReaderOptions = {\n exporter: this.longIntervalAzureExporter,\n exportIntervalMillis:\n Number(process.env.LONG_INTERVAL_EXPORT_MILLIS) || this.statsCollectionLongInterval, // 1 day\n };\n\n this.longIntervalMetricReader = new PeriodicExportingMetricReader(\n longIntervalMetricReaderOptions,\n );\n this.longIntervalStatsbeatMeterProvider.addMetricReader(this.longIntervalMetricReader);\n this.longIntervalStatsbeatMeter = this.longIntervalStatsbeatMeterProvider.getMeter(\n \"Azure Monitor Long Interval Statsbeat\",\n );\n\n // Assign Common Properties\n this.runtimeVersion = process.version;\n this.language = STATSBEAT_LANGUAGE;\n this.version = ai.packageVersion;\n this.cikey = options.instrumentationKey;\n\n this.featureStatsbeatGauge = this.longIntervalStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.FEATURE,\n );\n this.attachStatsbeatGauge = this.longIntervalStatsbeatMeter.createObservableGauge(\n StatsbeatCounter.ATTACH,\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.attachProperties = {\n rpId: this.resourceIdentifier,\n };\n }\n\n private async initialize(): Promise<void> {\n try {\n await this.getResourceProvider();\n\n // Add long interval observable callbacks\n this.attachStatsbeatGauge.addCallback(this.attachCallback.bind(this));\n this.longIntervalStatsbeatMeter.addBatchObservableCallback(\n this.getEnvironmentStatus.bind(this),\n [this.featureStatsbeatGauge],\n );\n\n // Export Feature/Attach Statsbeat once upon app initialization after 15 second delay\n setTimeout(async () => {\n this.longIntervalAzureExporter.export(\n (await this.longIntervalMetricReader.collect()).resourceMetrics,\n (result: ExportResult) => {\n if (result.code !== ExportResultCode.SUCCESS) {\n diag.error(`LongIntervalStatsbeat: metrics export failed (error ${result.error})`);\n }\n },\n );\n }, 15000); // 15 seconds\n } catch (error) {\n diag.debug(\"Call to get the resource provider failed.\");\n }\n }\n\n private getEnvironmentStatus(observableResult: BatchObservableResult): void {\n this.setFeatures();\n let attributes;\n if (this.instrumentation) {\n attributes = {\n ...this.commonProperties,\n feature: this.instrumentation,\n type: StatsbeatFeatureType.INSTRUMENTATION,\n };\n observableResult.observe(this.featureStatsbeatGauge, 1, { ...attributes });\n }\n\n if (this.feature) {\n attributes = {\n ...this.commonProperties,\n feature: this.feature,\n type: StatsbeatFeatureType.FEATURE,\n };\n observableResult.observe(this.featureStatsbeatGauge, 1, { ...attributes });\n }\n }\n\n private setFeatures(): void {\n const statsbeatFeatures = process.env.AZURE_MONITOR_STATSBEAT_FEATURES;\n if (statsbeatFeatures) {\n try {\n this.feature = JSON.parse(statsbeatFeatures).feature;\n this.instrumentation = JSON.parse(statsbeatFeatures).instrumentation;\n } catch (error: any) {\n diag.error(\n `LongIntervalStatsbeat: Failed to parse features/instrumentations (error ${error})`,\n );\n }\n }\n }\n\n private attachCallback(observableResult: ObservableResult): void {\n const attributes = { ...this.commonProperties, ...this.attachProperties };\n observableResult.observe(1, attributes);\n }\n\n public shutdown(): Promise<void> {\n return this.longIntervalStatsbeatMeterProvider.shutdown();\n }\n}\n\n/**\n * Singleton LongIntervalStatsbeatMetrics instance.\n * @internal\n */\nexport function getInstance(options: StatsbeatOptions): LongIntervalStatsbeatMetrics {\n if (!instance) {\n instance = new LongIntervalStatsbeatMetrics(options);\n }\n return instance;\n}\n"]}
@@ -0,0 +1,51 @@
1
+ import { StatsbeatMetrics } from "./statsbeatMetrics.js";
2
+ import type { StatsbeatOptions } from "./types.js";
3
+ export declare class NetworkStatsbeatMetrics extends StatsbeatMetrics {
4
+ private disableNonEssentialStatsbeat;
5
+ private commonProperties;
6
+ private networkProperties;
7
+ private isInitialized;
8
+ private statsCollectionShortInterval;
9
+ private networkStatsbeatCollection;
10
+ private networkStatsbeatMeter;
11
+ private networkStatsbeatMeterProvider;
12
+ private networkAzureExporter;
13
+ private networkMetricReader;
14
+ private cikey;
15
+ private runtimeVersion;
16
+ private language;
17
+ private version;
18
+ private attach;
19
+ private successCountGauge;
20
+ private failureCountGauge;
21
+ private retryCountGauge;
22
+ private throttleCountGauge;
23
+ private exceptionCountGauge;
24
+ private averageDurationGauge;
25
+ private readFailureGauge;
26
+ private writeFailureGauge;
27
+ private connectionString;
28
+ private endpointUrl;
29
+ private host;
30
+ constructor(options: StatsbeatOptions);
31
+ shutdown(): Promise<void>;
32
+ private initialize;
33
+ private successCallback;
34
+ private failureCallback;
35
+ private retryCallback;
36
+ private throttleCallback;
37
+ private exceptionCallback;
38
+ private durationCallback;
39
+ private readFailureCallback;
40
+ private writeFailureCallback;
41
+ countSuccess(duration: number): void;
42
+ countFailure(duration: number, statusCode: number): void;
43
+ countRetry(statusCode: number): void;
44
+ countThrottle(statusCode: number): void;
45
+ countReadFailure(): void;
46
+ countWriteFailure(): void;
47
+ countException(exceptionType: Error): void;
48
+ private getNetworkStatsbeatCounter;
49
+ private getShortHost;
50
+ }
51
+ //# sourceMappingURL=networkStatsbeatMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkStatsbeatMetrics.d.ts","sourceRoot":"","sources":["../../../../src/export/statsbeat/networkStatsbeatMetrics.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAKpB,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,4BAA4B,CAAiD;IACrF,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,4BAA4B,CAAkB;IAEtD,OAAO,CAAC,0BAA0B,CAA+B;IACjE,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,6BAA6B,CAAgB;IACrD,OAAO,CAAC,oBAAoB,CAAgC;IAC5D,OAAO,CAAC,mBAAmB,CAAgC;IAG3D,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAoB;IAGlC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,oBAAoB,CAAkB;IAE9C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,iBAAiB,CAA8B;IAGvD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAS;gBAET,OAAO,EAAE,gBAAgB;IA4E9B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAIlB,UAAU;IA6BxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IAQrB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUpC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAmBxD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBpC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBvC,gBAAgB,IAAI,IAAI;IAQxB,iBAAiB,IAAI,IAAI;IAQzB,cAAc,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI;IAgBjD,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,YAAY;CAcrB"}
@@ -1,12 +1,12 @@
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";
9
- import { ENV_DISABLE_STATSBEAT } from "../../Declarations/Constants";
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";
10
10
  export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
11
11
  constructor(options) {
12
12
  super();
@@ -45,6 +45,8 @@ export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
45
45
  this.readFailureGauge = this.networkStatsbeatMeter.createObservableGauge(StatsbeatCounter.READ_FAILURE_COUNT);
46
46
  this.writeFailureGauge = this.networkStatsbeatMeter.createObservableGauge(StatsbeatCounter.WRITE_FAILURE_COUNT);
47
47
  }
48
+ this.isInitialized = true;
49
+ this.initialize();
48
50
  this.commonProperties = {
49
51
  os: this.os,
50
52
  rp: this.resourceProvider,
@@ -58,8 +60,6 @@ export class NetworkStatsbeatMetrics extends StatsbeatMetrics {
58
60
  endpoint: this.endpointUrl,
59
61
  host: this.host,
60
62
  };
61
- this.isInitialized = true;
62
- this.initialize();
63
63
  }
64
64
  shutdown() {
65
65
  return this.networkStatsbeatMeterProvider.shutdown();