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

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 (180) hide show
  1. package/dist/commonjs/Declarations/Constants.d.ts +5 -0
  2. package/dist/commonjs/Declarations/Constants.d.ts.map +1 -1
  3. package/dist/commonjs/Declarations/Constants.js +6 -1
  4. package/dist/commonjs/Declarations/Constants.js.map +1 -1
  5. package/dist/commonjs/export/base.js +25 -14
  6. package/dist/commonjs/export/base.js.map +1 -1
  7. package/dist/commonjs/export/log.js +5 -4
  8. package/dist/commonjs/export/log.js.map +1 -1
  9. package/dist/commonjs/export/metric.js +5 -4
  10. package/dist/commonjs/export/metric.js.map +1 -1
  11. package/dist/commonjs/export/statsbeat/customerStatsbeat.d.ts +125 -0
  12. package/dist/commonjs/export/statsbeat/customerStatsbeat.d.ts.map +1 -0
  13. package/dist/commonjs/export/statsbeat/customerStatsbeat.js +480 -0
  14. package/dist/commonjs/export/statsbeat/customerStatsbeat.js.map +1 -0
  15. package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.js +35 -11
  16. package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -1
  17. package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.js +52 -21
  18. package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.js.map +1 -1
  19. package/dist/commonjs/export/statsbeat/statsbeatExporter.d.ts +7 -0
  20. package/dist/commonjs/export/statsbeat/statsbeatExporter.d.ts.map +1 -1
  21. package/dist/commonjs/export/statsbeat/statsbeatExporter.js +25 -5
  22. package/dist/commonjs/export/statsbeat/statsbeatExporter.js.map +1 -1
  23. package/dist/commonjs/export/statsbeat/statsbeatMetrics.js +6 -8
  24. package/dist/commonjs/export/statsbeat/statsbeatMetrics.js.map +1 -1
  25. package/dist/commonjs/export/statsbeat/types.d.ts +52 -0
  26. package/dist/commonjs/export/statsbeat/types.d.ts.map +1 -1
  27. package/dist/commonjs/export/statsbeat/types.js +75 -1
  28. package/dist/commonjs/export/statsbeat/types.js.map +1 -1
  29. package/dist/commonjs/export/trace.js +6 -5
  30. package/dist/commonjs/export/trace.js.map +1 -1
  31. package/dist/commonjs/generated/applicationInsightsClient.js +9 -4
  32. package/dist/commonjs/generated/applicationInsightsClient.js.map +1 -1
  33. package/dist/commonjs/generated/models/mappers.js +145 -68
  34. package/dist/commonjs/generated/models/mappers.js.map +1 -1
  35. package/dist/commonjs/index.d.ts +2 -1
  36. package/dist/commonjs/index.d.ts.map +1 -1
  37. package/dist/commonjs/index.js +5 -3
  38. package/dist/commonjs/index.js.map +1 -1
  39. package/dist/commonjs/platform/nodejs/baseSender.d.ts +1 -0
  40. package/dist/commonjs/platform/nodejs/baseSender.d.ts.map +1 -1
  41. package/dist/commonjs/platform/nodejs/baseSender.js +74 -28
  42. package/dist/commonjs/platform/nodejs/baseSender.js.map +1 -1
  43. package/dist/commonjs/platform/nodejs/context/context.d.ts +0 -1
  44. package/dist/commonjs/platform/nodejs/context/context.d.ts.map +1 -1
  45. package/dist/commonjs/platform/nodejs/context/context.js +4 -8
  46. package/dist/commonjs/platform/nodejs/context/context.js.map +1 -1
  47. package/dist/commonjs/platform/nodejs/httpSender.js +11 -4
  48. package/dist/commonjs/platform/nodejs/httpSender.js.map +1 -1
  49. package/dist/commonjs/platform/nodejs/index.d.ts +1 -0
  50. package/dist/commonjs/platform/nodejs/index.d.ts.map +1 -1
  51. package/dist/commonjs/platform/nodejs/index.js +1 -0
  52. package/dist/commonjs/platform/nodejs/index.js.map +1 -1
  53. package/dist/commonjs/platform/nodejs/persist/fileAccessControl.js +7 -7
  54. package/dist/commonjs/platform/nodejs/persist/fileAccessControl.js.map +1 -1
  55. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts +9 -1
  56. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -1
  57. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js +37 -16
  58. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
  59. package/dist/commonjs/{sampling.d.ts → sampling/percentageSampler.d.ts} +2 -3
  60. package/dist/commonjs/sampling/percentageSampler.d.ts.map +1 -0
  61. package/dist/commonjs/{sampling.js → sampling/percentageSampler.js} +6 -39
  62. package/dist/commonjs/sampling/percentageSampler.js.map +1 -0
  63. package/dist/commonjs/sampling/rateLimitedSampler.d.ts +58 -0
  64. package/dist/commonjs/sampling/rateLimitedSampler.d.ts.map +1 -0
  65. package/dist/commonjs/sampling/rateLimitedSampler.js +118 -0
  66. package/dist/commonjs/sampling/rateLimitedSampler.js.map +1 -0
  67. package/dist/commonjs/sampling/samplingUtils.d.ts +17 -0
  68. package/dist/commonjs/sampling/samplingUtils.d.ts.map +1 -0
  69. package/dist/commonjs/sampling/samplingUtils.js +94 -0
  70. package/dist/commonjs/sampling/samplingUtils.js.map +1 -0
  71. package/dist/commonjs/tsdoc-metadata.json +11 -11
  72. package/dist/commonjs/utils/common.js +2 -3
  73. package/dist/commonjs/utils/common.js.map +1 -1
  74. package/dist/commonjs/utils/connectionStringParser.js +3 -3
  75. package/dist/commonjs/utils/connectionStringParser.js.map +1 -1
  76. package/dist/commonjs/utils/constants/applicationinsights.d.ts +1 -1
  77. package/dist/commonjs/utils/constants/applicationinsights.js +1 -1
  78. package/dist/commonjs/utils/constants/applicationinsights.js.map +1 -1
  79. package/dist/commonjs/utils/eventhub.js +5 -2
  80. package/dist/commonjs/utils/eventhub.js.map +1 -1
  81. package/dist/commonjs/utils/logUtils.js +10 -9
  82. package/dist/commonjs/utils/logUtils.js.map +1 -1
  83. package/dist/commonjs/utils/metricUtils.d.ts.map +1 -1
  84. package/dist/commonjs/utils/metricUtils.js +6 -6
  85. package/dist/commonjs/utils/metricUtils.js.map +1 -1
  86. package/dist/commonjs/utils/spanUtils.d.ts.map +1 -1
  87. package/dist/commonjs/utils/spanUtils.js +13 -11
  88. package/dist/commonjs/utils/spanUtils.js.map +1 -1
  89. package/dist/esm/Declarations/Constants.d.ts +5 -0
  90. package/dist/esm/Declarations/Constants.d.ts.map +1 -1
  91. package/dist/esm/Declarations/Constants.js +5 -0
  92. package/dist/esm/Declarations/Constants.js.map +1 -1
  93. package/dist/esm/export/base.js +25 -14
  94. package/dist/esm/export/base.js.map +1 -1
  95. package/dist/esm/export/log.js +5 -4
  96. package/dist/esm/export/log.js.map +1 -1
  97. package/dist/esm/export/metric.js +5 -4
  98. package/dist/esm/export/metric.js.map +1 -1
  99. package/dist/esm/export/statsbeat/customerStatsbeat.d.ts +125 -0
  100. package/dist/esm/export/statsbeat/customerStatsbeat.d.ts.map +1 -0
  101. package/dist/esm/export/statsbeat/customerStatsbeat.js +475 -0
  102. package/dist/esm/export/statsbeat/customerStatsbeat.js.map +1 -0
  103. package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.js +35 -11
  104. package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -1
  105. package/dist/esm/export/statsbeat/networkStatsbeatMetrics.js +52 -21
  106. package/dist/esm/export/statsbeat/networkStatsbeatMetrics.js.map +1 -1
  107. package/dist/esm/export/statsbeat/statsbeatExporter.d.ts +7 -0
  108. package/dist/esm/export/statsbeat/statsbeatExporter.d.ts.map +1 -1
  109. package/dist/esm/export/statsbeat/statsbeatExporter.js +25 -5
  110. package/dist/esm/export/statsbeat/statsbeatExporter.js.map +1 -1
  111. package/dist/esm/export/statsbeat/statsbeatMetrics.js +6 -8
  112. package/dist/esm/export/statsbeat/statsbeatMetrics.js.map +1 -1
  113. package/dist/esm/export/statsbeat/types.d.ts +52 -0
  114. package/dist/esm/export/statsbeat/types.d.ts.map +1 -1
  115. package/dist/esm/export/statsbeat/types.js +73 -0
  116. package/dist/esm/export/statsbeat/types.js.map +1 -1
  117. package/dist/esm/export/trace.js +6 -5
  118. package/dist/esm/export/trace.js.map +1 -1
  119. package/dist/esm/generated/applicationInsightsClient.js +9 -4
  120. package/dist/esm/generated/applicationInsightsClient.js.map +1 -1
  121. package/dist/esm/generated/models/mappers.js +145 -68
  122. package/dist/esm/generated/models/mappers.js.map +1 -1
  123. package/dist/esm/index.d.ts +2 -1
  124. package/dist/esm/index.d.ts.map +1 -1
  125. package/dist/esm/index.js +2 -1
  126. package/dist/esm/index.js.map +1 -1
  127. package/dist/esm/platform/nodejs/baseSender.d.ts +1 -0
  128. package/dist/esm/platform/nodejs/baseSender.d.ts.map +1 -1
  129. package/dist/esm/platform/nodejs/baseSender.js +76 -30
  130. package/dist/esm/platform/nodejs/baseSender.js.map +1 -1
  131. package/dist/esm/platform/nodejs/context/context.d.ts +0 -1
  132. package/dist/esm/platform/nodejs/context/context.d.ts.map +1 -1
  133. package/dist/esm/platform/nodejs/context/context.js +4 -8
  134. package/dist/esm/platform/nodejs/context/context.js.map +1 -1
  135. package/dist/esm/platform/nodejs/httpSender.js +11 -4
  136. package/dist/esm/platform/nodejs/httpSender.js.map +1 -1
  137. package/dist/esm/platform/nodejs/index.d.ts +1 -0
  138. package/dist/esm/platform/nodejs/index.d.ts.map +1 -1
  139. package/dist/esm/platform/nodejs/index.js +1 -0
  140. package/dist/esm/platform/nodejs/index.js.map +1 -1
  141. package/dist/esm/platform/nodejs/persist/fileAccessControl.js +7 -7
  142. package/dist/esm/platform/nodejs/persist/fileAccessControl.js.map +1 -1
  143. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts +9 -1
  144. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -1
  145. package/dist/esm/platform/nodejs/persist/fileSystemPersist.js +37 -16
  146. package/dist/esm/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
  147. package/dist/esm/{sampling.d.ts → sampling/percentageSampler.d.ts} +2 -3
  148. package/dist/esm/sampling/percentageSampler.d.ts.map +1 -0
  149. package/dist/esm/{sampling.js → sampling/percentageSampler.js} +6 -39
  150. package/dist/esm/sampling/percentageSampler.js.map +1 -0
  151. package/dist/esm/sampling/rateLimitedSampler.d.ts +58 -0
  152. package/dist/esm/sampling/rateLimitedSampler.d.ts.map +1 -0
  153. package/dist/esm/sampling/rateLimitedSampler.js +114 -0
  154. package/dist/esm/sampling/rateLimitedSampler.js.map +1 -0
  155. package/dist/esm/sampling/samplingUtils.d.ts +17 -0
  156. package/dist/esm/sampling/samplingUtils.d.ts.map +1 -0
  157. package/dist/esm/sampling/samplingUtils.js +89 -0
  158. package/dist/esm/sampling/samplingUtils.js.map +1 -0
  159. package/dist/esm/utils/common.js +2 -3
  160. package/dist/esm/utils/common.js.map +1 -1
  161. package/dist/esm/utils/connectionStringParser.js +3 -3
  162. package/dist/esm/utils/connectionStringParser.js.map +1 -1
  163. package/dist/esm/utils/constants/applicationinsights.d.ts +1 -1
  164. package/dist/esm/utils/constants/applicationinsights.js +1 -1
  165. package/dist/esm/utils/constants/applicationinsights.js.map +1 -1
  166. package/dist/esm/utils/eventhub.js +5 -2
  167. package/dist/esm/utils/eventhub.js.map +1 -1
  168. package/dist/esm/utils/logUtils.js +10 -9
  169. package/dist/esm/utils/logUtils.js.map +1 -1
  170. package/dist/esm/utils/metricUtils.d.ts.map +1 -1
  171. package/dist/esm/utils/metricUtils.js +6 -6
  172. package/dist/esm/utils/metricUtils.js.map +1 -1
  173. package/dist/esm/utils/spanUtils.d.ts.map +1 -1
  174. package/dist/esm/utils/spanUtils.js +13 -11
  175. package/dist/esm/utils/spanUtils.js.map +1 -1
  176. package/package.json +6 -6
  177. package/dist/commonjs/sampling.d.ts.map +0 -1
  178. package/dist/commonjs/sampling.js.map +0 -1
  179. package/dist/esm/sampling.d.ts.map +0 -1
  180. package/dist/esm/sampling.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../src/generated/models/mappers.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const TelemetryItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryItem\",\n modelProperties: {\n version: {\n defaultValue: 1,\n serializedName: \"ver\",\n type: {\n name: \"Number\",\n },\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n time: {\n serializedName: \"time\",\n required: true,\n type: {\n name: \"DateTime\",\n },\n },\n sampleRate: {\n defaultValue: 100,\n serializedName: \"sampleRate\",\n type: {\n name: \"Number\",\n },\n },\n sequence: {\n constraints: {\n MaxLength: 64,\n },\n serializedName: \"seq\",\n type: {\n name: \"String\",\n },\n },\n instrumentationKey: {\n serializedName: \"iKey\",\n type: {\n name: \"String\",\n },\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } },\n },\n },\n data: {\n serializedName: \"data\",\n type: {\n name: \"Composite\",\n className: \"MonitorBase\",\n },\n },\n },\n },\n};\n\nexport const MonitorBase: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MonitorBase\",\n modelProperties: {\n baseType: {\n serializedName: \"baseType\",\n type: {\n name: \"String\",\n },\n },\n baseData: {\n serializedName: \"baseData\",\n type: {\n name: \"Composite\",\n className: \"MonitorDomain\",\n },\n },\n },\n },\n};\n\nexport const MonitorDomain: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MonitorDomain\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n version: {\n defaultValue: 2,\n serializedName: \"ver\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const TrackResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TrackResponse\",\n modelProperties: {\n itemsReceived: {\n serializedName: \"itemsReceived\",\n type: {\n name: \"Number\",\n },\n },\n itemsAccepted: {\n serializedName: \"itemsAccepted\",\n type: {\n name: \"Number\",\n },\n },\n errors: {\n serializedName: \"errors\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TelemetryErrorDetails\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const TelemetryErrorDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryErrorDetails\",\n modelProperties: {\n index: {\n serializedName: \"index\",\n type: {\n name: \"Number\",\n },\n },\n statusCode: {\n serializedName: \"statusCode\",\n type: {\n name: \"Number\",\n },\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const MetricDataPoint: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MetricDataPoint\",\n modelProperties: {\n namespace: {\n constraints: {\n MaxLength: 256,\n },\n serializedName: \"ns\",\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n dataPointType: {\n serializedName: \"kind\",\n type: {\n name: \"String\",\n },\n },\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n count: {\n serializedName: \"count\",\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n min: {\n serializedName: \"min\",\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n max: {\n serializedName: \"max\",\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n stdDev: {\n serializedName: \"stdDev\",\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const TelemetryExceptionDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryExceptionDetails\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Number\",\n },\n },\n outerId: {\n serializedName: \"outerId\",\n type: {\n name: \"Number\",\n },\n },\n typeName: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"typeName\",\n type: {\n name: \"String\",\n },\n },\n message: {\n constraints: {\n MaxLength: 32768,\n },\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n hasFullStack: {\n defaultValue: true,\n serializedName: \"hasFullStack\",\n type: {\n name: \"Boolean\",\n },\n },\n stack: {\n constraints: {\n MaxLength: 32768,\n },\n serializedName: \"stack\",\n type: {\n name: \"String\",\n },\n },\n parsedStack: {\n serializedName: \"parsedStack\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"StackFrame\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const StackFrame: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StackFrame\",\n modelProperties: {\n level: {\n serializedName: \"level\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n method: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"method\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n assembly: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"assembly\",\n type: {\n name: \"String\",\n },\n },\n fileName: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"fileName\",\n type: {\n name: \"String\",\n },\n },\n line: {\n serializedName: \"line\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const AvailabilityData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AvailabilityData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n success: {\n serializedName: \"success\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n runLocation: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"runLocation\",\n type: {\n name: \"String\",\n },\n },\n message: {\n constraints: {\n MaxLength: 8192,\n },\n serializedName: \"message\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const TelemetryEventData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryEventData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n name: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const TelemetryExceptionData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryExceptionData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n exceptions: {\n serializedName: \"exceptions\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TelemetryExceptionDetails\",\n },\n },\n },\n },\n severityLevel: {\n serializedName: \"severityLevel\",\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n problemId: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"problemId\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const MessageData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MessageData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n message: {\n constraints: {\n MaxLength: 32768,\n },\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n severityLevel: {\n serializedName: \"severityLevel\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const MetricsData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MetricsData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n metrics: {\n serializedName: \"metrics\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"MetricDataPoint\",\n },\n },\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n },\n },\n};\n\nexport const PageViewData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PageViewData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n url: {\n constraints: {\n MaxLength: 2048,\n },\n serializedName: \"url\",\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n type: {\n name: \"String\",\n },\n },\n referredUri: {\n constraints: {\n MaxLength: 2048,\n },\n serializedName: \"referredUri\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const PageViewPerfData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PageViewPerfData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n url: {\n constraints: {\n MaxLength: 2048,\n },\n serializedName: \"url\",\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n type: {\n name: \"String\",\n },\n },\n perfTotal: {\n serializedName: \"perfTotal\",\n type: {\n name: \"String\",\n },\n },\n networkConnect: {\n serializedName: \"networkConnect\",\n type: {\n name: \"String\",\n },\n },\n sentRequest: {\n serializedName: \"sentRequest\",\n type: {\n name: \"String\",\n },\n },\n receivedResponse: {\n serializedName: \"receivedResponse\",\n type: {\n name: \"String\",\n },\n },\n domProcessing: {\n serializedName: \"domProcessing\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const RemoteDependencyData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RemoteDependencyData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n resultCode: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"resultCode\",\n type: {\n name: \"String\",\n },\n },\n data: {\n constraints: {\n MaxLength: 8192,\n },\n serializedName: \"data\",\n type: {\n name: \"String\",\n },\n },\n type: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"type\",\n type: {\n name: \"String\",\n },\n },\n target: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"target\",\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n success: {\n defaultValue: true,\n serializedName: \"success\",\n type: {\n name: \"Boolean\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const RequestData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RequestData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n success: {\n defaultValue: true,\n serializedName: \"success\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n responseCode: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"responseCode\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n source: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"source\",\n type: {\n name: \"String\",\n },\n },\n url: {\n constraints: {\n MaxLength: 2048,\n },\n serializedName: \"url\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n"]}
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../src/generated/models/mappers.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const TelemetryItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryItem\",\n modelProperties: {\n version: {\n defaultValue: 1,\n serializedName: \"ver\",\n type: {\n name: \"Number\",\n },\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n time: {\n serializedName: \"time\",\n required: true,\n type: {\n name: \"DateTime\",\n },\n },\n sampleRate: {\n defaultValue: 100,\n serializedName: \"sampleRate\",\n type: {\n name: \"Number\",\n },\n },\n sequence: {\n constraints: {\n MaxLength: 64,\n },\n serializedName: \"seq\",\n type: {\n name: \"String\",\n },\n },\n instrumentationKey: {\n serializedName: \"iKey\",\n type: {\n name: \"String\",\n },\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } },\n },\n },\n data: {\n serializedName: \"data\",\n type: {\n name: \"Composite\",\n className: \"MonitorBase\",\n },\n },\n },\n },\n};\n\nexport const MonitorBase: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MonitorBase\",\n modelProperties: {\n baseType: {\n serializedName: \"baseType\",\n type: {\n name: \"String\",\n },\n },\n baseData: {\n serializedName: \"baseData\",\n type: {\n name: \"Composite\",\n className: \"MonitorDomain\",\n },\n },\n },\n },\n};\n\nexport const MonitorDomain: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MonitorDomain\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n version: {\n defaultValue: 2,\n serializedName: \"ver\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const TrackResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TrackResponse\",\n modelProperties: {\n itemsReceived: {\n serializedName: \"itemsReceived\",\n type: {\n name: \"Number\",\n },\n },\n itemsAccepted: {\n serializedName: \"itemsAccepted\",\n type: {\n name: \"Number\",\n },\n },\n errors: {\n serializedName: \"errors\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TelemetryErrorDetails\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const TelemetryErrorDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryErrorDetails\",\n modelProperties: {\n index: {\n serializedName: \"index\",\n type: {\n name: \"Number\",\n },\n },\n statusCode: {\n serializedName: \"statusCode\",\n type: {\n name: \"Number\",\n },\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const MetricDataPoint: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MetricDataPoint\",\n modelProperties: {\n namespace: {\n constraints: {\n MaxLength: 256,\n },\n serializedName: \"ns\",\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n dataPointType: {\n serializedName: \"kind\",\n type: {\n name: \"String\",\n },\n },\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n count: {\n serializedName: \"count\",\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n min: {\n serializedName: \"min\",\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n max: {\n serializedName: \"max\",\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n stdDev: {\n serializedName: \"stdDev\",\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const TelemetryExceptionDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryExceptionDetails\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Number\",\n },\n },\n outerId: {\n serializedName: \"outerId\",\n type: {\n name: \"Number\",\n },\n },\n typeName: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"typeName\",\n type: {\n name: \"String\",\n },\n },\n message: {\n constraints: {\n MaxLength: 32768,\n },\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n hasFullStack: {\n defaultValue: true,\n serializedName: \"hasFullStack\",\n type: {\n name: \"Boolean\",\n },\n },\n stack: {\n constraints: {\n MaxLength: 32768,\n },\n serializedName: \"stack\",\n type: {\n name: \"String\",\n },\n },\n parsedStack: {\n serializedName: \"parsedStack\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"StackFrame\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const StackFrame: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StackFrame\",\n modelProperties: {\n level: {\n serializedName: \"level\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n method: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"method\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n assembly: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"assembly\",\n type: {\n name: \"String\",\n },\n },\n fileName: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"fileName\",\n type: {\n name: \"String\",\n },\n },\n line: {\n serializedName: \"line\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const AvailabilityData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AvailabilityData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n success: {\n serializedName: \"success\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n runLocation: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"runLocation\",\n type: {\n name: \"String\",\n },\n },\n message: {\n constraints: {\n MaxLength: 8192,\n },\n serializedName: \"message\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const TelemetryEventData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryEventData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n name: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const TelemetryExceptionData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TelemetryExceptionData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n exceptions: {\n serializedName: \"exceptions\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TelemetryExceptionDetails\",\n },\n },\n },\n },\n severityLevel: {\n serializedName: \"severityLevel\",\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n problemId: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"problemId\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const MessageData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MessageData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n message: {\n constraints: {\n MaxLength: 32768,\n },\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n severityLevel: {\n serializedName: \"severityLevel\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const MetricsData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MetricsData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n metrics: {\n serializedName: \"metrics\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"MetricDataPoint\",\n },\n },\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n },\n },\n};\n\nexport const PageViewData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PageViewData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n url: {\n constraints: {\n MaxLength: 2048,\n },\n serializedName: \"url\",\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n type: {\n name: \"String\",\n },\n },\n referredUri: {\n constraints: {\n MaxLength: 2048,\n },\n serializedName: \"referredUri\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const PageViewPerfData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PageViewPerfData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n url: {\n constraints: {\n MaxLength: 2048,\n },\n serializedName: \"url\",\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n type: {\n name: \"String\",\n },\n },\n perfTotal: {\n serializedName: \"perfTotal\",\n type: {\n name: \"String\",\n },\n },\n networkConnect: {\n serializedName: \"networkConnect\",\n type: {\n name: \"String\",\n },\n },\n sentRequest: {\n serializedName: \"sentRequest\",\n type: {\n name: \"String\",\n },\n },\n receivedResponse: {\n serializedName: \"receivedResponse\",\n type: {\n name: \"String\",\n },\n },\n domProcessing: {\n serializedName: \"domProcessing\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const RemoteDependencyData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RemoteDependencyData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n resultCode: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"resultCode\",\n type: {\n name: \"String\",\n },\n },\n data: {\n constraints: {\n MaxLength: 8192,\n },\n serializedName: \"data\",\n type: {\n name: \"String\",\n },\n },\n type: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"type\",\n type: {\n name: \"String\",\n },\n },\n target: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"target\",\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n success: {\n defaultValue: true,\n serializedName: \"success\",\n type: {\n name: \"Boolean\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n\nexport const RequestData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RequestData\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n ...MonitorDomain.type.modelProperties,\n id: {\n constraints: {\n MaxLength: 512,\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"name\",\n type: {\n name: \"String\",\n },\n },\n duration: {\n serializedName: \"duration\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n success: {\n defaultValue: true,\n serializedName: \"success\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n responseCode: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"responseCode\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n source: {\n constraints: {\n MaxLength: 1024,\n },\n serializedName: \"source\",\n type: {\n name: \"String\",\n },\n },\n url: {\n constraints: {\n MaxLength: 2048,\n },\n serializedName: \"url\",\n type: {\n name: \"String\",\n },\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" }, constraints: { MaxLength: 8192 } },\n },\n },\n measurements: {\n serializedName: \"measurements\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } },\n },\n },\n },\n },\n};\n"]}
@@ -1,4 +1,5 @@
1
- export { ApplicationInsightsSampler } from "./sampling.js";
1
+ export { ApplicationInsightsSampler } from "./sampling/percentageSampler.js";
2
+ export { RateLimitedSampler } from "./sampling/rateLimitedSampler.js";
2
3
  export { AzureMonitorBaseExporter } from "./export/base.js";
3
4
  export { AzureMonitorTraceExporter } from "./export/trace.js";
4
5
  export { AzureMonitorMetricExporter } from "./export/metric.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,uCAAuC,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,uCAAuC,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- export { ApplicationInsightsSampler } from "./sampling.js";
3
+ export { ApplicationInsightsSampler } from "./sampling/percentageSampler.js";
4
+ export { RateLimitedSampler } from "./sampling/rateLimitedSampler.js";
4
5
  export { AzureMonitorBaseExporter } from "./export/base.js";
5
6
  export { AzureMonitorTraceExporter } from "./export/trace.js";
6
7
  export { AzureMonitorMetricExporter } from "./export/metric.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { ApplicationInsightsSampler } from \"./sampling.js\";\nexport { AzureMonitorBaseExporter } from \"./export/base.js\";\nexport { AzureMonitorTraceExporter } from \"./export/trace.js\";\nexport { AzureMonitorMetricExporter } from \"./export/metric.js\";\nexport { AzureMonitorLogExporter } from \"./export/log.js\";\nexport { AzureMonitorExporterOptions } from \"./config.js\";\nexport { ServiceApiVersion } from \"./Declarations/Constants.js\";\nexport { ApplicationInsightsClientOptionalParams } from \"./generated/models/index.js\";\nexport { AI_OPERATION_NAME } from \"./Declarations/Constants.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { ApplicationInsightsSampler } from \"./sampling/percentageSampler.js\";\nexport { RateLimitedSampler } from \"./sampling/rateLimitedSampler.js\";\nexport { AzureMonitorBaseExporter } from \"./export/base.js\";\nexport { AzureMonitorTraceExporter } from \"./export/trace.js\";\nexport { AzureMonitorMetricExporter } from \"./export/metric.js\";\nexport { AzureMonitorLogExporter } from \"./export/log.js\";\nexport { AzureMonitorExporterOptions } from \"./config.js\";\nexport { ServiceApiVersion } from \"./Declarations/Constants.js\";\nexport { ApplicationInsightsClientOptionalParams } from \"./generated/models/index.js\";\nexport { AI_OPERATION_NAME } from \"./Declarations/Constants.js\";\n"]}
@@ -11,6 +11,7 @@ export declare abstract class BaseSender {
11
11
  private numConsecutiveRedirects;
12
12
  private retryTimer;
13
13
  private networkStatsbeatMetrics;
14
+ private customerStatsbeatMetrics;
14
15
  private longIntervalStatsbeatMetrics;
15
16
  private statsbeatFailureCount;
16
17
  private batchSendRetryIntervalMs;
@@ -1 +1 @@
1
- {"version":3,"file":"baseSender.d.ts","sourceRoot":"","sources":["../../../../src/platform/nodejs/baseSender.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQxD,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAK1E;;;GAGG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,uBAAuB,CAAsC;IACrE,OAAO,CAAC,4BAA4B,CAAC;IACrC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,wBAAwB,CAAgD;IAChF,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,qBAAqB,CAAU;gBAE3B,OAAO,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,2BAA2B,CAAC;QAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B;IAoBD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IACxD,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAEpE;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAoK1E;;OAEG;YACW,OAAO;IAiBrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAOjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;YAQX,sBAAsB;IAcpC,OAAO,CAAC,oBAAoB;CAO7B"}
1
+ {"version":3,"file":"baseSender.d.ts","sourceRoot":"","sources":["../../../../src/platform/nodejs/baseSender.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAaxD,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAS1E;;;GAGG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,uBAAuB,CAAsC;IACrE,OAAO,CAAC,wBAAwB,CAAuC;IACvE,OAAO,CAAC,4BAA4B,CAAC;IACrC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,wBAAwB,CAAgD;IAChF,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,qBAAqB,CAAU;gBAE3B,OAAO,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,2BAA2B,CAAC;QAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B;IA+BD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IACxD,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAEpE;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IA4M1E;;OAEG;YACW,OAAO;IAuBrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAOjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;YAaX,sBAAsB;IAcpC,OAAO,CAAC,oBAAoB;CAO7B"}
@@ -5,21 +5,29 @@ import { FileSystemPersist } from "./persist/index.js";
5
5
  import { ExportResultCode } from "@opentelemetry/core";
6
6
  import { NetworkStatsbeatMetrics } from "../../export/statsbeat/networkStatsbeatMetrics.js";
7
7
  import { LongIntervalStatsbeatMetrics } from "../../export/statsbeat/longIntervalStatsbeatMetrics.js";
8
- import { MAX_STATSBEAT_FAILURES, isStatsbeatShutdownStatus } from "../../export/statsbeat/types.js";
8
+ import { DropCode, RetryCode, MAX_STATSBEAT_FAILURES, isStatsbeatShutdownStatus, } from "../../export/statsbeat/types.js";
9
9
  import { isRetriable } from "../../utils/breezeUtils.js";
10
- import { RetriableRestErrorTypes } from "../../Declarations/Constants.js";
11
- const DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS = 60000;
10
+ import { ENV_APPLICATIONINSIGHTS_STATSBEAT_ENABLED_PREVIEW, RetriableRestErrorTypes, } from "../../Declarations/Constants.js";
11
+ import { CustomerStatsbeatMetrics } from "../../export/statsbeat/customerStatsbeat.js";
12
+ const DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS = 60_000;
12
13
  /**
13
14
  * Base sender class
14
15
  * @internal
15
16
  */
16
17
  export class BaseSender {
18
+ persister;
19
+ numConsecutiveRedirects;
20
+ retryTimer;
21
+ networkStatsbeatMetrics;
22
+ customerStatsbeatMetrics;
23
+ longIntervalStatsbeatMetrics;
24
+ statsbeatFailureCount = 0;
25
+ batchSendRetryIntervalMs = DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS;
26
+ isStatsbeatSender;
27
+ disableOfflineStorage;
17
28
  constructor(options) {
18
- this.statsbeatFailureCount = 0;
19
- this.batchSendRetryIntervalMs = DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS;
20
29
  this.numConsecutiveRedirects = 0;
21
30
  this.disableOfflineStorage = options.exporterOptions.disableOfflineStorage || false;
22
- this.persister = new FileSystemPersist(options.instrumentationKey, options.exporterOptions);
23
31
  if (options.trackStatsbeat) {
24
32
  this.networkStatsbeatMetrics = NetworkStatsbeatMetrics.getInstance({
25
33
  instrumentationKey: options.instrumentationKey,
@@ -31,7 +39,15 @@ export class BaseSender {
31
39
  endpointUrl: options.endpointUrl,
32
40
  disableOfflineStorage: this.disableOfflineStorage,
33
41
  });
42
+ if (process.env[ENV_APPLICATIONINSIGHTS_STATSBEAT_ENABLED_PREVIEW]) {
43
+ this.customerStatsbeatMetrics = CustomerStatsbeatMetrics.getInstance({
44
+ instrumentationKey: options.instrumentationKey,
45
+ endpointUrl: options.endpointUrl,
46
+ disableOfflineStorage: this.disableOfflineStorage,
47
+ });
48
+ }
34
49
  }
50
+ this.persister = new FileSystemPersist(options.instrumentationKey, options.exporterOptions, this.customerStatsbeatMetrics);
35
51
  this.retryTimer = null;
36
52
  this.isStatsbeatSender = options.isStatsbeatSender || false;
37
53
  }
@@ -39,7 +55,6 @@ export class BaseSender {
39
55
  * Export envelopes
40
56
  */
41
57
  async exportEnvelopes(envelopes) {
42
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
43
58
  diag.info(`Exporting ${envelopes.length} envelope(s)`);
44
59
  if (envelopes.length < 1) {
45
60
  return { code: ExportResultCode.SUCCESS };
@@ -61,7 +76,8 @@ export class BaseSender {
61
76
  }
62
77
  // If we are not exporting statsbeat and statsbeat is not disabled -- count success
63
78
  if (!this.isStatsbeatSender) {
64
- (_a = this.networkStatsbeatMetrics) === null || _a === void 0 ? void 0 : _a.countSuccess(duration);
79
+ this.networkStatsbeatMetrics?.countSuccess(duration);
80
+ this.customerStatsbeatMetrics?.countSuccessfulItems(envelopes);
65
81
  }
66
82
  return { code: ExportResultCode.SUCCESS };
67
83
  }
@@ -69,7 +85,8 @@ export class BaseSender {
69
85
  // Failed -- persist failed data
70
86
  if (statusCode === 429 || statusCode === 439) {
71
87
  if (!this.isStatsbeatSender) {
72
- (_b = this.networkStatsbeatMetrics) === null || _b === void 0 ? void 0 : _b.countThrottle(statusCode);
88
+ this.networkStatsbeatMetrics?.countThrottle(statusCode);
89
+ this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
73
90
  }
74
91
  return {
75
92
  code: ExportResultCode.SUCCESS,
@@ -79,28 +96,44 @@ export class BaseSender {
79
96
  diag.info(result);
80
97
  const breezeResponse = JSON.parse(result);
81
98
  const filteredEnvelopes = [];
99
+ // Create a list of successful envelopes by filtering out the failed ones for customer statsbeat
100
+ const successfulEnvelopes = [...envelopes];
82
101
  // If we have a partial success, count the succeeded envelopes
83
102
  if (breezeResponse.itemsAccepted > 0 && statusCode === 206 && !this.isStatsbeatSender) {
84
- (_c = this.networkStatsbeatMetrics) === null || _c === void 0 ? void 0 : _c.countSuccess(duration);
103
+ this.networkStatsbeatMetrics?.countSuccess(duration);
85
104
  }
86
105
  // Figure out if we need to either retry or count failures
87
106
  if (breezeResponse.errors) {
88
107
  breezeResponse.errors.forEach((error) => {
108
+ // Mark as undefined so we don't process them in countSuccessfulEnvelopes
109
+ successfulEnvelopes[error.index] = undefined;
110
+ // Add to retry list if status code is retriable
89
111
  if (error.statusCode && isRetriable(error.statusCode)) {
90
112
  filteredEnvelopes.push(envelopes[error.index]);
91
113
  }
92
114
  });
93
115
  }
116
+ // If we have a partial success, count the succeeded envelopes
117
+ if (breezeResponse.itemsAccepted > 0) {
118
+ // Count only the successful envelopes (non-undefined)
119
+ if (!this.isStatsbeatSender) {
120
+ this.networkStatsbeatMetrics?.countSuccess(duration);
121
+ this.customerStatsbeatMetrics?.countSuccessfulItems(envelopes);
122
+ }
123
+ }
94
124
  if (filteredEnvelopes.length > 0) {
95
125
  if (!this.isStatsbeatSender) {
96
- (_d = this.networkStatsbeatMetrics) === null || _d === void 0 ? void 0 : _d.countRetry(statusCode);
126
+ this.networkStatsbeatMetrics?.countRetry(statusCode);
127
+ this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
97
128
  }
98
129
  // calls resultCallback(ExportResult) based on result of persister.push
99
130
  return await this.persist(filteredEnvelopes);
100
131
  }
101
132
  // Failed -- not retriable
102
133
  if (!this.isStatsbeatSender) {
103
- (_e = this.networkStatsbeatMetrics) === null || _e === void 0 ? void 0 : _e.countFailure(duration, statusCode);
134
+ this.networkStatsbeatMetrics?.countFailure(duration, statusCode);
135
+ // Count dropped items for customer statsbeat for non-retriable status codes
136
+ this.customerStatsbeatMetrics?.countDroppedItems(successfulEnvelopes.filter(Boolean), statusCode);
104
137
  }
105
138
  return {
106
139
  code: ExportResultCode.FAILED,
@@ -109,7 +142,8 @@ export class BaseSender {
109
142
  else {
110
143
  // calls resultCallback(ExportResult) based on result of persister.push
111
144
  if (!this.isStatsbeatSender) {
112
- (_f = this.networkStatsbeatMetrics) === null || _f === void 0 ? void 0 : _f.countRetry(statusCode);
145
+ this.networkStatsbeatMetrics?.countRetry(statusCode);
146
+ this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
113
147
  }
114
148
  return await this.persist(envelopes);
115
149
  }
@@ -119,11 +153,13 @@ export class BaseSender {
119
153
  if (this.networkStatsbeatMetrics && !this.isStatsbeatSender) {
120
154
  if (statusCode) {
121
155
  this.networkStatsbeatMetrics.countFailure(duration, statusCode);
156
+ this.customerStatsbeatMetrics?.countDroppedItems(envelopes, statusCode);
122
157
  }
123
158
  }
124
159
  else {
125
160
  // Handles all other status codes or client exceptions for Statsbeat
126
161
  this.incrementStatsbeatFailure();
162
+ this.customerStatsbeatMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_EXCEPTION);
127
163
  }
128
164
  return {
129
165
  code: ExportResultCode.FAILED,
@@ -152,7 +188,8 @@ export class BaseSender {
152
188
  else {
153
189
  const redirectError = new Error("Circular redirect");
154
190
  if (!this.isStatsbeatSender) {
155
- (_g = this.networkStatsbeatMetrics) === null || _g === void 0 ? void 0 : _g.countException(redirectError);
191
+ this.networkStatsbeatMetrics?.countException(redirectError);
192
+ this.customerStatsbeatMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_EXCEPTION, redirectError.message);
156
193
  }
157
194
  return { code: ExportResultCode.FAILED, error: redirectError };
158
195
  }
@@ -160,7 +197,8 @@ export class BaseSender {
160
197
  else if (restError.statusCode &&
161
198
  isRetriable(restError.statusCode) &&
162
199
  !this.isStatsbeatSender) {
163
- (_h = this.networkStatsbeatMetrics) === null || _h === void 0 ? void 0 : _h.countRetry(restError.statusCode);
200
+ this.networkStatsbeatMetrics?.countRetry(restError.statusCode);
201
+ this.customerStatsbeatMetrics?.countRetryItems(envelopes, restError.statusCode);
164
202
  return this.persist(envelopes);
165
203
  }
166
204
  else if (restError.statusCode === 400 &&
@@ -176,19 +214,22 @@ export class BaseSender {
176
214
  this.incrementStatsbeatFailure();
177
215
  return { code: ExportResultCode.SUCCESS };
178
216
  }
179
- if (this.isRetriableRestError(restError)) {
180
- if (restError.statusCode && !this.isStatsbeatSender) {
181
- (_j = this.networkStatsbeatMetrics) === null || _j === void 0 ? void 0 : _j.countRetry(restError.statusCode);
217
+ // For retriable REST errors
218
+ if (this.isRetriableRestError(restError) && !this.isStatsbeatSender) {
219
+ if (this.customerStatsbeatMetrics?.isTimeoutError(restError) && !this.isStatsbeatSender) {
220
+ this.customerStatsbeatMetrics?.countRetryItems(envelopes, RetryCode.CLIENT_TIMEOUT, "timeout_exception");
221
+ diag.error("Request timed out. Error message:", restError.message);
182
222
  }
183
- if (!this.isStatsbeatSender) {
184
- diag.error("Retrying due to transient client side error. Error message:", restError.message);
223
+ else if (restError.statusCode) {
224
+ this.networkStatsbeatMetrics?.countRetry(restError.statusCode);
225
+ this.customerStatsbeatMetrics?.countRetryItems(envelopes, restError.statusCode);
185
226
  }
227
+ diag.error("Retrying due to transient client side error. Error message:", restError.message);
186
228
  return this.persist(envelopes);
187
229
  }
230
+ // For non-retriable REST errors or client exceptions
188
231
  if (!this.isStatsbeatSender) {
189
- (_k = this.networkStatsbeatMetrics) === null || _k === void 0 ? void 0 : _k.countException(restError);
190
- }
191
- if (!this.isStatsbeatSender) {
232
+ this.networkStatsbeatMetrics?.countException(restError);
192
233
  diag.error("Envelopes could not be exported and are not retriable. Error message:", restError.message);
193
234
  }
194
235
  return { code: ExportResultCode.FAILED, error: restError };
@@ -198,7 +239,6 @@ export class BaseSender {
198
239
  * Persist envelopes to disk
199
240
  */
200
241
  async persist(envelopes) {
201
- var _a;
202
242
  try {
203
243
  const success = await this.persister.push(envelopes);
204
244
  return success
@@ -210,7 +250,10 @@ export class BaseSender {
210
250
  }
211
251
  catch (ex) {
212
252
  if (!this.isStatsbeatSender) {
213
- (_a = this.networkStatsbeatMetrics) === null || _a === void 0 ? void 0 : _a.countWriteFailure();
253
+ this.networkStatsbeatMetrics?.countWriteFailure();
254
+ if (this.disableOfflineStorage && envelopes) {
255
+ this.customerStatsbeatMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_STORAGE_DISABLED);
256
+ }
214
257
  }
215
258
  return { code: ExportResultCode.FAILED, error: ex };
216
259
  }
@@ -228,24 +271,27 @@ export class BaseSender {
228
271
  * Shutdown statsbeat metrics
229
272
  */
230
273
  shutdownStatsbeat() {
231
- var _a;
232
274
  if (this.networkStatsbeatMetrics) {
233
275
  this.networkStatsbeatMetrics.shutdown();
234
276
  }
235
- (_a = this.longIntervalStatsbeatMetrics) === null || _a === void 0 ? void 0 : _a.shutdown();
277
+ if (this.longIntervalStatsbeatMetrics) {
278
+ this.longIntervalStatsbeatMetrics?.shutdown();
279
+ }
280
+ if (this.customerStatsbeatMetrics) {
281
+ this.customerStatsbeatMetrics.shutdown();
282
+ }
236
283
  this.statsbeatFailureCount = 0;
237
284
  }
238
285
  async sendFirstPersistedFile() {
239
- var _a;
286
+ const envelopes = (await this.persister.shift());
240
287
  try {
241
- const envelopes = (await this.persister.shift());
242
288
  if (envelopes) {
243
289
  await this.send(envelopes);
244
290
  }
245
291
  }
246
292
  catch (err) {
247
293
  if (!this.isStatsbeatSender) {
248
- (_a = this.networkStatsbeatMetrics) === null || _a === void 0 ? void 0 : _a.countReadFailure();
294
+ this.networkStatsbeatMetrics?.countReadFailure();
249
295
  }
250
296
  diag.warn(`Failed to fetch persisted file`, err);
251
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"baseSender.js","sourceRoot":"","sources":["../../../../src/platform/nodejs/baseSender.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AAEtG,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEpG,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,oCAAoC,GAAG,KAAM,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAgB,UAAU;IAW9B,YAAY,OAOX;QAZO,0BAAqB,GAAW,CAAC,CAAC;QAClC,6BAAwB,GAAW,oCAAoC,CAAC;QAY9E,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,qBAAqB,IAAI,KAAK,CAAC;QACpF,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5F,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC,WAAW,CAAC;gBACjE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aAClD,CAAC,CAAC;YACH,IAAI,CAAC,4BAA4B,GAAG,4BAA4B,CAAC,WAAW,CAAC;gBAC3E,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aAClD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAC9D,CAAC;IAMD;;OAEG;IACI,KAAK,CAAC,eAAe,CAAC,SAAqB;;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC;QAEvD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;YAEjC,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBACvB,sCAAsC;gBACtC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;wBAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAChC,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBAClC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,mFAAmF;gBACnF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;iBAAM,IAAI,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,gCAAgC;gBAChC,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC7C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC1D,CAAC;oBACD,OAAO;wBACL,IAAI,EAAE,gBAAgB,CAAC,OAAO;qBAC/B,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAmB,CAAC;oBAC5D,MAAM,iBAAiB,GAAe,EAAE,CAAC;oBACzC,8DAA8D;oBAC9D,IAAI,cAAc,CAAC,aAAa,GAAG,CAAC,IAAI,UAAU,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACtF,MAAA,IAAI,CAAC,uBAAuB,0CAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACvD,CAAC;oBACD,0DAA0D;oBAC1D,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;wBAC1B,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;4BACtC,IAAI,KAAK,CAAC,UAAU,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gCACtD,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;4BACjD,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,UAAU,CAAC,UAAU,CAAC,CAAC;wBACvD,CAAC;wBACD,uEAAuE;wBACvE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBAC/C,CAAC;oBACD,0BAA0B;oBAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACnE,CAAC;oBACD,OAAO;wBACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;qBAC9B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,uEAAuE;oBACvE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,UAAU,CAAC,UAAU,CAAC,CAAC;oBACvD,CAAC;oBACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,IAAI,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5D,IAAI,UAAU,EAAE,CAAC;wBACf,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,oEAAoE;oBACpE,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACnC,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;iBAC9B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,KAAkB,CAAC;YACrC,IACE,SAAS,CAAC,UAAU;gBACpB,CAAC,SAAS,CAAC,UAAU,KAAK,GAAG,IAAI,qBAAqB;oBACpD,SAAS,CAAC,UAAU,KAAK,GAAG,CAAC,EAC/B,CAAC;gBACD,qBAAqB;gBACrB,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,gCAAgC;gBAChC,IAAI,IAAI,CAAC,uBAAuB,GAAG,EAAE,EAAE,CAAC;oBACtC,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC5D,IAAI,QAAQ,EAAE,CAAC;4BACb,oBAAoB;4BACpB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;4BACvC,mFAAmF;4BACnF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBACrD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,cAAc,CAAC,aAAa,CAAC,CAAC;oBAC9D,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;gBACjE,CAAC;YACH,CAAC;iBAAM,IACL,SAAS,CAAC,UAAU;gBACpB,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gBACjC,CAAC,IAAI,CAAC,iBAAiB,EACvB,CAAC;gBACD,MAAA,IAAI,CAAC,uBAAuB,0CAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;iBAAM,IACL,SAAS,CAAC,UAAU,KAAK,GAAG;gBAC5B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EACzD,CAAC;gBACD,iEAAiE;gBACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;iBAAM,IACL,SAAS,CAAC,UAAU;gBACpB,IAAI,CAAC,iBAAiB;gBACtB,yBAAyB,CAAC,SAAS,CAAC,UAAU,CAAC,EAC/C,CAAC;gBACD,mGAAmG;gBACnG,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACpD,MAAA,IAAI,CAAC,uBAAuB,0CAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,IAAI,CAAC,KAAK,CACR,6DAA6D,EAC7D,SAAS,CAAC,OAAO,CAClB,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,cAAc,CAAC,SAAS,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CACR,uEAAuE,EACvE,SAAS,CAAC,OAAO,CAClB,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAC,SAAoB;;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrD,OAAO,OAAO;gBACZ,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE;gBACpC,CAAC,CAAC;oBACE,IAAI,EAAE,gBAAgB,CAAC,MAAM;oBAC7B,KAAK,EAAE,IAAI,KAAK,CAAC,qCAAqC,CAAC;iBACxD,CAAC;QACR,CAAC;QAAC,OAAO,EAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,iBAAiB,EAAE,CAAC;YACpD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,yBAAyB;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,qBAAqB,GAAG,sBAAsB,EAAE,CAAC;YACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;;QACvB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;QAC1C,CAAC;QACD,MAAA,IAAI,CAAC,4BAA4B,0CAAE,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,sBAAsB;;QAClC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAsB,CAAC;YACtE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,MAAA,IAAI,CAAC,uBAAuB,0CAAE,gBAAgB,EAAE,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,KAAgB;QAC3C,MAAM,cAAc,GAAa,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACxE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { diag } from \"@opentelemetry/api\";\nimport type { PersistentStorage, SenderResult } from \"../../types.js\";\nimport type { AzureMonitorExporterOptions } from \"../../config.js\";\nimport { FileSystemPersist } from \"./persist/index.js\";\nimport type { ExportResult } from \"@opentelemetry/core\";\nimport { ExportResultCode } from \"@opentelemetry/core\";\nimport { NetworkStatsbeatMetrics } from \"../../export/statsbeat/networkStatsbeatMetrics.js\";\nimport { LongIntervalStatsbeatMetrics } from \"../../export/statsbeat/longIntervalStatsbeatMetrics.js\";\nimport type { RestError } from \"@azure/core-rest-pipeline\";\nimport { MAX_STATSBEAT_FAILURES, isStatsbeatShutdownStatus } from \"../../export/statsbeat/types.js\";\nimport type { BreezeResponse } from \"../../utils/breezeUtils.js\";\nimport { isRetriable } from \"../../utils/breezeUtils.js\";\nimport type { TelemetryItem as Envelope } from \"../../generated/index.js\";\nimport { RetriableRestErrorTypes } from \"../../Declarations/Constants.js\";\n\nconst DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS = 60_000;\n\n/**\n * Base sender class\n * @internal\n */\nexport abstract class BaseSender {\n private readonly persister: PersistentStorage;\n private numConsecutiveRedirects: number;\n private retryTimer: NodeJS.Timeout | null;\n private networkStatsbeatMetrics: NetworkStatsbeatMetrics | undefined;\n private longIntervalStatsbeatMetrics;\n private statsbeatFailureCount: number = 0;\n private batchSendRetryIntervalMs: number = DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS;\n private isStatsbeatSender: boolean;\n private disableOfflineStorage: boolean;\n\n constructor(options: {\n endpointUrl: string;\n instrumentationKey: string;\n trackStatsbeat: boolean;\n exporterOptions: AzureMonitorExporterOptions;\n aadAudience?: string;\n isStatsbeatSender?: boolean;\n }) {\n this.numConsecutiveRedirects = 0;\n this.disableOfflineStorage = options.exporterOptions.disableOfflineStorage || false;\n this.persister = new FileSystemPersist(options.instrumentationKey, options.exporterOptions);\n if (options.trackStatsbeat) {\n this.networkStatsbeatMetrics = NetworkStatsbeatMetrics.getInstance({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\n disableOfflineStorage: this.disableOfflineStorage,\n });\n this.longIntervalStatsbeatMetrics = LongIntervalStatsbeatMetrics.getInstance({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\n disableOfflineStorage: this.disableOfflineStorage,\n });\n }\n this.retryTimer = null;\n this.isStatsbeatSender = options.isStatsbeatSender || false;\n }\n\n abstract send(payload: unknown[]): Promise<SenderResult>;\n abstract shutdown(): Promise<void>;\n abstract handlePermanentRedirect(location: string | undefined): void;\n\n /**\n * Export envelopes\n */\n public async exportEnvelopes(envelopes: Envelope[]): Promise<ExportResult> {\n diag.info(`Exporting ${envelopes.length} envelope(s)`);\n\n if (envelopes.length < 1) {\n return { code: ExportResultCode.SUCCESS };\n }\n\n try {\n const startTime = new Date().getTime();\n const { result, statusCode } = await this.send(envelopes);\n const endTime = new Date().getTime();\n const duration = endTime - startTime;\n this.numConsecutiveRedirects = 0;\n\n if (statusCode === 200) {\n // Success -- @todo: start retry timer\n if (!this.retryTimer) {\n this.retryTimer = setTimeout(() => {\n this.retryTimer = null;\n this.sendFirstPersistedFile();\n }, this.batchSendRetryIntervalMs);\n this.retryTimer.unref();\n }\n // If we are not exporting statsbeat and statsbeat is not disabled -- count success\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countSuccess(duration);\n }\n return { code: ExportResultCode.SUCCESS };\n } else if (statusCode && isRetriable(statusCode)) {\n // Failed -- persist failed data\n if (statusCode === 429 || statusCode === 439) {\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countThrottle(statusCode);\n }\n return {\n code: ExportResultCode.SUCCESS,\n };\n }\n if (result) {\n diag.info(result);\n const breezeResponse = JSON.parse(result) as BreezeResponse;\n const filteredEnvelopes: Envelope[] = [];\n // If we have a partial success, count the succeeded envelopes\n if (breezeResponse.itemsAccepted > 0 && statusCode === 206 && !this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countSuccess(duration);\n }\n // Figure out if we need to either retry or count failures\n if (breezeResponse.errors) {\n breezeResponse.errors.forEach((error) => {\n if (error.statusCode && isRetriable(error.statusCode)) {\n filteredEnvelopes.push(envelopes[error.index]);\n }\n });\n }\n if (filteredEnvelopes.length > 0) {\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countRetry(statusCode);\n }\n // calls resultCallback(ExportResult) based on result of persister.push\n return await this.persist(filteredEnvelopes);\n }\n // Failed -- not retriable\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countFailure(duration, statusCode);\n }\n return {\n code: ExportResultCode.FAILED,\n };\n } else {\n // calls resultCallback(ExportResult) based on result of persister.push\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countRetry(statusCode);\n }\n return await this.persist(envelopes);\n }\n } else {\n // Failed -- not retriable\n if (this.networkStatsbeatMetrics && !this.isStatsbeatSender) {\n if (statusCode) {\n this.networkStatsbeatMetrics.countFailure(duration, statusCode);\n }\n } else {\n // Handles all other status codes or client exceptions for Statsbeat\n this.incrementStatsbeatFailure();\n }\n return {\n code: ExportResultCode.FAILED,\n };\n }\n } catch (error: any) {\n const restError = error as RestError;\n if (\n restError.statusCode &&\n (restError.statusCode === 307 || // Temporary redirect\n restError.statusCode === 308)\n ) {\n // Permanent redirect\n this.numConsecutiveRedirects++;\n // To prevent circular redirects\n if (this.numConsecutiveRedirects < 10) {\n if (restError.response && restError.response.headers) {\n const location = restError.response.headers.get(\"location\");\n if (location) {\n // Update sender URL\n this.handlePermanentRedirect(location);\n // Send to redirect endpoint as HTTPs library doesn't handle redirect automatically\n return this.exportEnvelopes(envelopes);\n }\n }\n } else {\n const redirectError = new Error(\"Circular redirect\");\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countException(redirectError);\n }\n return { code: ExportResultCode.FAILED, error: redirectError };\n }\n } else if (\n restError.statusCode &&\n isRetriable(restError.statusCode) &&\n !this.isStatsbeatSender\n ) {\n this.networkStatsbeatMetrics?.countRetry(restError.statusCode);\n return this.persist(envelopes);\n } else if (\n restError.statusCode === 400 &&\n restError.message.includes(\"Invalid instrumentation key\")\n ) {\n // Invalid instrumentation key, shutdown statsbeat, fail silently\n this.shutdownStatsbeat();\n return { code: ExportResultCode.SUCCESS };\n } else if (\n restError.statusCode &&\n this.isStatsbeatSender &&\n isStatsbeatShutdownStatus(restError.statusCode)\n ) {\n // If the status code is a shutdown status code for statsbeat, shutdown statsbeat and fail silently\n this.incrementStatsbeatFailure();\n return { code: ExportResultCode.SUCCESS };\n }\n if (this.isRetriableRestError(restError)) {\n if (restError.statusCode && !this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countRetry(restError.statusCode);\n }\n if (!this.isStatsbeatSender) {\n diag.error(\n \"Retrying due to transient client side error. Error message:\",\n restError.message,\n );\n }\n return this.persist(envelopes);\n }\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countException(restError);\n }\n if (!this.isStatsbeatSender) {\n diag.error(\n \"Envelopes could not be exported and are not retriable. Error message:\",\n restError.message,\n );\n }\n return { code: ExportResultCode.FAILED, error: restError };\n }\n }\n\n /**\n * Persist envelopes to disk\n */\n private async persist(envelopes: unknown[]): Promise<ExportResult> {\n try {\n const success = await this.persister.push(envelopes);\n return success\n ? { code: ExportResultCode.SUCCESS }\n : {\n code: ExportResultCode.FAILED,\n error: new Error(\"Failed to persist envelope in disk.\"),\n };\n } catch (ex: any) {\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countWriteFailure();\n }\n return { code: ExportResultCode.FAILED, error: ex };\n }\n }\n\n /**\n * Disable collection of statsbeat metrics after max failures\n */\n private incrementStatsbeatFailure(): void {\n this.statsbeatFailureCount++;\n if (this.statsbeatFailureCount > MAX_STATSBEAT_FAILURES) {\n this.shutdownStatsbeat();\n }\n }\n\n /**\n * Shutdown statsbeat metrics\n */\n private shutdownStatsbeat(): void {\n if (this.networkStatsbeatMetrics) {\n this.networkStatsbeatMetrics.shutdown();\n }\n this.longIntervalStatsbeatMetrics?.shutdown();\n this.statsbeatFailureCount = 0;\n }\n\n private async sendFirstPersistedFile(): Promise<void> {\n try {\n const envelopes = (await this.persister.shift()) as Envelope[] | null;\n if (envelopes) {\n await this.send(envelopes);\n }\n } catch (err: any) {\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countReadFailure();\n }\n diag.warn(`Failed to fetch persisted file`, err);\n }\n }\n\n private isRetriableRestError(error: RestError): boolean {\n const restErrorTypes: string[] = Object.values(RetriableRestErrorTypes);\n if (error && error.code && restErrorTypes.includes(error.code)) {\n return true;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"baseSender.js","sourceRoot":"","sources":["../../../../src/platform/nodejs/baseSender.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AAEtG,OAAO,EACL,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EACL,iDAAiD,EACjD,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF,MAAM,oCAAoC,GAAG,MAAM,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAgB,UAAU;IACb,SAAS,CAAoB;IACtC,uBAAuB,CAAS;IAChC,UAAU,CAAwB;IAClC,uBAAuB,CAAsC;IAC7D,wBAAwB,CAAuC;IAC/D,4BAA4B,CAAC;IAC7B,qBAAqB,GAAW,CAAC,CAAC;IAClC,wBAAwB,GAAW,oCAAoC,CAAC;IACxE,iBAAiB,CAAU;IAC3B,qBAAqB,CAAU;IAEvC,YAAY,OAOX;QACC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,qBAAqB,IAAI,KAAK,CAAC;QACpF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC,WAAW,CAAC;gBACjE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aAClD,CAAC,CAAC;YACH,IAAI,CAAC,4BAA4B,GAAG,4BAA4B,CAAC,WAAW,CAAC;gBAC3E,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aAClD,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC,WAAW,CAAC;oBACnE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;oBAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CACpC,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,eAAe,EACvB,IAAI,CAAC,wBAAwB,CAC9B,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAC9D,CAAC;IAMD;;OAEG;IACI,KAAK,CAAC,eAAe,CAAC,SAAqB;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC;QAEvD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;YAEjC,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBACvB,sCAAsC;gBACtC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;wBAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAChC,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBAClC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,mFAAmF;gBACnF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACrD,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACjE,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;iBAAM,IAAI,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,gCAAgC;gBAChC,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC7C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;wBACxD,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACxE,CAAC;oBACD,OAAO;wBACL,IAAI,EAAE,gBAAgB,CAAC,OAAO;qBAC/B,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAmB,CAAC;oBAC5D,MAAM,iBAAiB,GAAe,EAAE,CAAC;oBACzC,gGAAgG;oBAChG,MAAM,mBAAmB,GAAe,CAAC,GAAG,SAAS,CAAC,CAAC;oBAEvD,8DAA8D;oBAC9D,IAAI,cAAc,CAAC,aAAa,GAAG,CAAC,IAAI,UAAU,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACtF,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACvD,CAAC;oBACD,0DAA0D;oBAC1D,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;wBAC1B,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;4BACtC,yEAAyE;4BACzE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAgC,CAAC;4BAEpE,gDAAgD;4BAChD,IAAI,KAAK,CAAC,UAAU,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gCACtD,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;4BACjD,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;oBAED,8DAA8D;oBAC9D,IAAI,cAAc,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;wBACrC,sDAAsD;wBACtD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;4BACrD,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;oBACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;4BACrD,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;wBACxE,CAAC;wBACD,uEAAuE;wBACvE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBAC/C,CAAC;oBACD,0BAA0B;oBAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;wBACjE,4EAA4E;wBAC5E,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAC9C,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,EACnC,UAAU,CACX,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;qBAC9B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,uEAAuE;oBACvE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;wBACrD,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACxE,CAAC;oBACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,IAAI,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5D,IAAI,UAAU,EAAE,CAAC;wBACf,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;wBAChE,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,oEAAoE;oBACpE,IAAI,CAAC,yBAAyB,EAAE,CAAC;oBACjC,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACzF,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;iBAC9B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,KAAkB,CAAC;YACrC,IACE,SAAS,CAAC,UAAU;gBACpB,CAAC,SAAS,CAAC,UAAU,KAAK,GAAG,IAAI,qBAAqB;oBACpD,SAAS,CAAC,UAAU,KAAK,GAAG,CAAC,EAC/B,CAAC;gBACD,qBAAqB;gBACrB,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,gCAAgC;gBAChC,IAAI,IAAI,CAAC,uBAAuB,GAAG,EAAE,EAAE,CAAC;oBACtC,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC5D,IAAI,QAAQ,EAAE,CAAC;4BACb,oBAAoB;4BACpB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;4BACvC,mFAAmF;4BACnF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBACrD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;wBAC5D,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAC9C,SAAS,EACT,QAAQ,CAAC,gBAAgB,EACzB,aAAa,CAAC,OAAO,CACtB,CAAC;oBACJ,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;gBACjE,CAAC;YACH,CAAC;iBAAM,IACL,SAAS,CAAC,UAAU;gBACpB,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gBACjC,CAAC,IAAI,CAAC,iBAAiB,EACvB,CAAC;gBACD,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC/D,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBAChF,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;iBAAM,IACL,SAAS,CAAC,UAAU,KAAK,GAAG;gBAC5B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EACzD,CAAC;gBACD,iEAAiE;gBACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;iBAAM,IACL,SAAS,CAAC,UAAU;gBACpB,IAAI,CAAC,iBAAiB;gBACtB,yBAAyB,CAAC,SAAS,CAAC,UAAU,CAAC,EAC/C,CAAC;gBACD,mGAAmG;gBACnG,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;YAED,4BAA4B;YAC5B,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACpE,IAAI,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACxF,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAC5C,SAAS,EACT,SAAS,CAAC,cAAc,EACxB,mBAAmB,CACpB,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,mCAAmC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrE,CAAC;qBAAM,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;oBAChC,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC/D,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBAClF,CAAC;gBACD,IAAI,CAAC,KAAK,CACR,6DAA6D,EAC7D,SAAS,CAAC,OAAO,CAClB,CAAC;gBACF,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,qDAAqD;YACrD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;gBACxD,IAAI,CAAC,KAAK,CACR,uEAAuE,EACvE,SAAS,CAAC,OAAO,CAClB,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAC,SAAoB;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrD,OAAO,OAAO;gBACZ,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE;gBACpC,CAAC,CAAC;oBACE,IAAI,EAAE,gBAAgB,CAAC,MAAM;oBAC7B,KAAK,EAAE,IAAI,KAAK,CAAC,qCAAqC,CAAC;iBACxD,CAAC;QACR,CAAC;QAAC,OAAO,EAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,qBAAqB,IAAI,SAAS,EAAE,CAAC;oBAC5C,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAC9C,SAAuB,EACvB,QAAQ,CAAC,uBAAuB,CACjC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,yBAAyB;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,qBAAqB,GAAG,sBAAsB,EAAE,CAAC;YACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACtC,IAAI,CAAC,4BAA4B,EAAE,QAAQ,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAsB,CAAC;QACtE,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,KAAgB;QAC3C,MAAM,cAAc,GAAa,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACxE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { diag } from \"@opentelemetry/api\";\nimport type { PersistentStorage, SenderResult } from \"../../types.js\";\nimport type { AzureMonitorExporterOptions } from \"../../config.js\";\nimport { FileSystemPersist } from \"./persist/index.js\";\nimport type { ExportResult } from \"@opentelemetry/core\";\nimport { ExportResultCode } from \"@opentelemetry/core\";\nimport { NetworkStatsbeatMetrics } from \"../../export/statsbeat/networkStatsbeatMetrics.js\";\nimport { LongIntervalStatsbeatMetrics } from \"../../export/statsbeat/longIntervalStatsbeatMetrics.js\";\nimport type { RestError } from \"@azure/core-rest-pipeline\";\nimport {\n DropCode,\n RetryCode,\n MAX_STATSBEAT_FAILURES,\n isStatsbeatShutdownStatus,\n} from \"../../export/statsbeat/types.js\";\nimport type { BreezeResponse } from \"../../utils/breezeUtils.js\";\nimport { isRetriable } from \"../../utils/breezeUtils.js\";\nimport type { TelemetryItem as Envelope } from \"../../generated/index.js\";\nimport {\n ENV_APPLICATIONINSIGHTS_STATSBEAT_ENABLED_PREVIEW,\n RetriableRestErrorTypes,\n} from \"../../Declarations/Constants.js\";\nimport { CustomerStatsbeatMetrics } from \"../../export/statsbeat/customerStatsbeat.js\";\n\nconst DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS = 60_000;\n\n/**\n * Base sender class\n * @internal\n */\nexport abstract class BaseSender {\n private readonly persister: PersistentStorage;\n private numConsecutiveRedirects: number;\n private retryTimer: NodeJS.Timeout | null;\n private networkStatsbeatMetrics: NetworkStatsbeatMetrics | undefined;\n private customerStatsbeatMetrics: CustomerStatsbeatMetrics | undefined;\n private longIntervalStatsbeatMetrics;\n private statsbeatFailureCount: number = 0;\n private batchSendRetryIntervalMs: number = DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS;\n private isStatsbeatSender: boolean;\n private disableOfflineStorage: boolean;\n\n constructor(options: {\n endpointUrl: string;\n instrumentationKey: string;\n trackStatsbeat: boolean;\n exporterOptions: AzureMonitorExporterOptions;\n aadAudience?: string;\n isStatsbeatSender?: boolean;\n }) {\n this.numConsecutiveRedirects = 0;\n this.disableOfflineStorage = options.exporterOptions.disableOfflineStorage || false;\n if (options.trackStatsbeat) {\n this.networkStatsbeatMetrics = NetworkStatsbeatMetrics.getInstance({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\n disableOfflineStorage: this.disableOfflineStorage,\n });\n this.longIntervalStatsbeatMetrics = LongIntervalStatsbeatMetrics.getInstance({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\n disableOfflineStorage: this.disableOfflineStorage,\n });\n if (process.env[ENV_APPLICATIONINSIGHTS_STATSBEAT_ENABLED_PREVIEW]) {\n this.customerStatsbeatMetrics = CustomerStatsbeatMetrics.getInstance({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\n disableOfflineStorage: this.disableOfflineStorage,\n });\n }\n }\n this.persister = new FileSystemPersist(\n options.instrumentationKey,\n options.exporterOptions,\n this.customerStatsbeatMetrics,\n );\n this.retryTimer = null;\n this.isStatsbeatSender = options.isStatsbeatSender || false;\n }\n\n abstract send(payload: unknown[]): Promise<SenderResult>;\n abstract shutdown(): Promise<void>;\n abstract handlePermanentRedirect(location: string | undefined): void;\n\n /**\n * Export envelopes\n */\n public async exportEnvelopes(envelopes: Envelope[]): Promise<ExportResult> {\n diag.info(`Exporting ${envelopes.length} envelope(s)`);\n\n if (envelopes.length < 1) {\n return { code: ExportResultCode.SUCCESS };\n }\n\n try {\n const startTime = new Date().getTime();\n const { result, statusCode } = await this.send(envelopes);\n const endTime = new Date().getTime();\n const duration = endTime - startTime;\n this.numConsecutiveRedirects = 0;\n\n if (statusCode === 200) {\n // Success -- @todo: start retry timer\n if (!this.retryTimer) {\n this.retryTimer = setTimeout(() => {\n this.retryTimer = null;\n this.sendFirstPersistedFile();\n }, this.batchSendRetryIntervalMs);\n this.retryTimer.unref();\n }\n // If we are not exporting statsbeat and statsbeat is not disabled -- count success\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countSuccess(duration);\n this.customerStatsbeatMetrics?.countSuccessfulItems(envelopes);\n }\n return { code: ExportResultCode.SUCCESS };\n } else if (statusCode && isRetriable(statusCode)) {\n // Failed -- persist failed data\n if (statusCode === 429 || statusCode === 439) {\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countThrottle(statusCode);\n this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);\n }\n return {\n code: ExportResultCode.SUCCESS,\n };\n }\n if (result) {\n diag.info(result);\n const breezeResponse = JSON.parse(result) as BreezeResponse;\n const filteredEnvelopes: Envelope[] = [];\n // Create a list of successful envelopes by filtering out the failed ones for customer statsbeat\n const successfulEnvelopes: Envelope[] = [...envelopes];\n\n // If we have a partial success, count the succeeded envelopes\n if (breezeResponse.itemsAccepted > 0 && statusCode === 206 && !this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countSuccess(duration);\n }\n // Figure out if we need to either retry or count failures\n if (breezeResponse.errors) {\n breezeResponse.errors.forEach((error) => {\n // Mark as undefined so we don't process them in countSuccessfulEnvelopes\n successfulEnvelopes[error.index] = undefined as unknown as Envelope;\n\n // Add to retry list if status code is retriable\n if (error.statusCode && isRetriable(error.statusCode)) {\n filteredEnvelopes.push(envelopes[error.index]);\n }\n });\n }\n\n // If we have a partial success, count the succeeded envelopes\n if (breezeResponse.itemsAccepted > 0) {\n // Count only the successful envelopes (non-undefined)\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countSuccess(duration);\n this.customerStatsbeatMetrics?.countSuccessfulItems(envelopes);\n }\n }\n if (filteredEnvelopes.length > 0) {\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countRetry(statusCode);\n this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);\n }\n // calls resultCallback(ExportResult) based on result of persister.push\n return await this.persist(filteredEnvelopes);\n }\n // Failed -- not retriable\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countFailure(duration, statusCode);\n // Count dropped items for customer statsbeat for non-retriable status codes\n this.customerStatsbeatMetrics?.countDroppedItems(\n successfulEnvelopes.filter(Boolean),\n statusCode,\n );\n }\n return {\n code: ExportResultCode.FAILED,\n };\n } else {\n // calls resultCallback(ExportResult) based on result of persister.push\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countRetry(statusCode);\n this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);\n }\n return await this.persist(envelopes);\n }\n } else {\n // Failed -- not retriable\n if (this.networkStatsbeatMetrics && !this.isStatsbeatSender) {\n if (statusCode) {\n this.networkStatsbeatMetrics.countFailure(duration, statusCode);\n this.customerStatsbeatMetrics?.countDroppedItems(envelopes, statusCode);\n }\n } else {\n // Handles all other status codes or client exceptions for Statsbeat\n this.incrementStatsbeatFailure();\n this.customerStatsbeatMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_EXCEPTION);\n }\n return {\n code: ExportResultCode.FAILED,\n };\n }\n } catch (error: any) {\n const restError = error as RestError;\n if (\n restError.statusCode &&\n (restError.statusCode === 307 || // Temporary redirect\n restError.statusCode === 308)\n ) {\n // Permanent redirect\n this.numConsecutiveRedirects++;\n // To prevent circular redirects\n if (this.numConsecutiveRedirects < 10) {\n if (restError.response && restError.response.headers) {\n const location = restError.response.headers.get(\"location\");\n if (location) {\n // Update sender URL\n this.handlePermanentRedirect(location);\n // Send to redirect endpoint as HTTPs library doesn't handle redirect automatically\n return this.exportEnvelopes(envelopes);\n }\n }\n } else {\n const redirectError = new Error(\"Circular redirect\");\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countException(redirectError);\n this.customerStatsbeatMetrics?.countDroppedItems(\n envelopes,\n DropCode.CLIENT_EXCEPTION,\n redirectError.message,\n );\n }\n return { code: ExportResultCode.FAILED, error: redirectError };\n }\n } else if (\n restError.statusCode &&\n isRetriable(restError.statusCode) &&\n !this.isStatsbeatSender\n ) {\n this.networkStatsbeatMetrics?.countRetry(restError.statusCode);\n this.customerStatsbeatMetrics?.countRetryItems(envelopes, restError.statusCode);\n return this.persist(envelopes);\n } else if (\n restError.statusCode === 400 &&\n restError.message.includes(\"Invalid instrumentation key\")\n ) {\n // Invalid instrumentation key, shutdown statsbeat, fail silently\n this.shutdownStatsbeat();\n return { code: ExportResultCode.SUCCESS };\n } else if (\n restError.statusCode &&\n this.isStatsbeatSender &&\n isStatsbeatShutdownStatus(restError.statusCode)\n ) {\n // If the status code is a shutdown status code for statsbeat, shutdown statsbeat and fail silently\n this.incrementStatsbeatFailure();\n return { code: ExportResultCode.SUCCESS };\n }\n\n // For retriable REST errors\n if (this.isRetriableRestError(restError) && !this.isStatsbeatSender) {\n if (this.customerStatsbeatMetrics?.isTimeoutError(restError) && !this.isStatsbeatSender) {\n this.customerStatsbeatMetrics?.countRetryItems(\n envelopes,\n RetryCode.CLIENT_TIMEOUT,\n \"timeout_exception\",\n );\n diag.error(\"Request timed out. Error message:\", restError.message);\n } else if (restError.statusCode) {\n this.networkStatsbeatMetrics?.countRetry(restError.statusCode);\n this.customerStatsbeatMetrics?.countRetryItems(envelopes, restError.statusCode);\n }\n diag.error(\n \"Retrying due to transient client side error. Error message:\",\n restError.message,\n );\n return this.persist(envelopes);\n }\n // For non-retriable REST errors or client exceptions\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countException(restError);\n diag.error(\n \"Envelopes could not be exported and are not retriable. Error message:\",\n restError.message,\n );\n }\n return { code: ExportResultCode.FAILED, error: restError };\n }\n }\n\n /**\n * Persist envelopes to disk\n */\n private async persist(envelopes: unknown[]): Promise<ExportResult> {\n try {\n const success = await this.persister.push(envelopes);\n return success\n ? { code: ExportResultCode.SUCCESS }\n : {\n code: ExportResultCode.FAILED,\n error: new Error(\"Failed to persist envelope in disk.\"),\n };\n } catch (ex: any) {\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countWriteFailure();\n if (this.disableOfflineStorage && envelopes) {\n this.customerStatsbeatMetrics?.countDroppedItems(\n envelopes as Envelope[],\n DropCode.CLIENT_STORAGE_DISABLED,\n );\n }\n }\n return { code: ExportResultCode.FAILED, error: ex };\n }\n }\n\n /**\n * Disable collection of statsbeat metrics after max failures\n */\n private incrementStatsbeatFailure(): void {\n this.statsbeatFailureCount++;\n if (this.statsbeatFailureCount > MAX_STATSBEAT_FAILURES) {\n this.shutdownStatsbeat();\n }\n }\n\n /**\n * Shutdown statsbeat metrics\n */\n private shutdownStatsbeat(): void {\n if (this.networkStatsbeatMetrics) {\n this.networkStatsbeatMetrics.shutdown();\n }\n if (this.longIntervalStatsbeatMetrics) {\n this.longIntervalStatsbeatMetrics?.shutdown();\n }\n if (this.customerStatsbeatMetrics) {\n this.customerStatsbeatMetrics.shutdown();\n }\n this.statsbeatFailureCount = 0;\n }\n\n private async sendFirstPersistedFile(): Promise<void> {\n const envelopes = (await this.persister.shift()) as Envelope[] | null;\n try {\n if (envelopes) {\n await this.send(envelopes);\n }\n } catch (err: any) {\n if (!this.isStatsbeatSender) {\n this.networkStatsbeatMetrics?.countReadFailure();\n }\n diag.warn(`Failed to fetch persisted file`, err);\n }\n }\n\n private isRetriableRestError(error: RestError): boolean {\n const restErrorTypes: string[] = Object.values(RetriableRestErrorTypes);\n if (error && error.code && restErrorTypes.includes(error.code)) {\n return true;\n }\n return false;\n }\n}\n"]}
@@ -9,7 +9,6 @@ export declare class Context {
9
9
  static opentelemetryVersion: string | null;
10
10
  static nodeVersion: string;
11
11
  constructor();
12
- private _loadDeviceContext;
13
12
  private _loadInternalContext;
14
13
  private _getVersion;
15
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/platform/nodejs/context/context.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAS9C;;;GAGG;AACH,qBAAa,OAAO;IACX,IAAI,EAAE,IAAI,CAAC;IAElB,OAAc,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/C,OAAc,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEzD,OAAc,WAAW,EAAE,MAAM,CAAM;;IAQvC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,WAAW;CASpB;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAKrC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/platform/nodejs/context/context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAS9C;;;GAGG;AACH,qBAAa,OAAO;IACX,IAAI,EAAE,IAAI,CAAC;IAElB,OAAc,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/C,OAAc,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEzD,OAAc,WAAW,EAAE,MAAM,CAAM;;IAOvC,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,WAAW;CASpB;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAKrC"}