@azure/monitor-opentelemetry-exporter 1.0.0-beta.32 → 1.0.0-beta.34

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 (193) hide show
  1. package/LICENSE +21 -0
  2. package/dist/commonjs/Declarations/Constants.d.ts +10 -0
  3. package/dist/commonjs/Declarations/Constants.d.ts.map +1 -1
  4. package/dist/commonjs/Declarations/Constants.js +11 -1
  5. package/dist/commonjs/Declarations/Constants.js.map +1 -1
  6. package/dist/commonjs/export/base.js +25 -14
  7. package/dist/commonjs/export/base.js.map +1 -1
  8. package/dist/commonjs/export/log.js +5 -4
  9. package/dist/commonjs/export/log.js.map +1 -1
  10. package/dist/commonjs/export/metric.js +5 -4
  11. package/dist/commonjs/export/metric.js.map +1 -1
  12. package/dist/commonjs/export/statsbeat/customerSDKStats.d.ts +133 -0
  13. package/dist/commonjs/export/statsbeat/customerSDKStats.d.ts.map +1 -0
  14. package/dist/commonjs/export/statsbeat/customerSDKStats.js +528 -0
  15. package/dist/commonjs/export/statsbeat/customerSDKStats.js.map +1 -0
  16. package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.js +35 -11
  17. package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -1
  18. package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.js +52 -21
  19. package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.js.map +1 -1
  20. package/dist/commonjs/export/statsbeat/statsbeatExporter.d.ts +7 -0
  21. package/dist/commonjs/export/statsbeat/statsbeatExporter.d.ts.map +1 -1
  22. package/dist/commonjs/export/statsbeat/statsbeatExporter.js +25 -5
  23. package/dist/commonjs/export/statsbeat/statsbeatExporter.js.map +1 -1
  24. package/dist/commonjs/export/statsbeat/statsbeatMetrics.js +6 -8
  25. package/dist/commonjs/export/statsbeat/statsbeatMetrics.js.map +1 -1
  26. package/dist/commonjs/export/statsbeat/types.d.ts +77 -0
  27. package/dist/commonjs/export/statsbeat/types.d.ts.map +1 -1
  28. package/dist/commonjs/export/statsbeat/types.js +105 -1
  29. package/dist/commonjs/export/statsbeat/types.js.map +1 -1
  30. package/dist/commonjs/export/trace.js +6 -5
  31. package/dist/commonjs/export/trace.js.map +1 -1
  32. package/dist/commonjs/generated/applicationInsightsClient.js +9 -4
  33. package/dist/commonjs/generated/applicationInsightsClient.js.map +1 -1
  34. package/dist/commonjs/generated/models/mappers.js +145 -68
  35. package/dist/commonjs/generated/models/mappers.js.map +1 -1
  36. package/dist/commonjs/index.d.ts +2 -1
  37. package/dist/commonjs/index.d.ts.map +1 -1
  38. package/dist/commonjs/index.js +5 -3
  39. package/dist/commonjs/index.js.map +1 -1
  40. package/dist/commonjs/platform/nodejs/baseSender.d.ts +1 -0
  41. package/dist/commonjs/platform/nodejs/baseSender.d.ts.map +1 -1
  42. package/dist/commonjs/platform/nodejs/baseSender.js +92 -31
  43. package/dist/commonjs/platform/nodejs/baseSender.js.map +1 -1
  44. package/dist/commonjs/platform/nodejs/context/context.d.ts +0 -1
  45. package/dist/commonjs/platform/nodejs/context/context.d.ts.map +1 -1
  46. package/dist/commonjs/platform/nodejs/context/context.js +4 -8
  47. package/dist/commonjs/platform/nodejs/context/context.js.map +1 -1
  48. package/dist/commonjs/platform/nodejs/httpSender.js +11 -4
  49. package/dist/commonjs/platform/nodejs/httpSender.js.map +1 -1
  50. package/dist/commonjs/platform/nodejs/index.d.ts +1 -0
  51. package/dist/commonjs/platform/nodejs/index.d.ts.map +1 -1
  52. package/dist/commonjs/platform/nodejs/index.js +1 -0
  53. package/dist/commonjs/platform/nodejs/index.js.map +1 -1
  54. package/dist/commonjs/platform/nodejs/persist/fileAccessControl.js +7 -7
  55. package/dist/commonjs/platform/nodejs/persist/fileAccessControl.js.map +1 -1
  56. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts +9 -1
  57. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -1
  58. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js +37 -16
  59. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
  60. package/dist/commonjs/{sampling.d.ts → sampling/percentageSampler.d.ts} +2 -3
  61. package/dist/commonjs/sampling/percentageSampler.d.ts.map +1 -0
  62. package/dist/commonjs/{sampling.js → sampling/percentageSampler.js} +6 -39
  63. package/dist/commonjs/sampling/percentageSampler.js.map +1 -0
  64. package/dist/commonjs/sampling/rateLimitedSampler.d.ts +58 -0
  65. package/dist/commonjs/sampling/rateLimitedSampler.d.ts.map +1 -0
  66. package/dist/commonjs/sampling/rateLimitedSampler.js +118 -0
  67. package/dist/commonjs/sampling/rateLimitedSampler.js.map +1 -0
  68. package/dist/commonjs/sampling/samplingUtils.d.ts +17 -0
  69. package/dist/commonjs/sampling/samplingUtils.d.ts.map +1 -0
  70. package/dist/commonjs/sampling/samplingUtils.js +94 -0
  71. package/dist/commonjs/sampling/samplingUtils.js.map +1 -0
  72. package/dist/commonjs/tsdoc-metadata.json +11 -11
  73. package/dist/commonjs/types.d.ts +3 -1
  74. package/dist/commonjs/types.d.ts.map +1 -1
  75. package/dist/commonjs/types.js +4 -0
  76. package/dist/commonjs/types.js.map +1 -1
  77. package/dist/commonjs/utils/common.js +2 -3
  78. package/dist/commonjs/utils/common.js.map +1 -1
  79. package/dist/commonjs/utils/connectionStringParser.js +3 -3
  80. package/dist/commonjs/utils/connectionStringParser.js.map +1 -1
  81. package/dist/commonjs/utils/constants/applicationinsights.d.ts +2 -1
  82. package/dist/commonjs/utils/constants/applicationinsights.d.ts.map +1 -1
  83. package/dist/commonjs/utils/constants/applicationinsights.js +3 -2
  84. package/dist/commonjs/utils/constants/applicationinsights.js.map +1 -1
  85. package/dist/commonjs/utils/eventhub.js +5 -2
  86. package/dist/commonjs/utils/eventhub.js.map +1 -1
  87. package/dist/commonjs/utils/logUtils.d.ts.map +1 -1
  88. package/dist/commonjs/utils/logUtils.js +34 -15
  89. package/dist/commonjs/utils/logUtils.js.map +1 -1
  90. package/dist/commonjs/utils/metricUtils.d.ts.map +1 -1
  91. package/dist/commonjs/utils/metricUtils.js +6 -6
  92. package/dist/commonjs/utils/metricUtils.js.map +1 -1
  93. package/dist/commonjs/utils/spanUtils.d.ts.map +1 -1
  94. package/dist/commonjs/utils/spanUtils.js +29 -14
  95. package/dist/commonjs/utils/spanUtils.js.map +1 -1
  96. package/dist/esm/Declarations/Constants.d.ts +10 -0
  97. package/dist/esm/Declarations/Constants.d.ts.map +1 -1
  98. package/dist/esm/Declarations/Constants.js +10 -0
  99. package/dist/esm/Declarations/Constants.js.map +1 -1
  100. package/dist/esm/export/base.js +25 -14
  101. package/dist/esm/export/base.js.map +1 -1
  102. package/dist/esm/export/log.js +5 -4
  103. package/dist/esm/export/log.js.map +1 -1
  104. package/dist/esm/export/metric.js +5 -4
  105. package/dist/esm/export/metric.js.map +1 -1
  106. package/dist/esm/export/statsbeat/customerSDKStats.d.ts +133 -0
  107. package/dist/esm/export/statsbeat/customerSDKStats.d.ts.map +1 -0
  108. package/dist/esm/export/statsbeat/customerSDKStats.js +523 -0
  109. package/dist/esm/export/statsbeat/customerSDKStats.js.map +1 -0
  110. package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.js +35 -11
  111. package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -1
  112. package/dist/esm/export/statsbeat/networkStatsbeatMetrics.js +52 -21
  113. package/dist/esm/export/statsbeat/networkStatsbeatMetrics.js.map +1 -1
  114. package/dist/esm/export/statsbeat/statsbeatExporter.d.ts +7 -0
  115. package/dist/esm/export/statsbeat/statsbeatExporter.d.ts.map +1 -1
  116. package/dist/esm/export/statsbeat/statsbeatExporter.js +25 -5
  117. package/dist/esm/export/statsbeat/statsbeatExporter.js.map +1 -1
  118. package/dist/esm/export/statsbeat/statsbeatMetrics.js +6 -8
  119. package/dist/esm/export/statsbeat/statsbeatMetrics.js.map +1 -1
  120. package/dist/esm/export/statsbeat/types.d.ts +77 -0
  121. package/dist/esm/export/statsbeat/types.d.ts.map +1 -1
  122. package/dist/esm/export/statsbeat/types.js +103 -0
  123. package/dist/esm/export/statsbeat/types.js.map +1 -1
  124. package/dist/esm/export/trace.js +6 -5
  125. package/dist/esm/export/trace.js.map +1 -1
  126. package/dist/esm/generated/applicationInsightsClient.js +9 -4
  127. package/dist/esm/generated/applicationInsightsClient.js.map +1 -1
  128. package/dist/esm/generated/models/mappers.js +145 -68
  129. package/dist/esm/generated/models/mappers.js.map +1 -1
  130. package/dist/esm/index.d.ts +2 -1
  131. package/dist/esm/index.d.ts.map +1 -1
  132. package/dist/esm/index.js +2 -1
  133. package/dist/esm/index.js.map +1 -1
  134. package/dist/esm/platform/nodejs/baseSender.d.ts +1 -0
  135. package/dist/esm/platform/nodejs/baseSender.d.ts.map +1 -1
  136. package/dist/esm/platform/nodejs/baseSender.js +91 -30
  137. package/dist/esm/platform/nodejs/baseSender.js.map +1 -1
  138. package/dist/esm/platform/nodejs/context/context.d.ts +0 -1
  139. package/dist/esm/platform/nodejs/context/context.d.ts.map +1 -1
  140. package/dist/esm/platform/nodejs/context/context.js +4 -8
  141. package/dist/esm/platform/nodejs/context/context.js.map +1 -1
  142. package/dist/esm/platform/nodejs/httpSender.js +11 -4
  143. package/dist/esm/platform/nodejs/httpSender.js.map +1 -1
  144. package/dist/esm/platform/nodejs/index.d.ts +1 -0
  145. package/dist/esm/platform/nodejs/index.d.ts.map +1 -1
  146. package/dist/esm/platform/nodejs/index.js +1 -0
  147. package/dist/esm/platform/nodejs/index.js.map +1 -1
  148. package/dist/esm/platform/nodejs/persist/fileAccessControl.js +7 -7
  149. package/dist/esm/platform/nodejs/persist/fileAccessControl.js.map +1 -1
  150. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts +9 -1
  151. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -1
  152. package/dist/esm/platform/nodejs/persist/fileSystemPersist.js +37 -16
  153. package/dist/esm/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
  154. package/dist/esm/{sampling.d.ts → sampling/percentageSampler.d.ts} +2 -3
  155. package/dist/esm/sampling/percentageSampler.d.ts.map +1 -0
  156. package/dist/esm/{sampling.js → sampling/percentageSampler.js} +6 -39
  157. package/dist/esm/sampling/percentageSampler.js.map +1 -0
  158. package/dist/esm/sampling/rateLimitedSampler.d.ts +58 -0
  159. package/dist/esm/sampling/rateLimitedSampler.d.ts.map +1 -0
  160. package/dist/esm/sampling/rateLimitedSampler.js +114 -0
  161. package/dist/esm/sampling/rateLimitedSampler.js.map +1 -0
  162. package/dist/esm/sampling/samplingUtils.d.ts +17 -0
  163. package/dist/esm/sampling/samplingUtils.d.ts.map +1 -0
  164. package/dist/esm/sampling/samplingUtils.js +89 -0
  165. package/dist/esm/sampling/samplingUtils.js.map +1 -0
  166. package/dist/esm/types.d.ts +3 -1
  167. package/dist/esm/types.d.ts.map +1 -1
  168. package/dist/esm/types.js +4 -0
  169. package/dist/esm/types.js.map +1 -1
  170. package/dist/esm/utils/common.js +2 -3
  171. package/dist/esm/utils/common.js.map +1 -1
  172. package/dist/esm/utils/connectionStringParser.js +3 -3
  173. package/dist/esm/utils/connectionStringParser.js.map +1 -1
  174. package/dist/esm/utils/constants/applicationinsights.d.ts +2 -1
  175. package/dist/esm/utils/constants/applicationinsights.d.ts.map +1 -1
  176. package/dist/esm/utils/constants/applicationinsights.js +2 -1
  177. package/dist/esm/utils/constants/applicationinsights.js.map +1 -1
  178. package/dist/esm/utils/eventhub.js +5 -2
  179. package/dist/esm/utils/eventhub.js.map +1 -1
  180. package/dist/esm/utils/logUtils.d.ts.map +1 -1
  181. package/dist/esm/utils/logUtils.js +31 -12
  182. package/dist/esm/utils/logUtils.js.map +1 -1
  183. package/dist/esm/utils/metricUtils.d.ts.map +1 -1
  184. package/dist/esm/utils/metricUtils.js +6 -6
  185. package/dist/esm/utils/metricUtils.js.map +1 -1
  186. package/dist/esm/utils/spanUtils.d.ts.map +1 -1
  187. package/dist/esm/utils/spanUtils.js +32 -17
  188. package/dist/esm/utils/spanUtils.js.map +1 -1
  189. package/package.json +34 -35
  190. package/dist/commonjs/sampling.d.ts.map +0 -1
  191. package/dist/commonjs/sampling.js.map +0 -1
  192. package/dist/esm/sampling.d.ts.map +0 -1
  193. package/dist/esm/sampling.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Microsoft
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -99,6 +99,16 @@ export declare const ENV_AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
99
99
  * @internal
100
100
  */
101
101
  export declare const ENV_AZURE_MONITOR_DISTRO_VERSION = "AZURE_MONITOR_DISTRO_VERSION";
102
+ /**
103
+ * Enables the preview version of customer-facing SDK Stats.
104
+ * @internal
105
+ */
106
+ export declare const ENV_APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW = "APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW";
107
+ /**
108
+ * Sets the export interval for customer-facing SDK Stats in seconds.
109
+ * @internal
110
+ */
111
+ export declare const ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL = "APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL";
102
112
  /**
103
113
  * QuickPulse metric counter names.
104
114
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/Declarations/Constants.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,EAAE,uBAAuB;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,yCAAyC,CAAC;AAC9E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D;;;GAGG;AACH,eAAO,MAAM,4BAA4B,yCAAyC,CAAC;AACnF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AACvE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAC7E;;;GAGG;AACH,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AACxE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,2CAA2C,CAAC;AAC9E;;;GAGG;AACH,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAChF;;;GAGG;AACH,eAAO,MAAM,0CAA0C,+DACO,CAAC;AAC/D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAC/E;;;GAGG;AACH,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AACjE;;;GAGG;AACH,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AACzE;;;GAGG;AACH,eAAO,MAAM,uDAAuD,wDACb,CAAC;AAExD;;;GAGG;AACH,oBAAY,uBAAuB;IACjC,kBAAkB,uBAAuB;IACzC,kBAAkB,cAAc;CACjC;AACD;;;GAGG;AACH,eAAO,MAAM,oCAAoC,sCAAsC,CAAC;AACxF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAC/D;;;GAGG;AACH,eAAO,MAAM,gCAAgC,iCAAiC,CAAC;AAE/E;;;GAGG;AACH,oBAAY,iBAAiB;IAE3B,eAAe,8BAA8B;IAG7C,cAAc,0CAA0C;IAGxD,YAAY,wCAAwC;IACpD,oBAAoB,+CAA+C;IACnE,gBAAgB,4CAA4C;IAG5D,eAAe,gDAAgD;IAC/D,uBAAuB,uDAAuD;IAC9E,mBAAmB,oDAAoD;IAGvE,cAAc,0CAA0C;CACzD;AAED;;;GAGG;AACH,oBAAY,kBAAkB;IAE5B,aAAa,iDAAiD;IAC9D,eAAe,8BAA8B;IAG7C,cAAc,0CAA0C;IACxD,qBAAqB,oDAAoD;IACzE,uBAAuB,+DAA+D;IAGtF,YAAY,6DAA6D;IACzE,gBAAgB,uEAAuE;IAGvF,cAAc,sEAAsE;IAEpF,OAAO,qDAAqD;CAC7D;AAED;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;CAY9E,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC9B,OAAO,GACP,WAAW,GACX,OAAO,GACP,QAAQ,GACR,SAAS,GACT,kBAAkB,GAClB,cAAc,CAAC;AACnB;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,wBAAwB,GACxB,4BAA4B,GAC5B,wBAAwB,GACxB,yBAAyB,GACzB,0BAA0B,GAC1B,6BAA6B,GAC7B,+BAA+B,CAAC"}
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/Declarations/Constants.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,EAAE,uBAAuB;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,yCAAyC,CAAC;AAC9E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D;;;GAGG;AACH,eAAO,MAAM,4BAA4B,yCAAyC,CAAC;AACnF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AACvE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAC7E;;;GAGG;AACH,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AACxE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,2CAA2C,CAAC;AAC9E;;;GAGG;AACH,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAChF;;;GAGG;AACH,eAAO,MAAM,0CAA0C,+DACO,CAAC;AAC/D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAC/E;;;GAGG;AACH,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AACjE;;;GAGG;AACH,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AACzE;;;GAGG;AACH,eAAO,MAAM,uDAAuD,wDACb,CAAC;AAExD;;;GAGG;AACH,oBAAY,uBAAuB;IACjC,kBAAkB,uBAAuB;IACzC,kBAAkB,cAAc;CACjC;AACD;;;GAGG;AACH,eAAO,MAAM,oCAAoC,sCAAsC,CAAC;AACxF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAC/D;;;GAGG;AACH,eAAO,MAAM,gCAAgC,iCAAiC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,gDAAgD,iDACb,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,gDAAgD,iDACb,CAAC;AAEjD;;;GAGG;AACH,oBAAY,iBAAiB;IAE3B,eAAe,8BAA8B;IAG7C,cAAc,0CAA0C;IAGxD,YAAY,wCAAwC;IACpD,oBAAoB,+CAA+C;IACnE,gBAAgB,4CAA4C;IAG5D,eAAe,gDAAgD;IAC/D,uBAAuB,uDAAuD;IAC9E,mBAAmB,oDAAoD;IAGvE,cAAc,0CAA0C;CACzD;AAED;;;GAGG;AACH,oBAAY,kBAAkB;IAE5B,aAAa,iDAAiD;IAC9D,eAAe,8BAA8B;IAG7C,cAAc,0CAA0C;IACxD,qBAAqB,oDAAoD;IACzE,uBAAuB,+DAA+D;IAGtF,YAAY,6DAA6D;IACzE,gBAAgB,uEAAuE;IAGvF,cAAc,sEAAsE;IAEpF,OAAO,qDAAqD;CAC7D;AAED;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;CAY9E,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC9B,OAAO,GACP,WAAW,GACX,OAAO,GACP,QAAQ,GACR,SAAS,GACT,kBAAkB,GAClB,cAAc,CAAC;AACnB;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,wBAAwB,GACxB,4BAA4B,GAC5B,wBAAwB,GACxB,yBAAyB,GACzB,0BAA0B,GAC1B,6BAA6B,GAC7B,+BAA+B,CAAC"}
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.PerformanceToQuickPulseCounter = exports.PerformanceCounter = exports.QuickPulseCounter = exports.ENV_AZURE_MONITOR_DISTRO_VERSION = exports.ENV_AZURE_MONITOR_PREFIX = exports.ENV_APPLICATIONINSIGHTS_SHIM_VERSION = exports.RetriableRestErrorTypes = exports.ENV_APPLICATIONINSIGHTS_METRICS_TO_LOGANALYTICS_ENABLED = exports.ENV_AZURE_MONITOR_AUTO_ATTACH = exports.ENV_OTEL_METRICS_EXPORTER = exports.ENV_OTLP_METRICS_ENDPOINT = exports.ENV_OPENTELEMETRY_RESOURCE_METRIC_DISABLED = exports.LEGACY_ENV_DISABLE_STATSBEAT = exports.ENV_DISABLE_STATSBEAT = exports.ENV_INSTRUMENTATION_KEY = exports.ENV_CONNECTION_STRING = exports.DEFAULT_LIVEMETRICS_HOST = exports.DEFAULT_LIVEMETRICS_ENDPOINT = exports.DEFAULT_BREEZE_API_VERSION = exports.DEFAULT_BREEZE_ENDPOINT = exports.AI_OPERATION_NAME = exports.ServiceApiVersion = void 0;
5
+ exports.PerformanceToQuickPulseCounter = exports.PerformanceCounter = exports.QuickPulseCounter = exports.ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL = exports.ENV_APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW = exports.ENV_AZURE_MONITOR_DISTRO_VERSION = exports.ENV_AZURE_MONITOR_PREFIX = exports.ENV_APPLICATIONINSIGHTS_SHIM_VERSION = exports.RetriableRestErrorTypes = exports.ENV_APPLICATIONINSIGHTS_METRICS_TO_LOGANALYTICS_ENABLED = exports.ENV_AZURE_MONITOR_AUTO_ATTACH = exports.ENV_OTEL_METRICS_EXPORTER = exports.ENV_OTLP_METRICS_ENDPOINT = exports.ENV_OPENTELEMETRY_RESOURCE_METRIC_DISABLED = exports.LEGACY_ENV_DISABLE_STATSBEAT = exports.ENV_DISABLE_STATSBEAT = exports.ENV_INSTRUMENTATION_KEY = exports.ENV_CONNECTION_STRING = exports.DEFAULT_LIVEMETRICS_HOST = exports.DEFAULT_LIVEMETRICS_ENDPOINT = exports.DEFAULT_BREEZE_API_VERSION = exports.DEFAULT_BREEZE_ENDPOINT = exports.AI_OPERATION_NAME = exports.ServiceApiVersion = void 0;
6
6
  /**
7
7
  * Azure service API version.
8
8
  */
@@ -106,6 +106,16 @@ exports.ENV_AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
106
106
  * @internal
107
107
  */
108
108
  exports.ENV_AZURE_MONITOR_DISTRO_VERSION = "AZURE_MONITOR_DISTRO_VERSION";
109
+ /**
110
+ * Enables the preview version of customer-facing SDK Stats.
111
+ * @internal
112
+ */
113
+ exports.ENV_APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW = "APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW";
114
+ /**
115
+ * Sets the export interval for customer-facing SDK Stats in seconds.
116
+ * @internal
117
+ */
118
+ exports.ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL = "APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL";
109
119
  /**
110
120
  * QuickPulse metric counter names.
111
121
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/Declarations/Constants.ts"],"names":[],"mappings":"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","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 * OTLP Metrics Endpoint.\n * @internal\n */\nexport const ENV_OTLP_METRICS_ENDPOINT = \"OTEL_EXPORTER_OTLP_METRICS_ENDPOINT\";\n/**\n * OTel Metrics Exporter.\n * @internal\n */\nexport const ENV_OTEL_METRICS_EXPORTER = \"OTEL_METRICS_EXPORTER\";\n/**\n * Determine if exporter was initialized in an auto-attach scenario.\n * @internal\n */\nexport const ENV_AZURE_MONITOR_AUTO_ATTACH = \"AZURE_MONITOR_AUTO_ATTACH\";\n/**\n * Determines if custom metrics should be sent to Breeze.\n * @internal\n */\nexport const ENV_APPLICATIONINSIGHTS_METRICS_TO_LOGANALYTICS_ENABLED =\n \"APPLICATIONINSIGHTS_METRICS_TO_LOGANALYTICS_ENABLED\";\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 * Application Insights shim version.\n * @internal\n */\nexport const ENV_APPLICATIONINSIGHTS_SHIM_VERSION = \"APPLICATION_INSIGHTS_SHIM_VERSION\";\n/**\n * Azure Monitor version prefix.\n * @internal\n */\nexport const ENV_AZURE_MONITOR_PREFIX = \"AZURE_MONITOR_PREFIX\";\n/**\n * Azure Monitor Distro version.\n * @internal\n */\nexport const ENV_AZURE_MONITOR_DISTRO_VERSION = \"AZURE_MONITOR_DISTRO_VERSION\";\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_STANDARD = \"\\\\Process(??APP_WIN32_PROC??)\\\\% Processor Time\",\n PROCESS_TIME_NORMALIZED = \"\\\\Process(??APP_WIN32_PROC??)\\\\% Processor Time Normalized\",\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 // Exception\n EXCEPTION_RATE = \"\\\\.NET CLR Exceptions(??APP_CLR_PROC??)\\\\# of Exceps Thrown / sec\",\n // I/O\n IO_RATE = \"\\\\Process(??APP_WIN32_PROC??)\\\\IO Data Bytes/sec\",\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"]}
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/Declarations/Constants.ts"],"names":[],"mappings":"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","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 * OTLP Metrics Endpoint.\n * @internal\n */\nexport const ENV_OTLP_METRICS_ENDPOINT = \"OTEL_EXPORTER_OTLP_METRICS_ENDPOINT\";\n/**\n * OTel Metrics Exporter.\n * @internal\n */\nexport const ENV_OTEL_METRICS_EXPORTER = \"OTEL_METRICS_EXPORTER\";\n/**\n * Determine if exporter was initialized in an auto-attach scenario.\n * @internal\n */\nexport const ENV_AZURE_MONITOR_AUTO_ATTACH = \"AZURE_MONITOR_AUTO_ATTACH\";\n/**\n * Determines if custom metrics should be sent to Breeze.\n * @internal\n */\nexport const ENV_APPLICATIONINSIGHTS_METRICS_TO_LOGANALYTICS_ENABLED =\n \"APPLICATIONINSIGHTS_METRICS_TO_LOGANALYTICS_ENABLED\";\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 * Application Insights shim version.\n * @internal\n */\nexport const ENV_APPLICATIONINSIGHTS_SHIM_VERSION = \"APPLICATION_INSIGHTS_SHIM_VERSION\";\n/**\n * Azure Monitor version prefix.\n * @internal\n */\nexport const ENV_AZURE_MONITOR_PREFIX = \"AZURE_MONITOR_PREFIX\";\n/**\n * Azure Monitor Distro version.\n * @internal\n */\nexport const ENV_AZURE_MONITOR_DISTRO_VERSION = \"AZURE_MONITOR_DISTRO_VERSION\";\n\n/**\n * Enables the preview version of customer-facing SDK Stats.\n * @internal\n */\nexport const ENV_APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW =\n \"APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW\";\n\n/**\n * Sets the export interval for customer-facing SDK Stats in seconds.\n * @internal\n */\nexport const ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL =\n \"APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL\";\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_STANDARD = \"\\\\Process(??APP_WIN32_PROC??)\\\\% Processor Time\",\n PROCESS_TIME_NORMALIZED = \"\\\\Process(??APP_WIN32_PROC??)\\\\% Processor Time Normalized\",\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 // Exception\n EXCEPTION_RATE = \"\\\\.NET CLR Exceptions(??APP_CLR_PROC??)\\\\# of Exceps Thrown / sec\",\n // I/O\n IO_RATE = \"\\\\Process(??APP_WIN32_PROC??)\\\\IO Data Bytes/sec\",\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"]}
@@ -10,24 +10,35 @@ const Constants_js_1 = require("../Declarations/Constants.js");
10
10
  * Azure Monitor OpenTelemetry Trace Exporter.
11
11
  */
12
12
  class AzureMonitorBaseExporter {
13
+ /**
14
+ * Instrumentation key to be used for exported envelopes
15
+ */
16
+ instrumentationKey = "";
17
+ /**
18
+ * Ingestion Endpoint URL
19
+ */
20
+ endpointUrl = "";
21
+ /**
22
+ *Flag to determine if exporter will generate Statsbeat data
23
+ */
24
+ trackStatsbeat = false;
25
+ /**
26
+ * Instrumentation key to be used for exported envelopes
27
+ */
28
+ aadAudience;
29
+ /**
30
+ * Flag to determine if the Exporter is a Statsbeat Exporter
31
+ */
32
+ isStatsbeatExporter;
33
+ /**
34
+ * Exporter internal configuration
35
+ */
36
+ options;
13
37
  /**
14
38
  * Initializes a new instance of the AzureMonitorBaseExporter class.
15
39
  * @param AzureMonitorExporterOptions - Exporter configuration.
16
40
  */
17
41
  constructor(options = {}, isStatsbeatExporter) {
18
- var _a;
19
- /**
20
- * Instrumentation key to be used for exported envelopes
21
- */
22
- this.instrumentationKey = "";
23
- /**
24
- * Ingestion Endpoint URL
25
- */
26
- this.endpointUrl = "";
27
- /**
28
- *Flag to determine if exporter will generate Statsbeat data
29
- */
30
- this.trackStatsbeat = false;
31
42
  this.options = options;
32
43
  this.instrumentationKey = "";
33
44
  this.endpointUrl = Constants_js_1.DEFAULT_BREEZE_ENDPOINT;
@@ -37,7 +48,7 @@ class AzureMonitorBaseExporter {
37
48
  const parsedConnectionString = connectionStringParser_js_1.ConnectionStringParser.parse(connectionString);
38
49
  this.instrumentationKey =
39
50
  parsedConnectionString.instrumentationkey || this.instrumentationKey;
40
- this.endpointUrl = ((_a = parsedConnectionString.ingestionendpoint) === null || _a === void 0 ? void 0 : _a.trim()) || this.endpointUrl;
51
+ this.endpointUrl = parsedConnectionString.ingestionendpoint?.trim() || this.endpointUrl;
41
52
  this.aadAudience = parsedConnectionString.aadaudience;
42
53
  }
43
54
  // Instrumentation key is required
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/export/base.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,4CAA0C;AAC1C,kFAA4E;AAE5E,+DAIsC;AAEtC;;GAEG;AACH,MAAsB,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,sCAAuB,CAAC;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,oCAAqB,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,kDAAsB,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,UAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,kDAAsB,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAChF,MAAM,OAAO,GAAG,wEAAwE,CAAC;YACzF,UAAI,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,2CAA4B,CAAC,CAAC;QAE9F,UAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC5D,CAAC;CACF;AA/DD,4DA+DC","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"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/export/base.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,4CAA0C;AAC1C,kFAA4E;AAE5E,+DAIsC;AAEtC;;GAEG;AACH,MAAsB,wBAAwB;IAC5C;;OAEG;IACO,kBAAkB,GAAW,EAAE,CAAC;IAC1C;;OAEG;IACO,WAAW,GAAW,EAAE,CAAC;IACnC;;OAEG;IACO,cAAc,GAAY,KAAK,CAAC;IAC1C;;OAEG;IACO,WAAW,CAAqB;IAE1C;;OAEG;IACK,mBAAmB,CAAU;IAErC;;OAEG;IACc,OAAO,CAA8B;IAEtD;;;OAGG;IACH,YAAY,UAAuC,EAAE,EAAE,mBAA6B;QAClF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,sCAAuB,CAAC;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,oCAAqB,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,kDAAsB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9E,IAAI,CAAC,kBAAkB;gBACrB,sBAAsB,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC;YACvE,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,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,UAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,kDAAsB,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAChF,MAAM,OAAO,GAAG,wEAAwE,CAAC;YACzF,UAAI,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,2CAA4B,CAAC,CAAC;QAE9F,UAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC5D,CAAC;CACF;AA/DD,4DA+DC","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"]}
@@ -12,16 +12,17 @@ const index_js_1 = require("../platform/index.js");
12
12
  * Azure Monitor OpenTelemetry Log Exporter.
13
13
  */
14
14
  class AzureMonitorLogExporter extends base_js_1.AzureMonitorBaseExporter {
15
+ /**
16
+ * Flag to determine if Exporter is shutdown.
17
+ */
18
+ _isShutdown = false;
19
+ _sender;
15
20
  /**
16
21
  * Initializes a new instance of the AzureMonitorLogExporter class.
17
22
  * @param AzureExporterConfig - Exporter configuration.
18
23
  */
19
24
  constructor(options = {}) {
20
25
  super(options);
21
- /**
22
- * Flag to determine if Exporter is shutdown.
23
- */
24
- this._isShutdown = false;
25
26
  this._sender = new index_js_1.HttpSender({
26
27
  endpointUrl: this.endpointUrl,
27
28
  instrumentationKey: this.instrumentationKey,
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/export/log.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,4CAAmD;AAEnD,8CAAwE;AACxE,uCAAqD;AAErD,sDAAqD;AAGrD,mDAAkD;AAElD;;GAEG;AACH,MAAa,uBAAwB,SAAQ,kCAAwB;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,qBAAU,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,UAAI,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,UAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,UAAI,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,IAAA,2BAAa,EAAC,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,aAAO,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,aAAO,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,UAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF;AA7DD,0DA6DC","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"]}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/export/log.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,4CAAmD;AAEnD,8CAAwE;AACxE,uCAAqD;AAErD,sDAAqD;AAGrD,mDAAkD;AAElD;;GAEG;AACH,MAAa,uBAAwB,SAAQ,kCAAwB;IACnE;;OAEG;IACK,WAAW,GAAG,KAAK,CAAC;IACX,OAAO,CAAa;IAErC;;;OAGG;IAEH,YAAY,UAAuC,EAAE;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAU,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,UAAI,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,UAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,UAAI,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,IAAA,2BAAa,EAAC,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,aAAO,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,aAAO,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,UAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF;AA7DD,0DA6DC","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"]}
@@ -13,16 +13,17 @@ const index_js_1 = require("../platform/index.js");
13
13
  * Azure Monitor OpenTelemetry Metric Exporter.
14
14
  */
15
15
  class AzureMonitorMetricExporter extends base_js_1.AzureMonitorBaseExporter {
16
+ /**
17
+ * Flag to determine if Exporter is shutdown.
18
+ */
19
+ _isShutdown = false;
20
+ _sender;
16
21
  /**
17
22
  * Initializes a new instance of the AzureMonitorMetricExporter class.
18
23
  * @param AzureExporterConfig - Exporter configuration.
19
24
  */
20
25
  constructor(options = {}) {
21
26
  super(options);
22
- /**
23
- * Flag to determine if Exporter is shutdown.
24
- */
25
- this._isShutdown = false;
26
27
  this._sender = new index_js_1.HttpSender({
27
28
  endpointUrl: this.endpointUrl,
28
29
  instrumentationKey: this.instrumentationKey,
@@ -1 +1 @@
1
- {"version":3,"file":"metric.js","sourceRoot":"","sources":["../../../src/export/metric.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,4CAAmD;AAEnD,4DAAoF;AAEpF,8CAAwE;AACxE,uCAAqD;AAErD,4DAAoE;AAEpE,mDAAkD;AAElD;;GAEG;AACH,MAAa,0BACX,SAAQ,kCAAwB;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,qBAAU,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,UAAI,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,UAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,UAAI,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,YAAY,CAAC,MAAM,yCAAyC,CAAC,CAAC;QAE7F,MAAM,SAAS,GAAe,IAAA,0CAAyB,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1F,6DAA6D;QAC7D,MAAM,aAAO,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,aAAO,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,UAAI,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,4BAAc,CAAC,eAAe;YACjD,cAAc,KAAK,4BAAc,CAAC,0BAA0B,EAC5D,CAAC;YACD,OAAO,oCAAsB,CAAC,UAAU,CAAC;QAC3C,CAAC;QACD,OAAO,oCAAsB,CAAC,KAAK,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AA9ED,gEA8EC","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"]}
1
+ {"version":3,"file":"metric.js","sourceRoot":"","sources":["../../../src/export/metric.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,4CAAmD;AAEnD,4DAAoF;AAEpF,8CAAwE;AACxE,uCAAqD;AAErD,4DAAoE;AAEpE,mDAAkD;AAElD;;GAEG;AACH,MAAa,0BACX,SAAQ,kCAAwB;IAGhC;;OAEG;IACK,WAAW,GAAG,KAAK,CAAC;IACpB,OAAO,CAAa;IAE5B;;;OAGG;IAEH,YAAY,UAAuC,EAAE;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAU,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,UAAI,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,UAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,UAAI,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,YAAY,CAAC,MAAM,yCAAyC,CAAC,CAAC;QAE7F,MAAM,SAAS,GAAe,IAAA,0CAAyB,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1F,6DAA6D;QAC7D,MAAM,aAAO,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,aAAO,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,UAAI,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,4BAAc,CAAC,eAAe;YACjD,cAAc,KAAK,4BAAc,CAAC,0BAA0B,EAC5D,CAAC;YACD,OAAO,oCAAsB,CAAC,UAAU,CAAC;QAC3C,CAAC;QACD,OAAO,oCAAsB,CAAC,KAAK,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AA9ED,gEA8EC","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,133 @@
1
+ import { StatsbeatMetrics } from "./statsbeatMetrics.js";
2
+ import type { StatsbeatOptions } from "./types.js";
3
+ import { DropCode, RetryCode, ExceptionType } from "./types.js";
4
+ import { TelemetryType } from "./types.js";
5
+ import type { TelemetryItem as Envelope } from "../../generated/index.js";
6
+ /**
7
+ * Class that handles customer-facing SDK Stats metrics
8
+ * These metrics are sent to the customer's breeze endpoint
9
+ *
10
+ * Implements a singleton pattern to ensure only one set of customer SDK Stats metrics
11
+ * is exported every 15 minutes, regardless of the number of exporters or senders.
12
+ */
13
+ export declare class CustomerSDKStatsMetrics extends StatsbeatMetrics {
14
+ private static _instance;
15
+ private statsCollectionInterval;
16
+ private customerSDKStatsMeter;
17
+ private customerSDKStatsMeterProvider;
18
+ private customerSDKStatsExporter;
19
+ private customerSDKStatsCounter;
20
+ private customerSDKStatsMetricReader;
21
+ private isInitialized;
22
+ private language;
23
+ private version;
24
+ private attach;
25
+ private itemSuccessCountGauge;
26
+ private itemDropCountGauge;
27
+ private itemRetryCountGauge;
28
+ private customerProperties;
29
+ private constructor();
30
+ /**
31
+ * Get singleton instance of CustomerSDKStatsMetrics
32
+ * @param options - Configuration options for customer SDK Stats metrics
33
+ * @returns The singleton instance
34
+ */
35
+ static getInstance(options: StatsbeatOptions): CustomerSDKStatsMetrics;
36
+ /**
37
+ * Shutdown the singleton instance
38
+ * Used for cleanup and complete shutdown
39
+ */
40
+ static shutdown(): Promise<void> | undefined;
41
+ /**
42
+ * Shuts down the customer SDK Stats metrics provider
43
+ * @returns Promise<void>
44
+ */
45
+ shutdown(): Promise<void>;
46
+ /**
47
+ * Initializes the customer SDK Stats metrics
48
+ * Sets up the resource provider and adds observable callbacks for each metric
49
+ * @returns Promise<void>
50
+ */
51
+ private initialize;
52
+ private itemSuccessCallback;
53
+ private itemDropCallback;
54
+ private itemRetryCallback;
55
+ /**
56
+ * Tracks succcessful items
57
+ * @param envelopes - Number of successful envelopes
58
+ * @param telemetry_type - The type of telemetry being tracked
59
+ */
60
+ countSuccessfulItems(envelopes: Envelope[]): void;
61
+ /**
62
+ * Tracks dropped items
63
+ * @param envelopes - Array of envelopes dropped
64
+ * @param dropCode - The drop code indicating the reason for drop
65
+ * @param exceptionMessage - Optional exception message when dropCode is CLIENT_EXCEPTION
66
+ * @param exceptionType - Optional explicit exception type override when dropCode is CLIENT_EXCEPTION
67
+ */
68
+ countDroppedItems(envelopes: Envelope[], dropCode: DropCode | number, exceptionMessage?: string, exceptionType?: ExceptionType): void;
69
+ /**
70
+ * Generates a low-cardinality, informative description for drop reasons
71
+ * @param dropCode - The drop code (enum value or status code number)
72
+ * @param exceptionMessage - Optional exception message for CLIENT_EXCEPTION
73
+ * @param exceptionType - Optional explicit exception type override for CLIENT_EXCEPTION
74
+ * @returns A descriptive reason string with low cardinality
75
+ */
76
+ private getDropReason;
77
+ /**
78
+ * Categorizes exception messages into well-known exception categories
79
+ * @param exceptionMessage - The exception message to categorize
80
+ * @returns A well-known exception category string
81
+ */
82
+ private categorizeExceptionMessage;
83
+ /**
84
+ * Categorizes HTTP status codes into informative descriptions
85
+ * @param statusCode - The HTTP status code
86
+ * @returns A descriptive category string
87
+ */
88
+ private categorizeStatusCode;
89
+ /**
90
+ * Tracks retried envelopes
91
+ * @param envelopes - Number of envelopes retried
92
+ * @param retryCode - The retry code indicating the reason for retry
93
+ * @param exceptionMessage - Optional exception message when retryCode is CLIENT_EXCEPTION
94
+ * @param exceptionType - Optional explicit exception type override when retryCode is CLIENT_EXCEPTION
95
+ */
96
+ countRetryItems(envelopes: Envelope[], retryCode: RetryCode | number, exceptionMessage?: string, exceptionType?: ExceptionType): void;
97
+ /**
98
+ * Generates a low-cardinality, informative description for retry reasons
99
+ * @param retryCode - The retry code (enum value or status code number)
100
+ * @param exceptionMessage - Optional exception message for CLIENT_EXCEPTION
101
+ * @param exceptionType - Optional explicit exception type override for CLIENT_EXCEPTION
102
+ * @returns A descriptive reason string with low cardinality
103
+ */
104
+ private getRetryReason;
105
+ /**
106
+ * Check if a metric name corresponds to a performance counter
107
+ * @param metricName - The name of the metric to check
108
+ * @returns true if the metric name is a performance counter, false otherwise
109
+ */
110
+ private isPerformanceCounterMetric;
111
+ /**
112
+ * Extract telemetry type from an envelope based on its baseType
113
+ * @param envelope - The envelope to extract telemetry type from
114
+ * @returns The corresponding telemetry type
115
+ */
116
+ getTelemetryTypeFromEnvelope(envelope: Envelope): TelemetryType;
117
+ /**
118
+ * Extract telemetry success value from an envelope for REQUEST and DEPENDENCY telemetry types
119
+ * @param envelope - The envelope to extract success value from
120
+ * @returns The success value if available, undefined otherwise
121
+ */
122
+ getTelemetrySuccessFromEnvelope(envelope: Envelope): boolean | undefined;
123
+ /**
124
+ * Checks if the given error is a timeout-related error
125
+ * @param error - The error to check
126
+ * @returns true if the error is timeout-related, false otherwise
127
+ */
128
+ isTimeoutError(error: {
129
+ code?: string;
130
+ message?: string;
131
+ }): boolean;
132
+ }
133
+ //# sourceMappingURL=customerSDKStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customerSDKStats.d.ts","sourceRoot":"","sources":["../../../../src/export/statsbeat/customerSDKStats.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAA8B,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAEL,QAAQ,EACR,SAAS,EACT,aAAa,EAGd,MAAM,YAAY,CAAC;AACpB,OAAO,EAA6C,aAAa,EAAE,MAAM,YAAY,CAAC;AAKtF,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE1E;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,MAAM,CAAC,SAAS,CAAsC;IAE9D,OAAO,CAAC,uBAAuB,CAAkB;IACjD,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,6BAA6B,CAAgB;IACrD,OAAO,CAAC,wBAAwB,CAAgC;IAChE,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,4BAA4B,CAAgC;IACpE,OAAO,CAAC,aAAa,CAAkB;IAGvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAA2B;IAGzC,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,mBAAmB,CAAkB;IAG7C,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,OAAO;IAmDP;;;;OAIG;WACW,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,uBAAuB;IAO7E;;;OAGG;WACW,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS;IASnD;;;OAGG;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;OAIG;YACW,UAAU;IAkBxB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,gBAAgB;IAiDxB,OAAO,CAAC,iBAAiB;IAuCzB;;;;OAIG;IACI,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;IAYxD;;;;;;OAMG;IACI,iBAAiB,CACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI;IA4CP;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAoCrB;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IA2BlC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAuC5B;;;;;;OAMG;IACI,eAAe,CACpB,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,SAAS,GAAG,MAAM,EAC7B,gBAAgB,CAAC,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI;IA6BP;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAgCtB;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAMlC;;;;OAIG;IACI,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa;IAqCtE;;;;OAIG;IACI,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS;IAiB/E;;;;OAIG;IACI,cAAc,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;CAsB3E"}