@azure/monitor-opentelemetry-exporter 1.0.0-beta.3 → 1.0.0-beta.31
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.
- package/README.md +119 -44
- package/dist/commonjs/Declarations/Constants.d.ts +149 -0
- package/dist/commonjs/Declarations/Constants.d.ts.map +1 -0
- package/dist/commonjs/Declarations/Constants.js +167 -0
- package/dist/commonjs/Declarations/Constants.js.map +1 -0
- package/dist/commonjs/Declarations/Contracts/Constants.d.ts +14 -0
- package/dist/commonjs/Declarations/Contracts/Constants.d.ts.map +1 -0
- package/dist/commonjs/Declarations/Contracts/Constants.js +5 -0
- package/dist/commonjs/Declarations/Contracts/Constants.js.map +1 -0
- package/dist/commonjs/Declarations/Contracts/index.d.ts +2 -0
- package/dist/commonjs/Declarations/Contracts/index.d.ts.map +1 -0
- package/dist/commonjs/Declarations/Contracts/index.js +7 -0
- package/dist/commonjs/Declarations/Contracts/index.js.map +1 -0
- package/dist/commonjs/config.d.ts +30 -0
- package/dist/commonjs/config.d.ts.map +1 -0
- package/dist/commonjs/config.js +3 -0
- package/dist/commonjs/config.js.map +1 -0
- package/dist/commonjs/export/base.d.ts +36 -0
- package/dist/commonjs/export/base.d.ts.map +1 -0
- package/dist/commonjs/export/base.js +59 -0
- package/dist/commonjs/export/base.js.map +1 -0
- package/dist/commonjs/export/log.d.ts +30 -0
- package/dist/commonjs/export/log.d.ts.map +1 -0
- package/dist/commonjs/export/log.js +68 -0
- package/dist/commonjs/export/log.js.map +1 -0
- package/dist/commonjs/export/metric.d.ts +39 -0
- package/dist/commonjs/export/metric.d.ts.map +1 -0
- package/dist/commonjs/export/metric.js +79 -0
- package/dist/commonjs/export/metric.js.map +1 -0
- package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.d.ts +39 -0
- package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.d.ts.map +1 -0
- package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.js +127 -0
- package/dist/commonjs/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -0
- package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.d.ts +51 -0
- package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.d.ts.map +1 -0
- package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.js +289 -0
- package/dist/commonjs/export/statsbeat/networkStatsbeatMetrics.js.map +1 -0
- package/dist/commonjs/export/statsbeat/statsbeatExporter.d.ts +32 -0
- package/dist/commonjs/export/statsbeat/statsbeatExporter.d.ts.map +1 -0
- package/dist/commonjs/export/statsbeat/statsbeatExporter.js +62 -0
- package/dist/commonjs/export/statsbeat/statsbeatExporter.js.map +1 -0
- package/dist/commonjs/export/statsbeat/statsbeatMetrics.d.ts +11 -0
- package/dist/commonjs/export/statsbeat/statsbeatMetrics.d.ts.map +1 -0
- package/dist/commonjs/export/statsbeat/statsbeatMetrics.js +106 -0
- package/dist/commonjs/export/statsbeat/statsbeatMetrics.js.map +1 -0
- package/dist/commonjs/export/statsbeat/types.d.ts +102 -0
- package/dist/commonjs/export/statsbeat/types.d.ts.map +1 -0
- package/dist/commonjs/export/statsbeat/types.js +89 -0
- package/dist/commonjs/export/statsbeat/types.js.map +1 -0
- package/dist/commonjs/export/trace.d.ts +31 -0
- package/dist/commonjs/export/trace.d.ts.map +1 -0
- package/dist/commonjs/export/trace.js +76 -0
- package/dist/commonjs/export/trace.js.map +1 -0
- package/dist/commonjs/generated/applicationInsightsClient.d.ts +17 -0
- package/dist/commonjs/generated/applicationInsightsClient.d.ts.map +1 -0
- package/dist/commonjs/generated/applicationInsightsClient.js +89 -0
- package/dist/commonjs/generated/applicationInsightsClient.js.map +1 -0
- package/dist/commonjs/generated/index.d.ts +3 -0
- package/dist/commonjs/generated/index.d.ts.map +1 -0
- package/dist/commonjs/generated/index.js +15 -0
- package/dist/commonjs/generated/index.js.map +1 -0
- package/dist/commonjs/generated/models/index.d.ts +429 -0
- package/dist/commonjs/generated/models/index.d.ts.map +1 -0
- package/dist/commonjs/generated/models/index.js +93 -0
- package/dist/commonjs/generated/models/index.js.map +1 -0
- package/dist/commonjs/generated/models/mappers.d.ts +19 -0
- package/dist/commonjs/generated/models/mappers.d.ts.map +1 -0
- package/dist/commonjs/generated/models/mappers.js +848 -0
- package/dist/commonjs/generated/models/mappers.js.map +1 -0
- package/dist/commonjs/generated/models/parameters.d.ts +6 -0
- package/dist/commonjs/generated/models/parameters.d.ts.map +1 -0
- package/dist/commonjs/generated/models/parameters.js +60 -0
- package/dist/commonjs/generated/models/parameters.js.map +1 -0
- package/dist/commonjs/index.d.ts +10 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +20 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/platform/index.d.ts +2 -0
- package/dist/commonjs/platform/index.d.ts.map +1 -0
- package/dist/commonjs/platform/index.js +10 -0
- package/dist/commonjs/platform/index.js.map +1 -0
- package/dist/commonjs/platform/nodejs/baseSender.d.ts +49 -0
- package/dist/commonjs/platform/nodejs/baseSender.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/baseSender.js +244 -0
- package/dist/commonjs/platform/nodejs/baseSender.js.map +1 -0
- package/dist/commonjs/platform/nodejs/constants.d.ts +10 -0
- package/dist/commonjs/platform/nodejs/constants.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/constants.js +15 -0
- package/dist/commonjs/platform/nodejs/constants.js.map +1 -0
- package/dist/commonjs/platform/nodejs/context/context.d.ts +21 -0
- package/dist/commonjs/platform/nodejs/context/context.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/context/context.js +66 -0
- package/dist/commonjs/platform/nodejs/context/context.js.map +1 -0
- package/dist/commonjs/platform/nodejs/context/index.d.ts +2 -0
- package/dist/commonjs/platform/nodejs/context/index.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/context/index.js +7 -0
- package/dist/commonjs/platform/nodejs/context/index.js.map +1 -0
- package/dist/commonjs/platform/nodejs/httpSender.d.ts +32 -0
- package/dist/commonjs/platform/nodejs/httpSender.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/httpSender.js +70 -0
- package/dist/commonjs/platform/nodejs/httpSender.js.map +1 -0
- package/dist/commonjs/platform/nodejs/index.d.ts +8 -0
- package/dist/commonjs/platform/nodejs/index.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/index.js +13 -0
- package/dist/commonjs/platform/nodejs/index.js.map +1 -0
- package/dist/commonjs/platform/nodejs/persist/fileAccessControl.d.ts +18 -0
- package/dist/commonjs/platform/nodejs/persist/fileAccessControl.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/persist/fileAccessControl.js +177 -0
- package/dist/commonjs/platform/nodejs/persist/fileAccessControl.js.map +1 -0
- package/dist/commonjs/platform/nodejs/persist/fileSystemHelpers.d.ts +11 -0
- package/dist/commonjs/platform/nodejs/persist/fileSystemHelpers.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/persist/fileSystemHelpers.js +60 -0
- package/dist/commonjs/platform/nodejs/persist/fileSystemHelpers.js.map +1 -0
- package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts +29 -0
- package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js +184 -0
- package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js.map +1 -0
- package/dist/commonjs/platform/nodejs/persist/index.d.ts +2 -0
- package/dist/commonjs/platform/nodejs/persist/index.d.ts.map +1 -0
- package/dist/commonjs/platform/nodejs/persist/index.js +7 -0
- package/dist/commonjs/platform/nodejs/persist/index.js.map +1 -0
- package/dist/commonjs/sampling.d.ts +38 -0
- package/dist/commonjs/sampling.d.ts.map +1 -0
- package/dist/commonjs/sampling.js +92 -0
- package/dist/commonjs/sampling.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/types.d.ts +112 -0
- package/dist/commonjs/types.d.ts.map +1 -0
- package/dist/commonjs/types.js +124 -0
- package/dist/commonjs/types.js.map +1 -0
- package/dist/commonjs/utils/breezeUtils.d.ts +25 -0
- package/dist/commonjs/utils/breezeUtils.d.ts.map +1 -0
- package/dist/commonjs/utils/breezeUtils.js +39 -0
- package/dist/commonjs/utils/breezeUtils.js.map +1 -0
- package/dist/commonjs/utils/common.d.ts +15 -0
- package/dist/commonjs/utils/common.d.ts.map +1 -0
- package/dist/commonjs/utils/common.js +256 -0
- package/dist/commonjs/utils/common.js.map +1 -0
- package/dist/commonjs/utils/connectionStringParser.d.ts +13 -0
- package/dist/commonjs/utils/connectionStringParser.d.ts.map +1 -0
- package/dist/commonjs/utils/connectionStringParser.js +83 -0
- package/dist/commonjs/utils/connectionStringParser.js.map +1 -0
- package/dist/commonjs/utils/constants/applicationinsights.d.ts +42 -0
- package/dist/commonjs/utils/constants/applicationinsights.d.ts.map +1 -0
- package/dist/commonjs/utils/constants/applicationinsights.js +48 -0
- package/dist/commonjs/utils/constants/applicationinsights.js.map +1 -0
- package/dist/commonjs/utils/constants/span/azAttributes.d.ts +16 -0
- package/dist/commonjs/utils/constants/span/azAttributes.d.ts.map +1 -0
- package/dist/commonjs/utils/constants/span/azAttributes.js +21 -0
- package/dist/commonjs/utils/constants/span/azAttributes.js.map +1 -0
- package/dist/commonjs/utils/eventhub.d.ts +10 -0
- package/dist/commonjs/utils/eventhub.d.ts.map +1 -0
- package/dist/commonjs/utils/eventhub.js +57 -0
- package/dist/commonjs/utils/eventhub.js.map +1 -0
- package/dist/commonjs/utils/logUtils.d.ts +8 -0
- package/dist/commonjs/utils/logUtils.d.ts.map +1 -0
- package/dist/commonjs/utils/logUtils.js +222 -0
- package/dist/commonjs/utils/logUtils.js.map +1 -0
- package/dist/commonjs/utils/metricUtils.d.ts +13 -0
- package/dist/commonjs/utils/metricUtils.d.ts.map +1 -0
- package/dist/commonjs/utils/metricUtils.js +140 -0
- package/dist/commonjs/utils/metricUtils.js.map +1 -0
- package/dist/commonjs/utils/spanUtils.d.ts +27 -0
- package/dist/commonjs/utils/spanUtils.d.ts.map +1 -0
- package/dist/commonjs/utils/spanUtils.js +521 -0
- package/dist/commonjs/utils/spanUtils.js.map +1 -0
- package/dist/esm/Declarations/Constants.d.ts +149 -0
- package/dist/esm/Declarations/Constants.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/Declarations/Constants.js +110 -21
- package/dist/esm/Declarations/Constants.js.map +1 -0
- package/dist/esm/Declarations/Contracts/Constants.d.ts +14 -0
- package/dist/esm/Declarations/Contracts/Constants.d.ts.map +1 -0
- package/dist/esm/Declarations/Contracts/Constants.js +4 -0
- package/dist/esm/Declarations/Contracts/Constants.js.map +1 -0
- package/dist/esm/Declarations/Contracts/index.d.ts +2 -0
- package/dist/esm/Declarations/Contracts/index.d.ts.map +1 -0
- package/dist/esm/Declarations/Contracts/index.js +4 -0
- package/dist/esm/Declarations/Contracts/index.js.map +1 -0
- package/dist/esm/config.d.ts +30 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/config.js +2 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/export/base.d.ts +36 -0
- package/dist/esm/export/base.d.ts.map +1 -0
- package/dist/esm/export/base.js +55 -0
- package/dist/esm/export/base.js.map +1 -0
- package/dist/esm/export/log.d.ts +30 -0
- package/dist/esm/export/log.d.ts.map +1 -0
- package/dist/esm/export/log.js +64 -0
- package/dist/esm/export/log.js.map +1 -0
- package/dist/esm/export/metric.d.ts +39 -0
- package/dist/esm/export/metric.d.ts.map +1 -0
- package/dist/esm/export/metric.js +75 -0
- package/dist/esm/export/metric.js.map +1 -0
- package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.d.ts +39 -0
- package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.d.ts.map +1 -0
- package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.js +123 -0
- package/dist/esm/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -0
- package/dist/esm/export/statsbeat/networkStatsbeatMetrics.d.ts +51 -0
- package/dist/esm/export/statsbeat/networkStatsbeatMetrics.d.ts.map +1 -0
- package/dist/esm/export/statsbeat/networkStatsbeatMetrics.js +284 -0
- package/dist/esm/export/statsbeat/networkStatsbeatMetrics.js.map +1 -0
- package/dist/esm/export/statsbeat/statsbeatExporter.d.ts +32 -0
- package/dist/esm/export/statsbeat/statsbeatExporter.d.ts.map +1 -0
- package/dist/esm/export/statsbeat/statsbeatExporter.js +58 -0
- package/dist/esm/export/statsbeat/statsbeatExporter.js.map +1 -0
- package/dist/esm/export/statsbeat/statsbeatMetrics.d.ts +11 -0
- package/dist/esm/export/statsbeat/statsbeatMetrics.d.ts.map +1 -0
- package/dist/esm/export/statsbeat/statsbeatMetrics.js +101 -0
- package/dist/esm/export/statsbeat/statsbeatMetrics.js.map +1 -0
- package/dist/esm/export/statsbeat/types.d.ts +102 -0
- package/dist/esm/export/statsbeat/types.d.ts.map +1 -0
- package/dist/esm/export/statsbeat/types.js +84 -0
- package/dist/esm/export/statsbeat/types.js.map +1 -0
- package/dist/esm/export/trace.d.ts +31 -0
- package/dist/esm/export/trace.d.ts.map +1 -0
- package/dist/esm/export/trace.js +72 -0
- package/dist/esm/export/trace.js.map +1 -0
- package/dist/esm/generated/applicationInsightsClient.d.ts +17 -0
- package/dist/esm/generated/applicationInsightsClient.d.ts.map +1 -0
- package/dist/esm/generated/applicationInsightsClient.js +84 -0
- package/dist/esm/generated/applicationInsightsClient.js.map +1 -0
- package/dist/esm/generated/index.d.ts +3 -0
- package/dist/esm/generated/index.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/generated/index.js +2 -3
- package/dist/esm/generated/index.js.map +1 -0
- package/dist/esm/generated/models/index.d.ts +429 -0
- package/dist/esm/generated/models/index.d.ts.map +1 -0
- package/dist/esm/generated/models/index.js +90 -0
- package/dist/esm/generated/models/index.js.map +1 -0
- package/dist/esm/generated/models/mappers.d.ts +19 -0
- package/dist/esm/generated/models/mappers.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/generated/models/mappers.js +291 -270
- package/dist/esm/generated/models/mappers.js.map +1 -0
- package/dist/esm/generated/models/parameters.d.ts +6 -0
- package/dist/esm/generated/models/parameters.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/generated/models/parameters.js +17 -12
- package/dist/esm/generated/models/parameters.js.map +1 -0
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/platform/index.d.ts +2 -0
- package/dist/esm/platform/index.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/platform/index.js +2 -2
- package/dist/esm/platform/index.js.map +1 -0
- package/dist/esm/platform/nodejs/baseSender.d.ts +49 -0
- package/dist/esm/platform/nodejs/baseSender.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/baseSender.js +240 -0
- package/dist/esm/platform/nodejs/baseSender.js.map +1 -0
- package/dist/esm/platform/nodejs/constants.d.ts +10 -0
- package/dist/esm/platform/nodejs/constants.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/constants.js +12 -0
- package/dist/esm/platform/nodejs/constants.js.map +1 -0
- package/dist/esm/platform/nodejs/context/context.d.ts +21 -0
- package/dist/esm/platform/nodejs/context/context.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/context/context.js +60 -0
- package/dist/esm/platform/nodejs/context/context.js.map +1 -0
- package/dist/esm/platform/nodejs/context/index.d.ts +2 -0
- package/dist/esm/platform/nodejs/context/index.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/context/index.js +4 -0
- package/{dist-esm/src → dist/esm}/platform/nodejs/context/index.js.map +1 -1
- package/dist/esm/platform/nodejs/httpSender.d.ts +32 -0
- package/dist/esm/platform/nodejs/httpSender.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/httpSender.js +65 -0
- package/dist/esm/platform/nodejs/httpSender.js.map +1 -0
- package/dist/esm/platform/nodejs/index.d.ts +8 -0
- package/dist/esm/platform/nodejs/index.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/index.js +10 -0
- package/dist/esm/platform/nodejs/index.js.map +1 -0
- package/dist/esm/platform/nodejs/persist/fileAccessControl.d.ts +18 -0
- package/dist/esm/platform/nodejs/persist/fileAccessControl.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/persist/fileAccessControl.js +172 -0
- package/dist/esm/platform/nodejs/persist/fileAccessControl.js.map +1 -0
- package/dist/esm/platform/nodejs/persist/fileSystemHelpers.d.ts +11 -0
- package/dist/esm/platform/nodejs/persist/fileSystemHelpers.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/persist/fileSystemHelpers.js +55 -0
- package/dist/esm/platform/nodejs/persist/fileSystemHelpers.js.map +1 -0
- package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts +29 -0
- package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/persist/fileSystemPersist.js +180 -0
- package/dist/esm/platform/nodejs/persist/fileSystemPersist.js.map +1 -0
- package/dist/esm/platform/nodejs/persist/index.d.ts +2 -0
- package/dist/esm/platform/nodejs/persist/index.d.ts.map +1 -0
- package/dist/esm/platform/nodejs/persist/index.js +4 -0
- package/{dist-esm/src → dist/esm}/platform/nodejs/persist/index.js.map +1 -1
- package/dist/esm/sampling.d.ts +38 -0
- package/dist/esm/sampling.d.ts.map +1 -0
- package/dist/esm/sampling.js +88 -0
- package/dist/esm/sampling.js.map +1 -0
- package/dist/esm/types.d.ts +112 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +121 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/breezeUtils.d.ts +25 -0
- package/dist/esm/utils/breezeUtils.d.ts.map +1 -0
- package/dist/esm/utils/breezeUtils.js +35 -0
- package/dist/esm/utils/breezeUtils.js.map +1 -0
- package/dist/esm/utils/common.d.ts +15 -0
- package/dist/esm/utils/common.d.ts.map +1 -0
- package/dist/esm/utils/common.js +244 -0
- package/dist/esm/utils/common.js.map +1 -0
- package/dist/esm/utils/connectionStringParser.d.ts +13 -0
- package/dist/esm/utils/connectionStringParser.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/utils/connectionStringParser.js +22 -8
- package/dist/esm/utils/connectionStringParser.js.map +1 -0
- package/dist/esm/utils/constants/applicationinsights.d.ts +42 -0
- package/dist/esm/utils/constants/applicationinsights.d.ts.map +1 -0
- package/dist/esm/utils/constants/applicationinsights.js +45 -0
- package/dist/esm/utils/constants/applicationinsights.js.map +1 -0
- package/dist/esm/utils/constants/span/azAttributes.d.ts +16 -0
- package/dist/esm/utils/constants/span/azAttributes.d.ts.map +1 -0
- package/dist/esm/utils/constants/span/azAttributes.js +18 -0
- package/dist/esm/utils/constants/span/azAttributes.js.map +1 -0
- package/dist/esm/utils/eventhub.d.ts +10 -0
- package/dist/esm/utils/eventhub.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/utils/eventhub.js +6 -5
- package/dist/esm/utils/eventhub.js.map +1 -0
- package/dist/esm/utils/logUtils.d.ts +8 -0
- package/dist/esm/utils/logUtils.d.ts.map +1 -0
- package/dist/esm/utils/logUtils.js +219 -0
- package/dist/esm/utils/logUtils.js.map +1 -0
- package/dist/esm/utils/metricUtils.d.ts +13 -0
- package/dist/esm/utils/metricUtils.d.ts.map +1 -0
- package/dist/esm/utils/metricUtils.js +133 -0
- package/dist/esm/utils/metricUtils.js.map +1 -0
- package/dist/esm/utils/spanUtils.d.ts +27 -0
- package/dist/esm/utils/spanUtils.d.ts.map +1 -0
- package/dist/esm/utils/spanUtils.js +505 -0
- package/dist/esm/utils/spanUtils.js.map +1 -0
- package/package.json +98 -57
- package/CHANGELOG.md +0 -22
- package/dist/index.js +0 -1855
- package/dist-esm/src/Declarations/Constants.js.map +0 -1
- package/dist-esm/src/Declarations/Contracts/Constants.js +0 -4
- package/dist-esm/src/Declarations/Contracts/Constants.js.map +0 -1
- package/dist-esm/src/Declarations/Contracts/index.js +0 -4
- package/dist-esm/src/Declarations/Contracts/index.js.map +0 -1
- package/dist-esm/src/config.js +0 -13
- package/dist-esm/src/config.js.map +0 -1
- package/dist-esm/src/export/trace.js +0 -135
- package/dist-esm/src/export/trace.js.map +0 -1
- package/dist-esm/src/generated/applicationInsightsClient.js +0 -64
- package/dist-esm/src/generated/applicationInsightsClient.js.map +0 -1
- package/dist-esm/src/generated/applicationInsightsClientContext.js +0 -32
- package/dist-esm/src/generated/applicationInsightsClientContext.js.map +0 -1
- package/dist-esm/src/generated/index.js.map +0 -1
- package/dist-esm/src/generated/models/index.js +0 -9
- package/dist-esm/src/generated/models/index.js.map +0 -1
- package/dist-esm/src/generated/models/mappers.js.map +0 -1
- package/dist-esm/src/generated/models/parameters.js.map +0 -1
- package/dist-esm/src/index.js +0 -5
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/platform/index.js.map +0 -1
- package/dist-esm/src/platform/nodejs/constants.js +0 -8
- package/dist-esm/src/platform/nodejs/constants.js.map +0 -1
- package/dist-esm/src/platform/nodejs/context/context.js +0 -105
- package/dist-esm/src/platform/nodejs/context/context.js.map +0 -1
- package/dist-esm/src/platform/nodejs/context/index.js +0 -4
- package/dist-esm/src/platform/nodejs/httpSender.js +0 -34
- package/dist-esm/src/platform/nodejs/httpSender.js.map +0 -1
- package/dist-esm/src/platform/nodejs/index.js +0 -10
- package/dist-esm/src/platform/nodejs/index.js.map +0 -1
- package/dist-esm/src/platform/nodejs/persist/fileSystemHelpers.js +0 -48
- package/dist-esm/src/platform/nodejs/persist/fileSystemHelpers.js.map +0 -1
- package/dist-esm/src/platform/nodejs/persist/fileSystemPersist.js +0 -121
- package/dist-esm/src/platform/nodejs/persist/fileSystemPersist.js.map +0 -1
- package/dist-esm/src/platform/nodejs/persist/index.js +0 -4
- package/dist-esm/src/types.js +0 -4
- package/dist-esm/src/types.js.map +0 -1
- package/dist-esm/src/utils/breezeUtils.js +0 -27
- package/dist-esm/src/utils/breezeUtils.js.map +0 -1
- package/dist-esm/src/utils/connectionStringParser.js.map +0 -1
- package/dist-esm/src/utils/constants/applicationinsights.js +0 -13
- package/dist-esm/src/utils/constants/applicationinsights.js.map +0 -1
- package/dist-esm/src/utils/constants/span/azAttributes.js +0 -6
- package/dist-esm/src/utils/constants/span/azAttributes.js.map +0 -1
- package/dist-esm/src/utils/constants/span/dbAttributes.js +0 -14
- package/dist-esm/src/utils/constants/span/dbAttributes.js.map +0 -1
- package/dist-esm/src/utils/constants/span/grpcAttributes.js +0 -9
- package/dist-esm/src/utils/constants/span/grpcAttributes.js.map +0 -1
- package/dist-esm/src/utils/constants/span/httpAttributes.js +0 -8
- package/dist-esm/src/utils/constants/span/httpAttributes.js.map +0 -1
- package/dist-esm/src/utils/eventhub.js.map +0 -1
- package/dist-esm/src/utils/spanUtils.js +0 -214
- package/dist-esm/src/utils/spanUtils.js.map +0 -1
- package/types/monitor-opentelemetry-exporter.d.ts +0 -29
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
import * as os from "os";
|
|
4
|
-
import * as fs from "fs";
|
|
5
|
-
import * as path from "path";
|
|
6
|
-
import { ConsoleLogger, LogLevel, SDK_INFO } from "@opentelemetry/core";
|
|
7
|
-
let instance = null;
|
|
8
|
-
export class Context {
|
|
9
|
-
constructor(_logger = new ConsoleLogger(LogLevel.WARN),
|
|
10
|
-
/**
|
|
11
|
-
* Path to this module's `package.json` relative to
|
|
12
|
-
* `Context.ROOT_PATH`
|
|
13
|
-
*/
|
|
14
|
-
_exporterPrefix = "./",
|
|
15
|
-
/**
|
|
16
|
-
* Path to end user application folder which contains `package.json`
|
|
17
|
-
* relative to `Context.ROOT_PATH`
|
|
18
|
-
*/
|
|
19
|
-
_appPrefix = "../../../") {
|
|
20
|
-
this._logger = _logger;
|
|
21
|
-
this._exporterPrefix = _exporterPrefix;
|
|
22
|
-
this._appPrefix = _appPrefix;
|
|
23
|
-
this.tags = {};
|
|
24
|
-
this._loadApplicationContext();
|
|
25
|
-
this._loadDeviceContext();
|
|
26
|
-
this._loadInternalContext();
|
|
27
|
-
}
|
|
28
|
-
_loadApplicationContext() {
|
|
29
|
-
if (Object.keys(Context.appVersion).length === 0) {
|
|
30
|
-
// note: this should return the host package.json
|
|
31
|
-
let packageJson = null;
|
|
32
|
-
const packageJsonPath = path.resolve(__dirname, Context.JS_NODE_PREFIX, this._appPrefix, Context.ROOT_PATH, "./package.json");
|
|
33
|
-
const packageJsonPathTsNode = path.resolve(__dirname, this._appPrefix, Context.ROOT_PATH, "./package.json");
|
|
34
|
-
Context.appVersion[packageJsonPath] = "unknown";
|
|
35
|
-
try {
|
|
36
|
-
packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
37
|
-
}
|
|
38
|
-
catch (_) {
|
|
39
|
-
try {
|
|
40
|
-
packageJson = JSON.parse(fs.readFileSync(packageJsonPathTsNode, "utf8"));
|
|
41
|
-
}
|
|
42
|
-
catch (exception) {
|
|
43
|
-
this._logger.warn("Failed to load Application version", exception);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (packageJson && typeof packageJson.version === "string") {
|
|
47
|
-
Context.appVersion[packageJsonPath] = packageJson.version;
|
|
48
|
-
}
|
|
49
|
-
this.tags["ai.application.ver"] = Context.appVersion[packageJsonPath];
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
_loadDeviceContext() {
|
|
53
|
-
this.tags["ai.device.id"] = "";
|
|
54
|
-
this.tags["ai.device.osVersion"] = os && `${os.type()} ${os.release()}`;
|
|
55
|
-
// not yet supported tags
|
|
56
|
-
this.tags["ai.device.osArchitecture"] = os && os.arch();
|
|
57
|
-
this.tags["ai.device.osPlatform"] = os && os.platform();
|
|
58
|
-
}
|
|
59
|
-
_loadInternalContext() {
|
|
60
|
-
if (!Context.sdkVersion) {
|
|
61
|
-
let packageJson = null;
|
|
62
|
-
const { node } = process.versions;
|
|
63
|
-
[Context.nodeVersion] = node.split(".");
|
|
64
|
-
// note: this should return the sdk package.json
|
|
65
|
-
const packageJsonPath = path.resolve(__dirname, Context.JS_NODE_PREFIX, this._exporterPrefix, Context.ROOT_PATH, "./package.json");
|
|
66
|
-
const packageJsonPathTsNode = path.resolve(__dirname, this._exporterPrefix, Context.ROOT_PATH, "./package.json");
|
|
67
|
-
Context.sdkVersion = "unknown";
|
|
68
|
-
try {
|
|
69
|
-
packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
70
|
-
}
|
|
71
|
-
catch (_) {
|
|
72
|
-
try {
|
|
73
|
-
packageJson = JSON.parse(fs.readFileSync(packageJsonPathTsNode, "utf8"));
|
|
74
|
-
}
|
|
75
|
-
catch (exception) {
|
|
76
|
-
this._logger.warn("Failed to load Exporter version", exception);
|
|
77
|
-
throw exception;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (packageJson && typeof packageJson.version === "string") {
|
|
81
|
-
Context.sdkVersion = packageJson.version;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
this.tags["ai.internal.sdkVersion"] = `node${Context.nodeVersion}:ot${SDK_INFO.VERSION}:ext${Context.sdkVersion}`;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
Context.appVersion = {};
|
|
88
|
-
Context.sdkVersion = null;
|
|
89
|
-
Context.opentelemetryVersion = null;
|
|
90
|
-
Context.nodeVersion = "";
|
|
91
|
-
/**
|
|
92
|
-
* Add extra ../ to access on environments not using ts-node
|
|
93
|
-
*/
|
|
94
|
-
Context.JS_NODE_PREFIX = "../";
|
|
95
|
-
/**
|
|
96
|
-
* Path to azure-opentelemetry-exporter
|
|
97
|
-
*/
|
|
98
|
-
Context.ROOT_PATH = "../../../../";
|
|
99
|
-
export function getInstance(logger, exporterPrefix, appPrefix) {
|
|
100
|
-
if (!instance) {
|
|
101
|
-
instance = new Context(logger, exporterPrefix, appPrefix);
|
|
102
|
-
}
|
|
103
|
-
return instance;
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/platform/nodejs/context/context.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as os from \"os\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport { Logger } from \"@opentelemetry/api\";\nimport { ConsoleLogger, LogLevel, SDK_INFO } from \"@opentelemetry/core\";\n\nimport { ContextTagKeys } from \"../../../generated\";\nimport { Tags } from \"../../../types\";\n\ntype PackageJson = { version: string };\n\nlet instance: Context | null = null;\n\nexport class Context {\n public tags: Tags;\n\n public static appVersion: { [path: string]: string } = {};\n\n public static sdkVersion: string | null = null;\n\n public static opentelemetryVersion: string | null = null;\n\n public static nodeVersion: string = \"\";\n\n /**\n * Add extra ../ to access on environments not using ts-node\n */\n private static readonly JS_NODE_PREFIX = \"../\";\n\n /**\n * Path to azure-opentelemetry-exporter\n */\n private static readonly ROOT_PATH = \"../../../../\";\n\n constructor(\n private _logger: Logger = new ConsoleLogger(LogLevel.WARN),\n /**\n * Path to this module's `package.json` relative to\n * `Context.ROOT_PATH`\n */\n private _exporterPrefix = \"./\",\n /**\n * Path to end user application folder which contains `package.json`\n * relative to `Context.ROOT_PATH`\n */\n private _appPrefix = \"../../../\"\n ) {\n this.tags = {};\n\n this._loadApplicationContext();\n this._loadDeviceContext();\n this._loadInternalContext();\n }\n\n private _loadApplicationContext(): void {\n if (Object.keys(Context.appVersion).length === 0) {\n // note: this should return the host package.json\n let packageJson: PackageJson | null = null;\n const packageJsonPath = path.resolve(\n __dirname,\n Context.JS_NODE_PREFIX,\n this._appPrefix,\n Context.ROOT_PATH,\n \"./package.json\"\n );\n const packageJsonPathTsNode = path.resolve(\n __dirname,\n this._appPrefix,\n Context.ROOT_PATH,\n \"./package.json\"\n );\n\n Context.appVersion[packageJsonPath] = \"unknown\";\n\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\")) as PackageJson;\n } catch (_) {\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonPathTsNode, \"utf8\")) as PackageJson;\n } catch (exception) {\n this._logger.warn(\"Failed to load Application version\", exception);\n }\n }\n\n if (packageJson && typeof packageJson.version === \"string\") {\n Context.appVersion[packageJsonPath] = packageJson.version;\n }\n\n this.tags[\"ai.application.ver\"] = Context.appVersion[packageJsonPath];\n }\n }\n\n private _loadDeviceContext(): void {\n this.tags[\"ai.device.id\"] = \"\";\n this.tags[\"ai.device.osVersion\"] = os && `${os.type()} ${os.release()}`;\n\n // not yet supported tags\n this.tags[\"ai.device.osArchitecture\" as ContextTagKeys] = os && os.arch();\n this.tags[\"ai.device.osPlatform\" as ContextTagKeys] = os && os.platform();\n }\n\n private _loadInternalContext(): void {\n if (!Context.sdkVersion) {\n let packageJson: { version: string } | null = null;\n const { node } = process.versions;\n [Context.nodeVersion] = node.split(\".\");\n\n // note: this should return the sdk package.json\n const packageJsonPath = path.resolve(\n __dirname,\n Context.JS_NODE_PREFIX,\n this._exporterPrefix,\n Context.ROOT_PATH,\n \"./package.json\"\n );\n const packageJsonPathTsNode = path.resolve(\n __dirname,\n this._exporterPrefix,\n Context.ROOT_PATH,\n \"./package.json\"\n );\n\n Context.sdkVersion = \"unknown\";\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\")) as PackageJson;\n } catch (_) {\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonPathTsNode, \"utf8\")) as PackageJson;\n } catch (exception) {\n this._logger.warn(\"Failed to load Exporter version\", exception);\n throw exception;\n }\n }\n\n if (packageJson && typeof packageJson.version === \"string\") {\n Context.sdkVersion = packageJson.version;\n }\n }\n\n this.tags[\n \"ai.internal.sdkVersion\"\n ] = `node${Context.nodeVersion}:ot${SDK_INFO.VERSION}:ext${Context.sdkVersion}`;\n }\n}\n\nexport function getInstance(logger?: Logger, exporterPrefix?: string, appPrefix?: string): Context {\n if (!instance) {\n instance = new Context(logger, exporterPrefix, appPrefix);\n }\n return instance;\n}\n"]}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
import { __awaiter } from "tslib";
|
|
4
|
-
import { ConsoleLogger, LogLevel } from "@opentelemetry/core";
|
|
5
|
-
import { ApplicationInsightsClient } from "../../generated";
|
|
6
|
-
export class HttpSender {
|
|
7
|
-
constructor(_exporterOptions) {
|
|
8
|
-
this._exporterOptions = _exporterOptions;
|
|
9
|
-
this._logger = this._exporterOptions.logger || new ConsoleLogger(LogLevel.ERROR);
|
|
10
|
-
// Build endpoint using provided configuration or default values
|
|
11
|
-
this._appInsightsClientOptions = {
|
|
12
|
-
host: this._exporterOptions.endpointUrl
|
|
13
|
-
};
|
|
14
|
-
this._appInsightsClient = new ApplicationInsightsClient(Object.assign({}, this._appInsightsClientOptions));
|
|
15
|
-
}
|
|
16
|
-
send(envelopes) {
|
|
17
|
-
var _a;
|
|
18
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
try {
|
|
20
|
-
const { _response: res } = yield this._appInsightsClient.track(envelopes);
|
|
21
|
-
return { statusCode: res.status, result: (_a = res.bodyAsText) !== null && _a !== void 0 ? _a : "" };
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
throw e;
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
shutdown() {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
this._logger.info("HttpSender shutting down");
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=httpSender.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpSender.js","sourceRoot":"","sources":["../../../../src/platform/nodejs/httpSender.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AAGlC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAEL,yBAAyB,EAE1B,MAAM,iBAAiB,CAAC;AAGzB,MAAM,OAAO,UAAU;IAMrB,YAAoB,gBAAsD;QAAtD,qBAAgB,GAAhB,gBAAgB,CAAsC;QACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjF,gEAAgE;QAChE,IAAI,CAAC,yBAAyB,GAAG;YAC/B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW;SACxC,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG,IAAI,yBAAyB,mBAClD,IAAI,CAAC,yBAAyB,EACjC,CAAC;IACL,CAAC;IAEK,IAAI,CAAC,SAAqB;;;YAC9B,IAAI;gBACF,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1E,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,QAAE,GAAG,CAAC,UAAU,mCAAI,EAAE,EAAE,CAAC;aACjE;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,CAAC;aACT;;KACF;IAEK,QAAQ;;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;KAAA;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Logger } from \"@opentelemetry/api\";\nimport { ConsoleLogger, LogLevel } from \"@opentelemetry/core\";\nimport { Sender, SenderResult } from \"../../types\";\nimport {\n TelemetryItem as Envelope,\n ApplicationInsightsClient,\n ApplicationInsightsClientOptionalParams\n} from \"../../generated\";\nimport { AzureExporterInternalConfig } from \"../../config\";\n\nexport class HttpSender implements Sender {\n private readonly _logger: Logger;\n\n private readonly _appInsightsClient: ApplicationInsightsClient;\n private _appInsightsClientOptions: ApplicationInsightsClientOptionalParams;\n\n constructor(private _exporterOptions: Partial<AzureExporterInternalConfig>) {\n this._logger = this._exporterOptions.logger || new ConsoleLogger(LogLevel.ERROR);\n // Build endpoint using provided configuration or default values\n this._appInsightsClientOptions = {\n host: this._exporterOptions.endpointUrl\n };\n\n this._appInsightsClient = new ApplicationInsightsClient({\n ...this._appInsightsClientOptions\n });\n }\n\n async send(envelopes: Envelope[]): Promise<SenderResult> {\n try {\n const { _response: res } = await this._appInsightsClient.track(envelopes);\n return { statusCode: res.status, result: res.bodyAsText ?? \"\" };\n } catch (e) {\n throw e;\n }\n }\n\n async shutdown(): Promise<void> {\n this._logger.info(\"HttpSender shutting down\");\n }\n}\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
/**
|
|
4
|
-
* Node.js specific platform utils
|
|
5
|
-
*/
|
|
6
|
-
export * from "./constants";
|
|
7
|
-
export * from "./persist";
|
|
8
|
-
export * from "./httpSender";
|
|
9
|
-
export * from "./context";
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/platform/nodejs/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Node.js specific platform utils\n */\nexport * from \"./constants\";\nexport * from \"./persist\";\nexport * from \"./httpSender\";\nexport * from \"./context\";\n"]}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
import { __awaiter } from "tslib";
|
|
4
|
-
import * as fs from "fs";
|
|
5
|
-
import * as path from "path";
|
|
6
|
-
import { promisify } from "util";
|
|
7
|
-
const readdirAsync = promisify(fs.readdir);
|
|
8
|
-
const statAsync = promisify(fs.stat);
|
|
9
|
-
const lstatAsync = promisify(fs.lstat);
|
|
10
|
-
const mkdirAsync = promisify(fs.mkdir);
|
|
11
|
-
/**
|
|
12
|
-
* Computes the size (in bytes) of all files in a directory at the root level. Asynchronously.
|
|
13
|
-
*/
|
|
14
|
-
export const getShallowDirectorySize = (directory) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
// Get the directory listing
|
|
16
|
-
const files = yield readdirAsync(directory);
|
|
17
|
-
let totalSize = 0;
|
|
18
|
-
// Query all file sizes
|
|
19
|
-
for (const file of files) {
|
|
20
|
-
const fileStats = yield statAsync(path.join(directory, file));
|
|
21
|
-
if (fileStats.isFile()) {
|
|
22
|
-
totalSize += fileStats.size;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return totalSize;
|
|
26
|
-
});
|
|
27
|
-
export const confirmDirExists = (directory) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
-
try {
|
|
29
|
-
const stats = yield lstatAsync(directory);
|
|
30
|
-
if (!stats.isDirectory()) {
|
|
31
|
-
throw new Error("Path existed but was not a directory");
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
if (err && err.code === "ENOENT") {
|
|
36
|
-
try {
|
|
37
|
-
yield mkdirAsync(directory);
|
|
38
|
-
}
|
|
39
|
-
catch (mkdirErr) {
|
|
40
|
-
if (mkdirErr && mkdirErr.code !== "EEXIST") {
|
|
41
|
-
// Handle race condition by ignoring EEXIST
|
|
42
|
-
throw mkdirErr;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=fileSystemHelpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileSystemHelpers.js","sourceRoot":"","sources":["../../../../../src/platform/nodejs/persist/fileSystemHelpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AAElC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrC,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACvC,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAO,SAAiB,EAAmB,EAAE;IAClF,4BAA4B;IAC5B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE5C,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,uBAAuB;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE;YACtB,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC;SAC7B;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAO,SAAiB,EAAiB,EAAE;IACzE,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YAChC,IAAI;gBACF,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;aAC7B;YAAC,OAAO,QAAQ,EAAE;gBACjB,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC1C,2CAA2C;oBAC3C,MAAM,QAAQ,CAAC;iBAChB;aACF;SACF;KACF;AACH,CAAC,CAAA,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport { promisify } from \"util\";\n\nconst readdirAsync = promisify(fs.readdir);\nconst statAsync = promisify(fs.stat);\nconst lstatAsync = promisify(fs.lstat);\nconst mkdirAsync = promisify(fs.mkdir);\n\n/**\n * Computes the size (in bytes) of all files in a directory at the root level. Asynchronously.\n */\nexport const getShallowDirectorySize = async (directory: string): Promise<number> => {\n // Get the directory listing\n const files = await readdirAsync(directory);\n\n let totalSize = 0;\n\n // Query all file sizes\n for (const file of files) {\n const fileStats = await statAsync(path.join(directory, file));\n if (fileStats.isFile()) {\n totalSize += fileStats.size;\n }\n }\n\n return totalSize;\n};\n\nexport const confirmDirExists = async (directory: string): Promise<void> => {\n try {\n const stats = await lstatAsync(directory);\n if (!stats.isDirectory()) {\n throw new Error(\"Path existed but was not a directory\");\n }\n } catch (err) {\n if (err && err.code === \"ENOENT\") {\n try {\n await mkdirAsync(directory);\n } catch (mkdirErr) {\n if (mkdirErr && mkdirErr.code !== \"EEXIST\") {\n // Handle race condition by ignoring EEXIST\n throw mkdirErr;\n }\n }\n }\n }\n};\n"]}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
import { __awaiter } from "tslib";
|
|
4
|
-
import * as fs from "fs";
|
|
5
|
-
import * as os from "os";
|
|
6
|
-
import * as path from "path";
|
|
7
|
-
import { NoopLogger } from "@opentelemetry/api";
|
|
8
|
-
import { DEFAULT_EXPORTER_CONFIG } from "../../../config";
|
|
9
|
-
import { confirmDirExists, getShallowDirectorySize } from "./fileSystemHelpers";
|
|
10
|
-
import { promisify } from "util";
|
|
11
|
-
const statAsync = promisify(fs.stat);
|
|
12
|
-
const readdirAsync = promisify(fs.readdir);
|
|
13
|
-
const readFileAsync = promisify(fs.readFile);
|
|
14
|
-
const unlinkAsync = promisify(fs.unlink);
|
|
15
|
-
const writeFileAsync = promisify(fs.writeFile);
|
|
16
|
-
export class FileSystemPersist {
|
|
17
|
-
constructor(options = {}) {
|
|
18
|
-
this.maxBytesOnDisk = 50000000; // ~50MB
|
|
19
|
-
this._options = Object.assign(Object.assign({}, DEFAULT_EXPORTER_CONFIG), options);
|
|
20
|
-
this._logger = options.logger || new NoopLogger();
|
|
21
|
-
if (!this._options.instrumentationKey) {
|
|
22
|
-
this._logger.error(`No instrumentation key was provided to FileSystemPersister. Files may not be properly persisted`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
push(value) {
|
|
26
|
-
this._logger.debug("Pushing value to persistent storage", value.toString());
|
|
27
|
-
return this._storeToDisk(JSON.stringify(value));
|
|
28
|
-
}
|
|
29
|
-
shift() {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
this._logger.debug("Searching for filesystem persisted files");
|
|
32
|
-
try {
|
|
33
|
-
const buffer = yield this._getFirstFileOnDisk();
|
|
34
|
-
if (buffer) {
|
|
35
|
-
return JSON.parse(buffer.toString("utf8"));
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
this._logger.debug("Failed to read persisted file", e);
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Check for temp telemetry files
|
|
46
|
-
* reads the first file if exist, deletes it and tries to send its load
|
|
47
|
-
*/
|
|
48
|
-
_getFirstFileOnDisk() {
|
|
49
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
const tempDir = path.join(os.tmpdir(), FileSystemPersist.TEMPDIR_PREFIX + this._options.instrumentationKey);
|
|
51
|
-
try {
|
|
52
|
-
const stats = yield statAsync(tempDir);
|
|
53
|
-
if (stats.isDirectory()) {
|
|
54
|
-
const origFiles = yield readdirAsync(tempDir);
|
|
55
|
-
const files = origFiles.filter((f) => path.basename(f).includes(FileSystemPersist.FILENAME_SUFFIX));
|
|
56
|
-
if (files.length === 0) {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
const firstFile = files[0];
|
|
61
|
-
const filePath = path.join(tempDir, firstFile);
|
|
62
|
-
const payload = yield readFileAsync(filePath);
|
|
63
|
-
// delete the file first to prevent double sending
|
|
64
|
-
yield unlinkAsync(filePath);
|
|
65
|
-
return payload;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
catch (e) {
|
|
71
|
-
if (e.code === "ENOENT") {
|
|
72
|
-
// File does not exist -- return null instead of throwing
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
throw e;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
_storeToDisk(payload) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
const directory = path.join(os.tmpdir(), FileSystemPersist.TEMPDIR_PREFIX + this._options.instrumentationKey);
|
|
84
|
-
try {
|
|
85
|
-
yield confirmDirExists(directory);
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
this._logger.warn(`Error while checking/creating directory: `, error && error.message);
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
try {
|
|
92
|
-
const size = yield getShallowDirectorySize(directory);
|
|
93
|
-
if (size > this.maxBytesOnDisk) {
|
|
94
|
-
this._logger.warn(`Not saving data due to max size limit being met. Directory size in bytes is: ${size}`);
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
this._logger.warn(`Error while checking size of persistence directory: `, error && error.message);
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
// create file - file name for now is the timestamp, @todo: a better approach would be a UUID but that
|
|
103
|
-
// would require an external dependency
|
|
104
|
-
const fileName = `${new Date().getTime()}${FileSystemPersist.FILENAME_SUFFIX}`;
|
|
105
|
-
const fileFullPath = path.join(directory, fileName);
|
|
106
|
-
// Mode 600 is w/r for creator and no read access for others
|
|
107
|
-
this._logger.info(`saving data to disk at: ${fileFullPath}`);
|
|
108
|
-
try {
|
|
109
|
-
yield writeFileAsync(fileFullPath, payload, { mode: 0o600 });
|
|
110
|
-
}
|
|
111
|
-
catch (writeError) {
|
|
112
|
-
this._logger.warn(`Error writing file to persistent file storage`, writeError);
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
return true;
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
FileSystemPersist.TEMPDIR_PREFIX = "ot-azure-exporter-";
|
|
120
|
-
FileSystemPersist.FILENAME_SUFFIX = ".ai.json";
|
|
121
|
-
//# sourceMappingURL=fileSystemPersist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileSystemPersist.js","sourceRoot":"","sources":["../../../../../src/platform/nodejs/persist/fileSystemPersist.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as fs from \"fs\";\nimport * as os from \"os\";\nimport * as path from \"path\";\nimport { Logger, NoopLogger } from \"@opentelemetry/api\";\nimport { PersistentStorage } from \"../../../types\";\nimport { DEFAULT_EXPORTER_CONFIG, AzureExporterInternalConfig } from \"../../../config\";\nimport { confirmDirExists, getShallowDirectorySize } from \"./fileSystemHelpers\";\nimport { promisify } from \"util\";\n\nconst statAsync = promisify(fs.stat);\nconst readdirAsync = promisify(fs.readdir);\nconst readFileAsync = promisify(fs.readFile);\nconst unlinkAsync = promisify(fs.unlink);\nconst writeFileAsync = promisify(fs.writeFile);\n\nexport class FileSystemPersist implements PersistentStorage {\n static TEMPDIR_PREFIX = \"ot-azure-exporter-\";\n\n static FILENAME_SUFFIX = \".ai.json\";\n\n maxBytesOnDisk: number = 50_000_000; // ~50MB\n\n private readonly _options: AzureExporterInternalConfig;\n\n private readonly _logger: Logger;\n\n constructor(options: Partial<AzureExporterInternalConfig> = {}) {\n this._options = { ...DEFAULT_EXPORTER_CONFIG, ...options };\n this._logger = options.logger || new NoopLogger();\n if (!this._options.instrumentationKey) {\n this._logger.error(\n `No instrumentation key was provided to FileSystemPersister. Files may not be properly persisted`\n );\n }\n }\n\n push(value: unknown[]): Promise<boolean> {\n this._logger.debug(\"Pushing value to persistent storage\", value.toString());\n return this._storeToDisk(JSON.stringify(value));\n }\n\n async shift(): Promise<unknown> {\n this._logger.debug(\"Searching for filesystem persisted files\");\n try {\n const buffer = await this._getFirstFileOnDisk();\n if (buffer) {\n return JSON.parse(buffer.toString(\"utf8\"));\n }\n } catch (e) {\n this._logger.debug(\"Failed to read persisted file\", e);\n }\n return null;\n }\n\n /**\n * Check for temp telemetry files\n * reads the first file if exist, deletes it and tries to send its load\n */\n private async _getFirstFileOnDisk(): Promise<Buffer | null> {\n const tempDir = path.join(\n os.tmpdir(),\n FileSystemPersist.TEMPDIR_PREFIX + this._options.instrumentationKey\n );\n\n try {\n const stats = await statAsync(tempDir);\n if (stats.isDirectory()) {\n const origFiles = await readdirAsync(tempDir);\n const files = origFiles.filter((f) =>\n path.basename(f).includes(FileSystemPersist.FILENAME_SUFFIX)\n );\n if (files.length === 0) {\n return null;\n } else {\n const firstFile = files[0];\n const filePath = path.join(tempDir, firstFile);\n const payload = await readFileAsync(filePath);\n // delete the file first to prevent double sending\n await unlinkAsync(filePath);\n return payload;\n }\n }\n return null;\n } catch (e) {\n if (e.code === \"ENOENT\") {\n // File does not exist -- return null instead of throwing\n return null;\n } else {\n throw e;\n }\n }\n }\n\n private async _storeToDisk(payload: string): Promise<boolean> {\n const directory = path.join(\n os.tmpdir(),\n FileSystemPersist.TEMPDIR_PREFIX + this._options.instrumentationKey\n );\n\n try {\n await confirmDirExists(directory);\n } catch (error) {\n this._logger.warn(`Error while checking/creating directory: `, error && error.message);\n return false;\n }\n\n try {\n const size = await getShallowDirectorySize(directory);\n if (size > this.maxBytesOnDisk) {\n this._logger.warn(\n `Not saving data due to max size limit being met. Directory size in bytes is: ${size}`\n );\n return false;\n }\n } catch (error) {\n this._logger.warn(\n `Error while checking size of persistence directory: `,\n error && error.message\n );\n return false;\n }\n\n // create file - file name for now is the timestamp, @todo: a better approach would be a UUID but that\n // would require an external dependency\n const fileName = `${new Date().getTime()}${FileSystemPersist.FILENAME_SUFFIX}`;\n const fileFullPath = path.join(directory, fileName);\n\n // Mode 600 is w/r for creator and no read access for others\n this._logger.info(`saving data to disk at: ${fileFullPath}`);\n try {\n await writeFileAsync(fileFullPath, payload, { mode: 0o600 });\n } catch (writeError) {\n this._logger.warn(`Error writing file to persistent file storage`, writeError);\n return false;\n }\n return true;\n }\n}\n"]}
|
package/dist-esm/src/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ContextTagKeys } from \"./generated\";\n\nexport type Tags = { [key in ContextTagKeys]: string };\nexport type PropertyType = string | number | boolean | object | Array<PropertyType>;\nexport type Properties = { [key: string]: Properties | PropertyType };\nexport interface MSLink {\n operation_Id: string;\n id: string;\n}\nexport type Measurements = { [key: string]: number };\nexport type SenderResult = { statusCode: number; result: string };\n\nexport interface Sender {\n send(payload: unknown[]): Promise<SenderResult>;\n shutdown(): Promise<void>;\n}\n\nexport interface PersistentStorage {\n shift(): Promise<unknown>;\n push(value: unknown[]): Promise<boolean>;\n}\n"]}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
export function isRetriable(statusCode) {
|
|
4
|
-
return (statusCode === 206 || // Retriable
|
|
5
|
-
statusCode === 408 || // Timeout
|
|
6
|
-
statusCode === 429 || // Throttle
|
|
7
|
-
statusCode === 439 || // Quota
|
|
8
|
-
statusCode === 500 || // Server Error
|
|
9
|
-
statusCode === 503 // Server Unavilable
|
|
10
|
-
);
|
|
11
|
-
}
|
|
12
|
-
export function msToTimeSpan(ms) {
|
|
13
|
-
let totalms = ms;
|
|
14
|
-
if (Number.isNaN(totalms) || totalms < 0 || !Number.isFinite(ms)) {
|
|
15
|
-
totalms = 0;
|
|
16
|
-
}
|
|
17
|
-
let sec = ((totalms / 1000) % 60).toFixed(7).replace(/0{0,4}$/, "");
|
|
18
|
-
let min = `${Math.floor(totalms / (1000 * 60)) % 60}`;
|
|
19
|
-
let hour = `${Math.floor(totalms / (1000 * 60 * 60)) % 24}`;
|
|
20
|
-
const days = Math.floor(totalms / (1000 * 60 * 60 * 24));
|
|
21
|
-
sec = sec.indexOf(".") < 2 ? `0${sec}` : sec;
|
|
22
|
-
min = min.length < 2 ? `0${min}` : min;
|
|
23
|
-
hour = hour.length < 2 ? `0${hour}` : hour;
|
|
24
|
-
const daysText = days > 0 ? `${days}.` : "";
|
|
25
|
-
return `${daysText + hour}:${min}:${sec}`;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=breezeUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breezeUtils.js","sourceRoot":"","sources":["../../../src/utils/breezeUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAclC,MAAM,UAAU,WAAW,CAAC,UAAkB;IAC5C,OAAO,CACL,UAAU,KAAK,GAAG,IAAI,YAAY;QAClC,UAAU,KAAK,GAAG,IAAI,UAAU;QAChC,UAAU,KAAK,GAAG,IAAI,WAAW;QACjC,UAAU,KAAK,GAAG,IAAI,QAAQ;QAC9B,UAAU,KAAK,GAAG,IAAI,eAAe;QACrC,UAAU,KAAK,GAAG,CAAC,oBAAoB;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QAChE,OAAO,GAAG,CAAC,CAAC;KACb;IAED,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACtD,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAEzD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5C,OAAO,GAAG,QAAQ,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5C,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport interface BreezeError {\n index: number;\n statusCode: number;\n message: string;\n}\n\nexport interface BreezeResponse {\n itemsReceived: number;\n itemsAccepted: number;\n errors: BreezeError[];\n}\n\nexport function isRetriable(statusCode: number): boolean {\n return (\n statusCode === 206 || // Retriable\n statusCode === 408 || // Timeout\n statusCode === 429 || // Throttle\n statusCode === 439 || // Quota\n statusCode === 500 || // Server Error\n statusCode === 503 // Server Unavilable\n );\n}\n\nexport function msToTimeSpan(ms: number): string {\n let totalms = ms;\n if (Number.isNaN(totalms) || totalms < 0 || !Number.isFinite(ms)) {\n totalms = 0;\n }\n\n let sec = ((totalms / 1000) % 60).toFixed(7).replace(/0{0,4}$/, \"\");\n let min = `${Math.floor(totalms / (1000 * 60)) % 60}`;\n let hour = `${Math.floor(totalms / (1000 * 60 * 60)) % 24}`;\n const days = Math.floor(totalms / (1000 * 60 * 60 * 24));\n\n sec = sec.indexOf(\".\") < 2 ? `0${sec}` : sec;\n min = min.length < 2 ? `0${min}` : min;\n hour = hour.length < 2 ? `0${hour}` : hour;\n const daysText = days > 0 ? `${days}.` : \"\";\n\n return `${daysText + hour}:${min}:${sec}`;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connectionStringParser.js","sourceRoot":"","sources":["../../../src/utils/connectionStringParser.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Logger, NoopLogger } from \"@opentelemetry/api\";\nimport { ConnectionString, ConnectionStringKey } from \"../Declarations/Contracts\";\n\nimport * as Constants from \"../Declarations/Constants\";\n\nexport class ConnectionStringParser {\n private static readonly FIELDS_SEPARATOR = \";\";\n\n private static readonly FIELD_KEY_VALUE_SEPARATOR = \"=\";\n\n public static parse(\n connectionString?: string,\n logger: Logger = new NoopLogger()\n ): ConnectionString {\n if (!connectionString) {\n return {};\n }\n\n const kvPairs = connectionString.split(ConnectionStringParser.FIELDS_SEPARATOR);\n let isValid = true;\n\n const result: ConnectionString = kvPairs.reduce((fields: ConnectionString, kv: string) => {\n const kvParts = kv.split(ConnectionStringParser.FIELD_KEY_VALUE_SEPARATOR);\n\n if (kvParts.length === 2) {\n // only save fields with valid formats\n const key = kvParts[0].toLowerCase() as ConnectionStringKey;\n const value = kvParts[1];\n return { ...fields, [key]: value };\n }\n logger.error(\n `Connection string key-value pair is invalid: ${kv}`,\n `Entire connection string will be discarded`,\n connectionString\n );\n isValid = false;\n return fields;\n }, {});\n\n if (isValid && Object.keys(result).length > 0) {\n // this is a valid connection string, so parse the results\n\n if (result.endpointsuffix) {\n // use endpoint suffix where overrides are not provided\n const locationPrefix = result.location ? `${result.location}.` : \"\";\n result.ingestionendpoint =\n result.ingestionendpoint || `https://${locationPrefix}dc.${result.endpointsuffix}`;\n result.liveendpoint =\n result.liveendpoint || `https://${locationPrefix}live.${result.endpointsuffix}`;\n }\n\n result.ingestionendpoint = result.ingestionendpoint\n ? ConnectionStringParser.sanitizeUrl(result.ingestionendpoint)\n : Constants.DEFAULT_BREEZE_ENDPOINT;\n result.liveendpoint = result.liveendpoint\n ? ConnectionStringParser.sanitizeUrl(result.liveendpoint)\n : Constants.DEFAULT_LIVEMETRICS_ENDPOINT;\n if (result.authorization && result.authorization.toLowerCase() !== \"ikey\") {\n logger.warn(\n `Connection String contains an unsupported 'Authorization' value: ${result.authorization!}. Defaulting to 'Authorization=ikey'. Instrumentation Key ${result.instrumentationkey!}`\n );\n }\n } else {\n logger.error(\n \"An invalid connection string was passed in. There may be telemetry loss\",\n connectionString\n );\n }\n\n return result;\n }\n\n public static sanitizeUrl(url: string) {\n let newUrl = url.trim();\n if (newUrl.indexOf(\"https://\") < 0) {\n // Try to update http to https\n newUrl = newUrl.replace(\"http://\", \"https://\");\n }\n // Remove final slash if present\n if (newUrl[newUrl.length - 1] == \"/\") {\n newUrl = newUrl.slice(0, -1);\n }\n return newUrl;\n }\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
export const AI_CLOUD_ROLE = "ai.cloud.role";
|
|
4
|
-
export const AI_CLOUD_ROLE_INSTACE = "ai.cloud.roleInstance";
|
|
5
|
-
export const AI_OPERATION_ID = "ai.operation.id";
|
|
6
|
-
export const AI_OPERATION_PARENT_ID = "ai.operation.parentId";
|
|
7
|
-
export const AI_OPERATION_NAME = "ai.operation.name";
|
|
8
|
-
export const MS_LINKS = "_MS.links";
|
|
9
|
-
export const INPROC = "InProc";
|
|
10
|
-
export const ENQUEUED_TIME = "enqueuedTime";
|
|
11
|
-
export const TIME_SINCE_ENQUEUED = "timeSinceEnqueued";
|
|
12
|
-
export const packageVersion = "1.0.0-beta.3";
|
|
13
|
-
//# sourceMappingURL=applicationinsights.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"applicationinsights.js","sourceRoot":"","sources":["../../../../src/utils/constants/applicationinsights.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport const AI_CLOUD_ROLE = \"ai.cloud.role\";\nexport const AI_CLOUD_ROLE_INSTACE = \"ai.cloud.roleInstance\";\nexport const AI_OPERATION_ID = \"ai.operation.id\";\nexport const AI_OPERATION_PARENT_ID = \"ai.operation.parentId\";\nexport const AI_OPERATION_NAME = \"ai.operation.name\";\nexport const MS_LINKS = \"_MS.links\";\nexport const INPROC = \"InProc\";\nexport const ENQUEUED_TIME = \"enqueuedTime\";\nexport const TIME_SINCE_ENQUEUED = \"timeSinceEnqueued\";\nexport const packageVersion = \"1.0.0-beta.3\";\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
export const AzNamespace = "az.namespace";
|
|
4
|
-
export const MicrosoftEventHub = "Microsoft.EventHub";
|
|
5
|
-
export const MessageBusDestination = "message_bus.destination";
|
|
6
|
-
//# sourceMappingURL=azAttributes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"azAttributes.js","sourceRoot":"","sources":["../../../../../src/utils/constants/span/azAttributes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport const AzNamespace = \"az.namespace\";\nexport const MicrosoftEventHub = \"Microsoft.EventHub\";\nexport const MessageBusDestination = \"message_bus.destination\";\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
import * as conventions from "@opentelemetry/semantic-conventions";
|
|
4
|
-
export const { DB_TYPE } = conventions.DatabaseAttribute;
|
|
5
|
-
export const { DB_INSTANCE } = conventions.DatabaseAttribute;
|
|
6
|
-
export const { DB_STATEMENT } = conventions.DatabaseAttribute;
|
|
7
|
-
export const PEER_ADDRESS = conventions.GeneralAttribute.NET_PEER_ADDRESS;
|
|
8
|
-
export const PEER_HOSTNAME = conventions.GeneralAttribute.NET_PEER_HOSTNAME;
|
|
9
|
-
// Optionals
|
|
10
|
-
export const PEER_PORT = conventions.GeneralAttribute.NET_PEER_PORT;
|
|
11
|
-
export const PEER_IPV4 = conventions.GeneralAttribute.NET_PEER_IPV4;
|
|
12
|
-
export const PEER_IPV6 = conventions.GeneralAttribute.NET_PEER_IPV6;
|
|
13
|
-
export const PEER_SERVICE = conventions.GeneralAttribute.NET_PEER_SERVICE;
|
|
14
|
-
//# sourceMappingURL=dbAttributes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dbAttributes.js","sourceRoot":"","sources":["../../../../../src/utils/constants/span/dbAttributes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAC;AAEnE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,iBAAiB,CAAC;AACzD,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,iBAAiB,CAAC;AAC7D,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC,iBAAiB,CAAC;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;AAE5E,YAAY;AACZ,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACpE,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACpE,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as conventions from \"@opentelemetry/semantic-conventions\";\n\nexport const { DB_TYPE } = conventions.DatabaseAttribute;\nexport const { DB_INSTANCE } = conventions.DatabaseAttribute;\nexport const { DB_STATEMENT } = conventions.DatabaseAttribute;\nexport const PEER_ADDRESS = conventions.GeneralAttribute.NET_PEER_ADDRESS;\nexport const PEER_HOSTNAME = conventions.GeneralAttribute.NET_PEER_HOSTNAME;\n\n// Optionals\nexport const PEER_PORT = conventions.GeneralAttribute.NET_PEER_PORT;\nexport const PEER_IPV4 = conventions.GeneralAttribute.NET_PEER_IPV4;\nexport const PEER_IPV6 = conventions.GeneralAttribute.NET_PEER_IPV6;\nexport const PEER_SERVICE = conventions.GeneralAttribute.NET_PEER_SERVICE;\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
import * as conventions from "@opentelemetry/semantic-conventions";
|
|
4
|
-
export const { GRPC_KIND } = conventions.RpcAttribute;
|
|
5
|
-
export const { GRPC_METHOD } = conventions.RpcAttribute;
|
|
6
|
-
export const { GRPC_STATUS_CODE } = conventions.RpcAttribute;
|
|
7
|
-
export const { GRPC_ERROR_NAME } = conventions.RpcAttribute;
|
|
8
|
-
export const { GRPC_ERROR_MESSAGE } = conventions.RpcAttribute;
|
|
9
|
-
//# sourceMappingURL=grpcAttributes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grpcAttributes.js","sourceRoot":"","sources":["../../../../../src/utils/constants/span/grpcAttributes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAC;AAEnE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,YAAY,CAAC;AACxD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,YAAY,CAAC;AAC7D,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC,YAAY,CAAC;AAC5D,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,WAAW,CAAC,YAAY,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as conventions from \"@opentelemetry/semantic-conventions\";\n\nexport const { GRPC_KIND } = conventions.RpcAttribute;\nexport const { GRPC_METHOD } = conventions.RpcAttribute;\nexport const { GRPC_STATUS_CODE } = conventions.RpcAttribute;\nexport const { GRPC_ERROR_NAME } = conventions.RpcAttribute;\nexport const { GRPC_ERROR_MESSAGE } = conventions.RpcAttribute;\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
import * as conventions from "@opentelemetry/semantic-conventions";
|
|
4
|
-
export const { HTTP_METHOD } = conventions.HttpAttribute;
|
|
5
|
-
export const { HTTP_URL } = conventions.HttpAttribute;
|
|
6
|
-
export const { HTTP_ROUTE } = conventions.HttpAttribute;
|
|
7
|
-
export const { HTTP_STATUS_CODE } = conventions.HttpAttribute;
|
|
8
|
-
//# sourceMappingURL=httpAttributes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpAttributes.js","sourceRoot":"","sources":["../../../../../src/utils/constants/span/httpAttributes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAC;AAEnE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC;AACtD,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as conventions from \"@opentelemetry/semantic-conventions\";\n\nexport const { HTTP_METHOD } = conventions.HttpAttribute;\nexport const { HTTP_URL } = conventions.HttpAttribute;\nexport const { HTTP_ROUTE } = conventions.HttpAttribute;\nexport const { HTTP_STATUS_CODE } = conventions.HttpAttribute;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eventhub.js","sourceRoot":"","sources":["../../../src/utils/eventhub.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EACL,WAAW,EACX,qBAAqB,EAEtB,MAAM,+BAA+B,CAAC;AAEvC;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,IAAkB,EAAE,EAAE;IAClD,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACpC,MAAM,YAAY,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,aAAa,CAAoB,CAAC;QACpE,IAAI,YAAY,EAAE;YAChB,iBAAiB,IAAI,CAAC,CAAC;YACvB,eAAe,IAAI,WAAW,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7E;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAkB,EAClB,QAA4C,EACtC,EAAE;IACR,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAA6B,CAAC;IAC3E,MAAM,WAAW,GAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAC/B,SAAS,CAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;IACnE,MAAM,qBAAqB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,SAAS,CAAW,CAAC;IAE9F,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,QAAQ,CAAC,MAAM;YAClB,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YAC1B,QAAQ,CAAC,MAAM,GAAG,GAAG,WAAW,IAAI,qBAAqB,EAAE,CAAC;YAC5D,MAAM;QACR,KAAK,QAAQ,CAAC,QAAQ;YACpB,QAAQ,CAAC,IAAI,GAAG,mBAAmB,SAAS,EAAE,CAAC;YAC/C,QAAQ,CAAC,MAAM,GAAG,GAAG,WAAW,IAAI,qBAAqB,EAAE,CAAC;YAC5D,MAAM;QACR,KAAK,QAAQ,CAAC,QAAQ;YACpB,QAAQ,CAAC,IAAI,GAAG,mBAAmB,SAAS,EAAE,CAAC;YAC9C,QAAgB,CAAC,MAAM,GAAG,GAAG,WAAW,IAAI,qBAAqB,EAAE,CAAC;YACrE,QAAQ,CAAC,YAAY,mCAChB,QAAQ,CAAC,YAAY,KACxB,CAAC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAClD,CAAC;YACF,MAAM;QACR,QAAQ,CAAC,QAAQ;KAClB;AACH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { SpanKind } from \"@opentelemetry/api\";\nimport { hrTimeToMilliseconds } from \"@opentelemetry/core\";\nimport { GeneralAttribute } from \"@opentelemetry/semantic-conventions\";\nimport { ReadableSpan } from \"@opentelemetry/tracing\";\nimport { RemoteDependencyData, RequestData } from \"../generated\";\nimport { TIME_SINCE_ENQUEUED, ENQUEUED_TIME } from \"./constants/applicationinsights\";\nimport {\n AzNamespace,\n MessageBusDestination,\n MicrosoftEventHub\n} from \"./constants/span/azAttributes\";\n\n/**\n * Average span.links[].attributes.enqueuedTime\n */\nconst getTimeSinceEnqueued = (span: ReadableSpan) => {\n let countEnqueueDiffs = 0;\n let sumEnqueueDiffs = 0;\n const startTimeMs = hrTimeToMilliseconds(span.startTime);\n\n span.links.forEach(({ attributes }) => {\n const enqueuedTime = attributes?.[ENQUEUED_TIME] as string | number;\n if (enqueuedTime) {\n countEnqueueDiffs += 1;\n sumEnqueueDiffs += startTimeMs - (parseFloat(enqueuedTime.toString()) || 0);\n }\n });\n\n return Math.max(sumEnqueueDiffs / (countEnqueueDiffs || 1), 0);\n};\n\n/**\n * Implementation of Mapping to Azure Monitor\n *\n * https://gist.github.com/lmolkova/e4215c0f44a49ef824983382762e6b92#mapping-to-azure-monitor-application-insights-telemetry\n */\nexport const parseEventHubSpan = (\n span: ReadableSpan,\n baseData: RequestData | RemoteDependencyData\n): void => {\n const namespace = span.attributes[AzNamespace] as typeof MicrosoftEventHub;\n const peerAddress = ((span.attributes[GeneralAttribute.NET_PEER_ADDRESS] ||\n span.attributes[\"peer.address\"] ||\n \"unknown\") as string).replace(/\\/$/g, \"\"); // remove trailing \"/\"\n const messageBusDestination = (span.attributes[MessageBusDestination] || \"unknown\") as string;\n\n switch (span.kind) {\n case SpanKind.CLIENT:\n baseData.type = namespace;\n baseData.target = `${peerAddress}/${messageBusDestination}`;\n break;\n case SpanKind.PRODUCER:\n baseData.type = `Queue Message | ${namespace}`;\n baseData.target = `${peerAddress}/${messageBusDestination}`;\n break;\n case SpanKind.CONSUMER:\n baseData.type = `Queue Message | ${namespace}`;\n (baseData as any).source = `${peerAddress}/${messageBusDestination}`;\n baseData.measurements = {\n ...baseData.measurements,\n [TIME_SINCE_ENQUEUED]: getTimeSinceEnqueued(span)\n };\n break;\n default: // no op\n }\n};\n"]}
|