@azure/monitor-opentelemetry-exporter 1.0.0-beta.18 → 1.0.0-beta.20
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 +3 -1
- package/dist/index.js +389 -378
- package/dist-esm/src/export/base.js.map +1 -1
- package/dist-esm/src/export/log.js.map +1 -1
- package/dist-esm/src/export/metric.js.map +1 -1
- package/dist-esm/src/export/statsbeat/longIntervalStatsbeatMetrics.js +4 -4
- package/dist-esm/src/export/statsbeat/longIntervalStatsbeatMetrics.js.map +1 -1
- package/dist-esm/src/export/statsbeat/networkStatsbeatMetrics.js +3 -3
- package/dist-esm/src/export/statsbeat/networkStatsbeatMetrics.js.map +1 -1
- package/dist-esm/src/export/statsbeat/statsbeatExporter.js +2 -2
- package/dist-esm/src/export/statsbeat/statsbeatExporter.js.map +1 -1
- package/dist-esm/src/export/statsbeat/statsbeatMetrics.js +1 -1
- package/dist-esm/src/export/statsbeat/statsbeatMetrics.js.map +1 -1
- package/dist-esm/src/export/trace.js.map +1 -1
- package/dist-esm/src/generated/applicationInsightsClient.js +13 -30
- package/dist-esm/src/generated/applicationInsightsClient.js.map +1 -1
- package/dist-esm/src/generated/models/index.js.map +1 -1
- package/dist-esm/src/generated/models/mappers.js +276 -276
- package/dist-esm/src/generated/models/mappers.js.map +1 -1
- package/dist-esm/src/generated/models/parameters.js +14 -14
- package/dist-esm/src/generated/models/parameters.js.map +1 -1
- package/dist-esm/src/platform/nodejs/baseSender.js +27 -8
- package/dist-esm/src/platform/nodejs/baseSender.js.map +1 -1
- package/dist-esm/src/platform/nodejs/context/context.js +2 -4
- package/dist-esm/src/platform/nodejs/context/context.js.map +1 -1
- package/dist-esm/src/platform/nodejs/httpSender.js.map +1 -1
- package/dist-esm/src/platform/nodejs/persist/fileAccessControl.js +2 -2
- package/dist-esm/src/platform/nodejs/persist/fileAccessControl.js.map +1 -1
- package/dist-esm/src/platform/nodejs/persist/fileSystemHelpers.js +15 -8
- package/dist-esm/src/platform/nodejs/persist/fileSystemHelpers.js.map +1 -1
- package/dist-esm/src/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
- package/dist-esm/src/sampling.js.map +1 -1
- package/dist-esm/src/utils/breezeUtils.js +12 -16
- package/dist-esm/src/utils/breezeUtils.js.map +1 -1
- package/dist-esm/src/utils/common.js +5 -1
- package/dist-esm/src/utils/common.js.map +1 -1
- package/dist-esm/src/utils/connectionStringParser.js.map +1 -1
- package/dist-esm/src/utils/constants/applicationinsights.js +2 -1
- package/dist-esm/src/utils/constants/applicationinsights.js.map +1 -1
- package/dist-esm/src/utils/eventhub.js.map +1 -1
- package/dist-esm/src/utils/logUtils.js +2 -3
- package/dist-esm/src/utils/logUtils.js.map +1 -1
- package/dist-esm/src/utils/metricUtils.js +1 -1
- package/dist-esm/src/utils/metricUtils.js.map +1 -1
- package/dist-esm/src/utils/spanUtils.js +14 -9
- package/dist-esm/src/utils/spanUtils.js.map +1 -1
- package/package.json +17 -18
- package/types/monitor-opentelemetry-exporter.d.ts +3 -0
|
@@ -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"]}
|
|
@@ -12,9 +12,9 @@ export const contentType = {
|
|
|
12
12
|
isConstant: true,
|
|
13
13
|
serializedName: "Content-Type",
|
|
14
14
|
type: {
|
|
15
|
-
name: "String"
|
|
16
|
-
}
|
|
17
|
-
}
|
|
15
|
+
name: "String",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
18
|
};
|
|
19
19
|
export const body = {
|
|
20
20
|
parameterPath: "body",
|
|
@@ -26,11 +26,11 @@ export const body = {
|
|
|
26
26
|
element: {
|
|
27
27
|
type: {
|
|
28
28
|
name: "Composite",
|
|
29
|
-
className: "TelemetryItem"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
29
|
+
className: "TelemetryItem",
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
34
|
};
|
|
35
35
|
export const accept = {
|
|
36
36
|
parameterPath: "accept",
|
|
@@ -39,9 +39,9 @@ export const accept = {
|
|
|
39
39
|
isConstant: true,
|
|
40
40
|
serializedName: "Accept",
|
|
41
41
|
type: {
|
|
42
|
-
name: "String"
|
|
43
|
-
}
|
|
44
|
-
}
|
|
42
|
+
name: "String",
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
45
|
};
|
|
46
46
|
export const host = {
|
|
47
47
|
parameterPath: "host",
|
|
@@ -49,9 +49,9 @@ export const host = {
|
|
|
49
49
|
serializedName: "Host",
|
|
50
50
|
required: true,
|
|
51
51
|
type: {
|
|
52
|
-
name: "String"
|
|
53
|
-
}
|
|
52
|
+
name: "String",
|
|
53
|
+
},
|
|
54
54
|
},
|
|
55
|
-
skipEncoding: true
|
|
55
|
+
skipEncoding: true,
|
|
56
56
|
};
|
|
57
57
|
//# sourceMappingURL=parameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../src/generated/models/parameters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAuB;IAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,eAAe;iBAC3B;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAA0B;IACzC,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { OperationParameter, OperationURLParameter } from \"@azure/core-client\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../src/generated/models/parameters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAuB;IAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,eAAe;iBAC3B;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAA0B;IACzC,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { OperationParameter, OperationURLParameter } from \"@azure/core-client\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const body: OperationParameter = {\n parameterPath: \"body\",\n mapper: {\n serializedName: \"body\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TelemetryItem\",\n },\n },\n },\n },\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const host: OperationURLParameter = {\n parameterPath: \"host\",\n mapper: {\n serializedName: \"Host\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n skipEncoding: true,\n};\n"]}
|
|
@@ -30,6 +30,7 @@ export class BaseSender {
|
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
this.retryTimer = null;
|
|
33
|
+
this.isStatsbeatSender = options.isStatsbeatSender || false;
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
35
36
|
* Export envelopes
|
|
@@ -136,15 +137,25 @@ export class BaseSender {
|
|
|
136
137
|
(_g = this.networkStatsbeatMetrics) === null || _g === void 0 ? void 0 : _g.countRetry(restError.statusCode);
|
|
137
138
|
return this.persist(envelopes);
|
|
138
139
|
}
|
|
140
|
+
else if (restError.statusCode === 400 &&
|
|
141
|
+
restError.message.includes("Invalid instrumentation key")) {
|
|
142
|
+
const invalidInstrumentationKeyError = new Error("Invalid instrumentation key");
|
|
143
|
+
this.shutdownStatsbeat();
|
|
144
|
+
return { code: ExportResultCode.FAILED, error: invalidInstrumentationKeyError };
|
|
145
|
+
}
|
|
139
146
|
if (this.isNetworkError(restError)) {
|
|
140
147
|
if (restError.statusCode) {
|
|
141
148
|
(_h = this.networkStatsbeatMetrics) === null || _h === void 0 ? void 0 : _h.countRetry(restError.statusCode);
|
|
142
149
|
}
|
|
143
|
-
|
|
150
|
+
if (!this.isStatsbeatSender) {
|
|
151
|
+
diag.error("Retrying due to transient client side error. Error message:", restError.message);
|
|
152
|
+
}
|
|
144
153
|
return this.persist(envelopes);
|
|
145
154
|
}
|
|
146
155
|
(_j = this.networkStatsbeatMetrics) === null || _j === void 0 ? void 0 : _j.countException(restError);
|
|
147
|
-
|
|
156
|
+
if (!this.isStatsbeatSender) {
|
|
157
|
+
diag.error("Envelopes could not be exported and are not retriable. Error message:", restError.message);
|
|
158
|
+
}
|
|
148
159
|
return { code: ExportResultCode.FAILED, error: restError };
|
|
149
160
|
}
|
|
150
161
|
}
|
|
@@ -165,17 +176,25 @@ export class BaseSender {
|
|
|
165
176
|
return { code: ExportResultCode.FAILED, error: ex };
|
|
166
177
|
}
|
|
167
178
|
}
|
|
168
|
-
|
|
179
|
+
/**
|
|
180
|
+
* Disable collection of statsbeat metrics after max failures
|
|
181
|
+
*/
|
|
169
182
|
incrementStatsbeatFailure() {
|
|
170
|
-
var _a, _b;
|
|
171
183
|
this.statsbeatFailureCount++;
|
|
172
184
|
if (this.statsbeatFailureCount > MAX_STATSBEAT_FAILURES) {
|
|
173
|
-
|
|
174
|
-
(_b = this.longIntervalStatsbeatMetrics) === null || _b === void 0 ? void 0 : _b.shutdown();
|
|
175
|
-
this.networkStatsbeatMetrics = undefined;
|
|
176
|
-
this.statsbeatFailureCount = 0;
|
|
185
|
+
this.shutdownStatsbeat();
|
|
177
186
|
}
|
|
178
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Shutdown statsbeat metrics
|
|
190
|
+
*/
|
|
191
|
+
shutdownStatsbeat() {
|
|
192
|
+
var _a, _b;
|
|
193
|
+
(_a = this.networkStatsbeatMetrics) === null || _a === void 0 ? void 0 : _a.shutdown();
|
|
194
|
+
(_b = this.longIntervalStatsbeatMetrics) === null || _b === void 0 ? void 0 : _b.shutdown();
|
|
195
|
+
this.networkStatsbeatMetrics = undefined;
|
|
196
|
+
this.statsbeatFailureCount = 0;
|
|
197
|
+
}
|
|
179
198
|
async sendFirstPersistedFile() {
|
|
180
199
|
try {
|
|
181
200
|
const envelopes = (await this.persister.shift());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseSender.js","sourceRoot":"","sources":["../../../../src/platform/nodejs/baseSender.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { diag } from \"@opentelemetry/api\";\nimport { PersistentStorage, SenderResult } from \"../../types\";\nimport { AzureMonitorExporterOptions } from \"../../config\";\nimport { FileSystemPersist } from \"./persist\";\nimport { ExportResult, ExportResultCode } from \"@opentelemetry/core\";\nimport { NetworkStatsbeatMetrics } from \"../../export/statsbeat/networkStatsbeatMetrics\";\nimport { getInstance } from \"../../export/statsbeat/longIntervalStatsbeatMetrics\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\nimport { MAX_STATSBEAT_FAILURES } from \"../../export/statsbeat/types\";\nimport { BreezeResponse, isRetriable } from \"../../utils/breezeUtils\";\nimport { TelemetryItem as Envelope } from \"../../generated\";\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\n constructor(options: {\n endpointUrl: string;\n instrumentationKey: string;\n trackStatsbeat: boolean;\n exporterOptions: AzureMonitorExporterOptions;\n aadAudience?: string;\n }) {\n this.numConsecutiveRedirects = 0;\n this.persister = new FileSystemPersist(options.instrumentationKey, options.exporterOptions);\n if (options.trackStatsbeat) {\n // Initialize statsbeatMetrics\n this.networkStatsbeatMetrics = new NetworkStatsbeatMetrics({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\n });\n this.longIntervalStatsbeatMetrics = getInstance({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\n });\n }\n this.retryTimer = null;\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 exportings statsbeat and statsbeat is not disabled -- count success\n this.networkStatsbeatMetrics?.countSuccess(duration);\n return { code: ExportResultCode.SUCCESS };\n } else if (statusCode && isRetriable(statusCode)) {\n // Failed -- persist failed data\n if (statusCode === 429 || statusCode === 439) {\n this.networkStatsbeatMetrics?.countThrottle(statusCode);\n }\n if (result) {\n diag.info(result);\n const breezeResponse = JSON.parse(result) as BreezeResponse;\n const filteredEnvelopes: Envelope[] = [];\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 this.networkStatsbeatMetrics?.countRetry(statusCode);\n // calls resultCallback(ExportResult) based on result of persister.push\n return await this.persist(filteredEnvelopes);\n }\n // Failed -- not retriable\n this.networkStatsbeatMetrics?.countFailure(duration, statusCode);\n return {\n code: ExportResultCode.FAILED,\n };\n } else {\n // calls resultCallback(ExportResult) based on result of persister.push\n this.networkStatsbeatMetrics?.countRetry(statusCode);\n return await this.persist(envelopes);\n }\n } else {\n // Failed -- not retriable\n if (this.networkStatsbeatMetrics) {\n if (statusCode) {\n this.networkStatsbeatMetrics.countFailure(duration, statusCode);\n }\n } else {\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 this.networkStatsbeatMetrics?.countException(redirectError);\n return { code: ExportResultCode.FAILED, error: redirectError };\n }\n } else if (restError.statusCode && isRetriable(restError.statusCode)) {\n this.networkStatsbeatMetrics?.countRetry(restError.statusCode);\n return this.persist(envelopes);\n }\n if (this.isNetworkError(restError)) {\n if (restError.statusCode) {\n this.networkStatsbeatMetrics?.countRetry(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 this.networkStatsbeatMetrics?.countException(restError);\n diag.error(\n \"Envelopes could not be exported and are not retriable. Error message:\",\n restError.message\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 return { code: ExportResultCode.FAILED, error: ex };\n }\n }\n\n // Disable collection of statsbeat metrics after max failures\n private incrementStatsbeatFailure() {\n this.statsbeatFailureCount++;\n if (this.statsbeatFailureCount > MAX_STATSBEAT_FAILURES) {\n this.networkStatsbeatMetrics?.shutdown();\n this.longIntervalStatsbeatMetrics?.shutdown();\n this.networkStatsbeatMetrics = undefined;\n this.statsbeatFailureCount = 0;\n }\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 diag.warn(`Failed to fetch persisted file`, err);\n }\n }\n\n private isNetworkError(error: RestError): boolean {\n if (error && error.code && error.code === \"REQUEST_SEND_ERROR\") {\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":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { diag } from \"@opentelemetry/api\";\nimport { PersistentStorage, SenderResult } from \"../../types\";\nimport { AzureMonitorExporterOptions } from \"../../config\";\nimport { FileSystemPersist } from \"./persist\";\nimport { ExportResult, ExportResultCode } from \"@opentelemetry/core\";\nimport { NetworkStatsbeatMetrics } from \"../../export/statsbeat/networkStatsbeatMetrics\";\nimport { getInstance } from \"../../export/statsbeat/longIntervalStatsbeatMetrics\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\nimport { MAX_STATSBEAT_FAILURES } from \"../../export/statsbeat/types\";\nimport { BreezeResponse, isRetriable } from \"../../utils/breezeUtils\";\nimport { TelemetryItem as Envelope } from \"../../generated\";\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\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.persister = new FileSystemPersist(options.instrumentationKey, options.exporterOptions);\n if (options.trackStatsbeat) {\n // Initialize statsbeatMetrics\n this.networkStatsbeatMetrics = new NetworkStatsbeatMetrics({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\n });\n this.longIntervalStatsbeatMetrics = getInstance({\n instrumentationKey: options.instrumentationKey,\n endpointUrl: options.endpointUrl,\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 exportings statsbeat and statsbeat is not disabled -- count success\n this.networkStatsbeatMetrics?.countSuccess(duration);\n return { code: ExportResultCode.SUCCESS };\n } else if (statusCode && isRetriable(statusCode)) {\n // Failed -- persist failed data\n if (statusCode === 429 || statusCode === 439) {\n this.networkStatsbeatMetrics?.countThrottle(statusCode);\n }\n if (result) {\n diag.info(result);\n const breezeResponse = JSON.parse(result) as BreezeResponse;\n const filteredEnvelopes: Envelope[] = [];\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 this.networkStatsbeatMetrics?.countRetry(statusCode);\n // calls resultCallback(ExportResult) based on result of persister.push\n return await this.persist(filteredEnvelopes);\n }\n // Failed -- not retriable\n this.networkStatsbeatMetrics?.countFailure(duration, statusCode);\n return {\n code: ExportResultCode.FAILED,\n };\n } else {\n // calls resultCallback(ExportResult) based on result of persister.push\n this.networkStatsbeatMetrics?.countRetry(statusCode);\n return await this.persist(envelopes);\n }\n } else {\n // Failed -- not retriable\n if (this.networkStatsbeatMetrics) {\n if (statusCode) {\n this.networkStatsbeatMetrics.countFailure(duration, statusCode);\n }\n } else {\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 this.networkStatsbeatMetrics?.countException(redirectError);\n return { code: ExportResultCode.FAILED, error: redirectError };\n }\n } else if (restError.statusCode && isRetriable(restError.statusCode)) {\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 const invalidInstrumentationKeyError = new Error(\"Invalid instrumentation key\");\n this.shutdownStatsbeat();\n return { code: ExportResultCode.FAILED, error: invalidInstrumentationKeyError };\n }\n if (this.isNetworkError(restError)) {\n if (restError.statusCode) {\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 this.networkStatsbeatMetrics?.countException(restError);\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 return { code: ExportResultCode.FAILED, error: ex };\n }\n }\n\n /**\n * Disable collection of statsbeat metrics after max failures\n */\n private incrementStatsbeatFailure() {\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() {\n this.networkStatsbeatMetrics?.shutdown();\n this.longIntervalStatsbeatMetrics?.shutdown();\n this.networkStatsbeatMetrics = undefined;\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 diag.warn(`Failed to fetch persisted file`, err);\n }\n }\n\n private isNetworkError(error: RestError): boolean {\n if (error && error.code && error.code === \"REQUEST_SEND_ERROR\") {\n return true;\n }\n return false;\n }\n}\n"]}
|
|
@@ -24,11 +24,9 @@ export class Context {
|
|
|
24
24
|
[Context.nodeVersion] = node.split(".");
|
|
25
25
|
Context.opentelemetryVersion = SDK_INFO[SemanticResourceAttributes.TELEMETRY_SDK_VERSION];
|
|
26
26
|
Context.sdkVersion = ai.packageVersion;
|
|
27
|
-
const prefix = process.env["
|
|
28
|
-
? process.env["AZURE_MONITOR_AGENT_PREFIX"]
|
|
29
|
-
: "";
|
|
27
|
+
const prefix = process.env["AZURE_MONITOR_PREFIX"] ? process.env["AZURE_MONITOR_PREFIX"] : "";
|
|
30
28
|
const version = process.env["AZURE_MONITOR_DISTRO_VERSION"]
|
|
31
|
-
? `
|
|
29
|
+
? `ext${process.env["AZURE_MONITOR_DISTRO_VERSION"]}`
|
|
32
30
|
: `ext${Context.sdkVersion}`;
|
|
33
31
|
const internalSdkVersion = `${prefix}node${Context.nodeVersion}:otel${Context.opentelemetryVersion}:${version}`;
|
|
34
32
|
this.tags[KnownContextTagKeys.AiInternalSdkVersion] = internalSdkVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/platform/nodejs/context/context.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,8CAA8C,CAAC;AAGnE,IAAI,QAAQ,GAAmB,IAAI,CAAC;AAEpC;;;GAGG;AACH,MAAM,OAAO,OAAO;IASlB;QACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;IAC1F,CAAC;IAEO,oBAAoB;QAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;QAC1F,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC;QAEvC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/platform/nodejs/context/context.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,8CAA8C,CAAC;AAGnE,IAAI,QAAQ,GAAmB,IAAI,CAAC;AAEpC;;;GAGG;AACH,MAAM,OAAO,OAAO;IASlB;QACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;IAC1F,CAAC;IAEO,oBAAoB;QAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;QAC1F,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC;QAEvC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;YACzD,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE;YACrD,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,kBAAkB,GAAG,GAAG,MAAM,OAAO,OAAO,CAAC,WAAW,QAAQ,OAAO,CAAC,oBAAoB,IAAI,OAAO,EAAE,CAAC;QAChH,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,GAAG,kBAAkB,CAAC;IAC3E,CAAC;;AA5Ba,kBAAU,GAAkB,IAAI,CAAC;AAEjC,4BAAoB,GAAkB,IAAI,CAAC;AAE3C,mBAAW,GAAW,EAAE,CAAC;AA2BzC;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as os from \"os\";\nimport { SDK_INFO } from \"@opentelemetry/core\";\nimport { SemanticResourceAttributes } from \"@opentelemetry/semantic-conventions\";\n\nimport { KnownContextTagKeys } from \"../../../generated\";\nimport * as ai from \"../../../utils/constants/applicationinsights\";\nimport { Tags } from \"../../../types\";\n\nlet instance: Context | null = null;\n\n/**\n * Azure Telemetry context.\n * @internal\n */\nexport class Context {\n public tags: Tags;\n\n public static sdkVersion: string | null = null;\n\n public static opentelemetryVersion: string | null = null;\n\n public static nodeVersion: string = \"\";\n\n constructor() {\n this.tags = {};\n this._loadDeviceContext();\n this._loadInternalContext();\n }\n\n private _loadDeviceContext(): void {\n this.tags[KnownContextTagKeys.AiDeviceOsVersion] = os && `${os.type()} ${os.release()}`;\n }\n\n private _loadInternalContext(): void {\n const { node } = process.versions;\n [Context.nodeVersion] = node.split(\".\");\n Context.opentelemetryVersion = SDK_INFO[SemanticResourceAttributes.TELEMETRY_SDK_VERSION];\n Context.sdkVersion = ai.packageVersion;\n\n const prefix = process.env[\"AZURE_MONITOR_PREFIX\"] ? process.env[\"AZURE_MONITOR_PREFIX\"] : \"\";\n const version = process.env[\"AZURE_MONITOR_DISTRO_VERSION\"]\n ? `ext${process.env[\"AZURE_MONITOR_DISTRO_VERSION\"]}`\n : `ext${Context.sdkVersion}`;\n const internalSdkVersion = `${prefix}node${Context.nodeVersion}:otel${Context.opentelemetryVersion}:${version}`;\n this.tags[KnownContextTagKeys.AiInternalSdkVersion] = internalSdkVersion;\n }\n}\n\n/**\n * Singleton Context instance\n * @internal\n */\nexport function getInstance(): Context {\n if (!instance) {\n instance = new Context();\n }\n return instance;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpSender.js","sourceRoot":"","sources":["../../../../src/platform/nodejs/httpSender.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAEL,yBAAyB,GAG1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,2BAA2B,GAAG,qCAAqC,CAAC;AAE1E;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,UAAU;IAIxC,YAAY,
|
|
1
|
+
{"version":3,"file":"httpSender.js","sourceRoot":"","sources":["../../../../src/platform/nodejs/httpSender.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAEL,yBAAyB,GAG1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,2BAA2B,GAAG,qCAAqC,CAAC;AAE1E;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,UAAU;IAIxC,YAAY,OAOX;QACC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,gEAAgE;QAChE,IAAI,CAAC,wBAAwB,mBAC3B,IAAI,EAAE,OAAO,CAAC,WAAW,IACtB,OAAO,CAAC,eAAe,CAC3B,CAAC;QAEF,IAAI,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC;YAC7C,uBAAuB;YACvB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,UAAU;gBACV,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAEtF,kCAAkC;QAClC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,SAAqB;;QAC9B,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,IAAI,QAA2C,CAAC;QAChD,SAAS,UAAU,CAAC,WAAkC,EAAE,YAAqB;YAC3E,QAAQ,GAAG,WAAW,CAAC;YACvB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,kCACvC,OAAO,KACV,UAAU,IACV,CAAC;QAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,mCAAI,EAAE,EAAE,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxC,CAAC;IAED,uBAAuB,CAAC,QAA4B;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport url from \"url\";\nimport { diag } from \"@opentelemetry/api\";\nimport { FullOperationResponse } from \"@azure/core-client\";\nimport { redirectPolicyName } from \"@azure/core-rest-pipeline\";\nimport { SenderResult } from \"../../types\";\nimport {\n TelemetryItem as Envelope,\n ApplicationInsightsClient,\n ApplicationInsightsClientOptionalParams,\n TrackOptionalParams,\n} from \"../../generated\";\nimport { AzureMonitorExporterOptions } from \"../../config\";\nimport { BaseSender } from \"./baseSender\";\n\nconst applicationInsightsResource = \"https://monitor.azure.com//.default\";\n\n/**\n * Exporter HTTP sender class\n * @internal\n */\nexport class HttpSender extends BaseSender {\n private readonly appInsightsClient: ApplicationInsightsClient;\n private appInsightsClientOptions: ApplicationInsightsClientOptionalParams;\n\n constructor(options: {\n endpointUrl: string;\n instrumentationKey: string;\n trackStatsbeat: boolean;\n exporterOptions: AzureMonitorExporterOptions;\n aadAudience?: string;\n isStatsbeatSender?: boolean;\n }) {\n super(options);\n // Build endpoint using provided configuration or default values\n this.appInsightsClientOptions = {\n host: options.endpointUrl,\n ...options.exporterOptions,\n };\n\n if (this.appInsightsClientOptions.credential) {\n // Add credentialScopes\n if (options.aadAudience) {\n this.appInsightsClientOptions.credentialScopes = [options.aadAudience];\n } else {\n // Default\n this.appInsightsClientOptions.credentialScopes = [applicationInsightsResource];\n }\n }\n this.appInsightsClient = new ApplicationInsightsClient(this.appInsightsClientOptions);\n\n // Handle redirects in HTTP Sender\n this.appInsightsClient.pipeline.removePolicy({ name: redirectPolicyName });\n }\n\n /**\n * Send Azure envelopes\n * @internal\n */\n async send(envelopes: Envelope[]): Promise<SenderResult> {\n const options: TrackOptionalParams = {};\n let response: FullOperationResponse | undefined;\n function onResponse(rawResponse: FullOperationResponse, flatResponse: unknown): void {\n response = rawResponse;\n if (options.onResponse) {\n options.onResponse(rawResponse, flatResponse);\n }\n }\n await this.appInsightsClient.track(envelopes, {\n ...options,\n onResponse,\n });\n\n return { statusCode: response?.status, result: response?.bodyAsText ?? \"\" };\n }\n\n /**\n * Shutdown sender\n * @internal\n */\n async shutdown(): Promise<void> {\n diag.info(\"HttpSender shutting down\");\n }\n\n handlePermanentRedirect(location: string | undefined) {\n if (location) {\n const locUrl = new url.URL(location);\n if (locUrl && locUrl.host) {\n this.appInsightsClient.host = \"https://\" + locUrl.host;\n }\n }\n }\n}\n"]}
|
|
@@ -154,9 +154,9 @@ export class FileAccessControl {
|
|
|
154
154
|
return [
|
|
155
155
|
directory,
|
|
156
156
|
"/grant",
|
|
157
|
-
"*S-1-5-32-544:(OI)(CI)F",
|
|
157
|
+
"*S-1-5-32-544:(OI)(CI)F", // Full permission for Administrators
|
|
158
158
|
"/grant",
|
|
159
|
-
`${identity}:(OI)(CI)F`,
|
|
159
|
+
`${identity}:(OI)(CI)F`, // Full permission for current user
|
|
160
160
|
"/inheritance:r",
|
|
161
161
|
]; // Remove all inherited permissions
|
|
162
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileAccessControl.js","sourceRoot":"","sources":["../../../../../src/platform/nodejs/persist/fileAccessControl.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 child_process from \"child_process\";\nimport { diag } from \"@opentelemetry/api\";\n\nexport class FileAccessControl {\n private static ICACLS_PATH = `${process.env.systemdrive}/windows/system32/icacls.exe`;\n private static POWERSHELL_PATH = `${process.env.systemdrive}/windows/system32/windowspowershell/v1.0/powershell.exe`;\n private static ACLED_DIRECTORIES: { [id: string]: boolean } = {};\n private static ACL_IDENTITY: string | null = null;\n private static OS_FILE_PROTECTION_CHECKED = false;\n public static OS_PROVIDES_FILE_PROTECTION = false;\n public static USE_ICACLS = os.type() === \"Windows_NT\";\n\n // Check if file access control could be enabled\n public static checkFileProtection() {\n if (\n !FileAccessControl.OS_PROVIDES_FILE_PROTECTION &&\n !FileAccessControl.OS_FILE_PROTECTION_CHECKED\n ) {\n FileAccessControl.OS_FILE_PROTECTION_CHECKED = true;\n // Node's chmod levels do not appropriately restrict file access on Windows\n // Use the built-in command line tool ICACLS on Windows to properly restrict\n // access to the temporary directory used for disk retry mode.\n if (FileAccessControl.USE_ICACLS) {\n // This should be async - but it's currently safer to have this synchronous\n // This guarantees we can immediately fail setDiskRetryMode if we need to\n try {\n FileAccessControl.OS_PROVIDES_FILE_PROTECTION = fs.existsSync(\n FileAccessControl.ICACLS_PATH\n );\n } catch (e: any) {\n // Ignore error\n }\n if (!FileAccessControl.OS_PROVIDES_FILE_PROTECTION) {\n diag.warn(\n \"Could not find ICACLS in expected location! This is necessary to use disk retry mode on Windows.\"\n );\n }\n } else {\n // chmod works everywhere else\n FileAccessControl.OS_PROVIDES_FILE_PROTECTION = true;\n }\n }\n }\n\n public static async applyACLRules(directory: string): Promise<void> {\n if (FileAccessControl.USE_ICACLS) {\n if (FileAccessControl.ACLED_DIRECTORIES[directory] === undefined) {\n // Avoid multiple calls race condition by setting ACLED_DIRECTORIES to false for this directory immediately\n // If batches are being failed faster than the processes spawned below return, some data won't be stored to disk\n // This is better than the alternative of potentially infinitely spawned processes\n FileAccessControl.ACLED_DIRECTORIES[directory] = false;\n try {\n // Restrict this directory to only current user and administrator access\n const identity = await this._getACLIdentity();\n await this._runICACLS(this._getACLArguments(directory, identity));\n FileAccessControl.ACLED_DIRECTORIES[directory] = true;\n } catch (ex: any) {\n FileAccessControl.ACLED_DIRECTORIES[directory] = false; // false is used to cache failed (vs undefined which is \"not yet tried\")\n throw ex;\n }\n } else {\n if (!FileAccessControl.ACLED_DIRECTORIES[directory]) {\n throw new Error(\"Setting ACL restrictions did not succeed (cached result)\");\n }\n }\n }\n }\n\n public static applyACLRulesSync(directory: string) {\n if (FileAccessControl.USE_ICACLS) {\n // For performance, only run ACL rules if we haven't already during this session\n if (FileAccessControl.ACLED_DIRECTORIES[directory] === undefined) {\n this._runICACLSSync(this._getACLArguments(directory, this._getACLIdentitySync()));\n FileAccessControl.ACLED_DIRECTORIES[directory] = true; // If we get here, it succeeded. _runIACLSSync will throw on failures\n return;\n } else if (!FileAccessControl.ACLED_DIRECTORIES[directory]) {\n // falsy but not undefined\n throw new Error(\"Setting ACL restrictions did not succeed (cached result)\");\n }\n }\n }\n\n private static _runICACLS(args: string[]): Promise<void> {\n return new Promise((resolve, reject) => {\n const aclProc = child_process.spawn(FileAccessControl.ICACLS_PATH, args, <any>{\n windowsHide: true,\n });\n aclProc.on(\"error\", (e: Error) => reject(e));\n aclProc.on(\"close\", (code: number) => {\n if (code === 0) {\n resolve();\n } else {\n reject(\n new Error(`Setting ACL restrictions did not succeed (ICACLS returned code ${code})`)\n );\n }\n });\n });\n }\n\n private static _runICACLSSync(args: string[]) {\n // Some very old versions of Node (< 0.11) don't have this\n if (child_process.spawnSync) {\n const aclProc = child_process.spawnSync(FileAccessControl.ICACLS_PATH, args, <any>{\n windowsHide: true,\n });\n if (aclProc.error) {\n throw aclProc.error;\n } else if (aclProc.status !== 0) {\n throw new Error(\n `Setting ACL restrictions did not succeed (ICACLS returned code ${aclProc.status})`\n );\n }\n } else {\n throw new Error(\"Could not synchronously call ICACLS under current version of Node.js\");\n }\n }\n\n private static _getACLIdentity(): Promise<string> {\n return new Promise((resolve, reject) => {\n if (FileAccessControl.ACL_IDENTITY) {\n resolve(FileAccessControl.ACL_IDENTITY);\n }\n const psProc = child_process.spawn(\n FileAccessControl.POWERSHELL_PATH,\n [\"-Command\", \"[System.Security.Principal.WindowsIdentity]::GetCurrent().Name\"],\n <any>{\n windowsHide: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"], // Needed to prevent hanging on Win 7\n }\n );\n let data = \"\";\n psProc.stdout.on(\"data\", (d: string) => (data += d));\n psProc.on(\"error\", (e: Error) => reject(e));\n psProc.on(\"close\", (code: number) => {\n FileAccessControl.ACL_IDENTITY = data && data.trim();\n if (code === 0) {\n resolve(FileAccessControl.ACL_IDENTITY);\n } else {\n reject(new Error(`Getting ACL identity did not succeed (PS returned code ${code})`));\n }\n });\n });\n }\n\n private static _getACLIdentitySync() {\n if (FileAccessControl.ACL_IDENTITY) {\n return FileAccessControl.ACL_IDENTITY;\n }\n // Some very old versions of Node (< 0.11) don't have this\n if (child_process.spawnSync) {\n const psProc = child_process.spawnSync(\n FileAccessControl.POWERSHELL_PATH,\n [\"-Command\", \"[System.Security.Principal.WindowsIdentity]::GetCurrent().Name\"],\n <any>{\n windowsHide: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"], // Needed to prevent hanging on Win 7\n }\n );\n if (psProc.error) {\n throw psProc.error;\n } else if (psProc.status !== 0) {\n throw new Error(`Getting ACL identity did not succeed (PS returned code ${psProc.status})`);\n }\n FileAccessControl.ACL_IDENTITY = psProc.stdout && psProc.stdout.toString().trim();\n return FileAccessControl.ACL_IDENTITY;\n } else {\n throw new Error(\"Could not synchronously get ACL identity under current version of Node.js\");\n }\n }\n\n private static _getACLArguments(directory: string, identity: string) {\n return [\n directory,\n \"/grant\",\n \"*S-1-5-32-544:(OI)(CI)F\", // Full permission for Administrators\n \"/grant\",\n `${identity}:(OI)(CI)F`, // Full permission for current user\n \"/inheritance:r\",\n ]; // Remove all inherited permissions\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"fileAccessControl.js","sourceRoot":"","sources":["../../../../../src/platform/nodejs/persist/fileAccessControl.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 child_process from \"child_process\";\nimport { diag } from \"@opentelemetry/api\";\n\nexport class FileAccessControl {\n private static ICACLS_PATH = `${process.env.systemdrive}/windows/system32/icacls.exe`;\n private static POWERSHELL_PATH = `${process.env.systemdrive}/windows/system32/windowspowershell/v1.0/powershell.exe`;\n private static ACLED_DIRECTORIES: { [id: string]: boolean } = {};\n private static ACL_IDENTITY: string | null = null;\n private static OS_FILE_PROTECTION_CHECKED = false;\n public static OS_PROVIDES_FILE_PROTECTION = false;\n public static USE_ICACLS = os.type() === \"Windows_NT\";\n\n // Check if file access control could be enabled\n public static checkFileProtection() {\n if (\n !FileAccessControl.OS_PROVIDES_FILE_PROTECTION &&\n !FileAccessControl.OS_FILE_PROTECTION_CHECKED\n ) {\n FileAccessControl.OS_FILE_PROTECTION_CHECKED = true;\n // Node's chmod levels do not appropriately restrict file access on Windows\n // Use the built-in command line tool ICACLS on Windows to properly restrict\n // access to the temporary directory used for disk retry mode.\n if (FileAccessControl.USE_ICACLS) {\n // This should be async - but it's currently safer to have this synchronous\n // This guarantees we can immediately fail setDiskRetryMode if we need to\n try {\n FileAccessControl.OS_PROVIDES_FILE_PROTECTION = fs.existsSync(\n FileAccessControl.ICACLS_PATH,\n );\n } catch (e: any) {\n // Ignore error\n }\n if (!FileAccessControl.OS_PROVIDES_FILE_PROTECTION) {\n diag.warn(\n \"Could not find ICACLS in expected location! This is necessary to use disk retry mode on Windows.\",\n );\n }\n } else {\n // chmod works everywhere else\n FileAccessControl.OS_PROVIDES_FILE_PROTECTION = true;\n }\n }\n }\n\n public static async applyACLRules(directory: string): Promise<void> {\n if (FileAccessControl.USE_ICACLS) {\n if (FileAccessControl.ACLED_DIRECTORIES[directory] === undefined) {\n // Avoid multiple calls race condition by setting ACLED_DIRECTORIES to false for this directory immediately\n // If batches are being failed faster than the processes spawned below return, some data won't be stored to disk\n // This is better than the alternative of potentially infinitely spawned processes\n FileAccessControl.ACLED_DIRECTORIES[directory] = false;\n try {\n // Restrict this directory to only current user and administrator access\n const identity = await this._getACLIdentity();\n await this._runICACLS(this._getACLArguments(directory, identity));\n FileAccessControl.ACLED_DIRECTORIES[directory] = true;\n } catch (ex: any) {\n FileAccessControl.ACLED_DIRECTORIES[directory] = false; // false is used to cache failed (vs undefined which is \"not yet tried\")\n throw ex;\n }\n } else {\n if (!FileAccessControl.ACLED_DIRECTORIES[directory]) {\n throw new Error(\"Setting ACL restrictions did not succeed (cached result)\");\n }\n }\n }\n }\n\n public static applyACLRulesSync(directory: string) {\n if (FileAccessControl.USE_ICACLS) {\n // For performance, only run ACL rules if we haven't already during this session\n if (FileAccessControl.ACLED_DIRECTORIES[directory] === undefined) {\n this._runICACLSSync(this._getACLArguments(directory, this._getACLIdentitySync()));\n FileAccessControl.ACLED_DIRECTORIES[directory] = true; // If we get here, it succeeded. _runIACLSSync will throw on failures\n return;\n } else if (!FileAccessControl.ACLED_DIRECTORIES[directory]) {\n // falsy but not undefined\n throw new Error(\"Setting ACL restrictions did not succeed (cached result)\");\n }\n }\n }\n\n private static _runICACLS(args: string[]): Promise<void> {\n return new Promise((resolve, reject) => {\n const aclProc = child_process.spawn(FileAccessControl.ICACLS_PATH, args, <any>{\n windowsHide: true,\n });\n aclProc.on(\"error\", (e: Error) => reject(e));\n aclProc.on(\"close\", (code: number) => {\n if (code === 0) {\n resolve();\n } else {\n reject(\n new Error(`Setting ACL restrictions did not succeed (ICACLS returned code ${code})`),\n );\n }\n });\n });\n }\n\n private static _runICACLSSync(args: string[]) {\n // Some very old versions of Node (< 0.11) don't have this\n if (child_process.spawnSync) {\n const aclProc = child_process.spawnSync(FileAccessControl.ICACLS_PATH, args, <any>{\n windowsHide: true,\n });\n if (aclProc.error) {\n throw aclProc.error;\n } else if (aclProc.status !== 0) {\n throw new Error(\n `Setting ACL restrictions did not succeed (ICACLS returned code ${aclProc.status})`,\n );\n }\n } else {\n throw new Error(\"Could not synchronously call ICACLS under current version of Node.js\");\n }\n }\n\n private static _getACLIdentity(): Promise<string> {\n return new Promise((resolve, reject) => {\n if (FileAccessControl.ACL_IDENTITY) {\n resolve(FileAccessControl.ACL_IDENTITY);\n }\n const psProc = child_process.spawn(\n FileAccessControl.POWERSHELL_PATH,\n [\"-Command\", \"[System.Security.Principal.WindowsIdentity]::GetCurrent().Name\"],\n <any>{\n windowsHide: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"], // Needed to prevent hanging on Win 7\n },\n );\n let data = \"\";\n psProc.stdout.on(\"data\", (d: string) => (data += d));\n psProc.on(\"error\", (e: Error) => reject(e));\n psProc.on(\"close\", (code: number) => {\n FileAccessControl.ACL_IDENTITY = data && data.trim();\n if (code === 0) {\n resolve(FileAccessControl.ACL_IDENTITY);\n } else {\n reject(new Error(`Getting ACL identity did not succeed (PS returned code ${code})`));\n }\n });\n });\n }\n\n private static _getACLIdentitySync() {\n if (FileAccessControl.ACL_IDENTITY) {\n return FileAccessControl.ACL_IDENTITY;\n }\n // Some very old versions of Node (< 0.11) don't have this\n if (child_process.spawnSync) {\n const psProc = child_process.spawnSync(\n FileAccessControl.POWERSHELL_PATH,\n [\"-Command\", \"[System.Security.Principal.WindowsIdentity]::GetCurrent().Name\"],\n <any>{\n windowsHide: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"], // Needed to prevent hanging on Win 7\n },\n );\n if (psProc.error) {\n throw psProc.error;\n } else if (psProc.status !== 0) {\n throw new Error(`Getting ACL identity did not succeed (PS returned code ${psProc.status})`);\n }\n FileAccessControl.ACL_IDENTITY = psProc.stdout && psProc.stdout.toString().trim();\n return FileAccessControl.ACL_IDENTITY;\n } else {\n throw new Error(\"Could not synchronously get ACL identity under current version of Node.js\");\n }\n }\n\n private static _getACLArguments(directory: string, identity: string) {\n return [\n directory,\n \"/grant\",\n \"*S-1-5-32-544:(OI)(CI)F\", // Full permission for Administrators\n \"/grant\",\n `${identity}:(OI)(CI)F`, // Full permission for current user\n \"/inheritance:r\",\n ]; // Remove all inherited permissions\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
|
+
import { diag } from "@opentelemetry/api";
|
|
3
4
|
import * as fs from "fs";
|
|
4
5
|
import * as path from "path";
|
|
5
6
|
import { promisify } from "util";
|
|
@@ -12,17 +13,23 @@ const mkdirAsync = promisify(fs.mkdir);
|
|
|
12
13
|
* @internal
|
|
13
14
|
*/
|
|
14
15
|
export const getShallowDirectorySize = async (directory) => {
|
|
15
|
-
// Get the directory listing
|
|
16
|
-
const files = await readdirAsync(directory);
|
|
17
16
|
let totalSize = 0;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
try {
|
|
18
|
+
// Get the directory listing
|
|
19
|
+
const files = await readdirAsync(directory);
|
|
20
|
+
// Query all file sizes
|
|
21
|
+
for (const file of files) {
|
|
22
|
+
const fileStats = await statAsync(path.join(directory, file));
|
|
23
|
+
if (fileStats.isFile()) {
|
|
24
|
+
totalSize += fileStats.size;
|
|
25
|
+
}
|
|
23
26
|
}
|
|
27
|
+
return totalSize;
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
diag.error(`Error getting directory size: ${err}`);
|
|
31
|
+
return 0;
|
|
24
32
|
}
|
|
25
|
-
return totalSize;
|
|
26
33
|
};
|
|
27
34
|
/**
|
|
28
35
|
* Validate directory exists.
|
|
@@ -1 +1 @@
|
|
|
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;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;IAClF,4BAA4B;
|
|
1
|
+
{"version":3,"file":"fileSystemHelpers.js","sourceRoot":"","sources":["../../../../../src/platform/nodejs/persist/fileSystemHelpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,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;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;IAClF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAE5C,uBAAuB;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvB,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,OAAO,GAA4B,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAC7D,MAAM,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,QAAa,EAAE,CAAC;gBACvB,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3C,2CAA2C;oBAC3C,MAAM,QAAQ,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { diag } from \"@opentelemetry/api\";\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 * @internal\n */\nexport const getShallowDirectorySize = async (directory: string): Promise<number> => {\n let totalSize = 0;\n try {\n // Get the directory listing\n const files = await readdirAsync(directory);\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 } catch (err) {\n diag.error(`Error getting directory size: ${err}`);\n return 0;\n }\n};\n\n/**\n * Validate directory exists.\n * @internal\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: any) {\n if (err && err.code === \"ENOENT\") {\n try {\n const options: fs.MakeDirectoryOptions = { recursive: true };\n await mkdirAsync(directory, options);\n } catch (mkdirErr: any) {\n if (mkdirErr && mkdirErr.code !== \"EEXIST\") {\n // Handle race condition by ignoring EEXIST\n throw mkdirErr;\n }\n }\n }\n }\n};\n"]}
|