@azure/monitor-opentelemetry-exporter 1.0.0-beta.33 → 1.0.0-beta.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/commonjs/Declarations/Constants.d.ts +7 -2
- package/dist/commonjs/Declarations/Constants.d.ts.map +1 -1
- package/dist/commonjs/Declarations/Constants.js +8 -3
- package/dist/commonjs/Declarations/Constants.js.map +1 -1
- package/dist/commonjs/export/statsbeat/{customerStatsbeat.d.ts → customerSDKStats.d.ts} +30 -22
- package/dist/commonjs/export/statsbeat/customerSDKStats.d.ts.map +1 -0
- package/dist/commonjs/export/statsbeat/{customerStatsbeat.js → customerSDKStats.js} +175 -127
- package/dist/commonjs/export/statsbeat/customerSDKStats.js.map +1 -0
- package/dist/commonjs/export/statsbeat/types.d.ts +34 -9
- package/dist/commonjs/export/statsbeat/types.d.ts.map +1 -1
- package/dist/commonjs/export/statsbeat/types.js +45 -15
- package/dist/commonjs/export/statsbeat/types.js.map +1 -1
- package/dist/commonjs/generated/applicationInsightsClient.js +1 -1
- package/dist/commonjs/generated/applicationInsightsClient.js.map +1 -1
- package/dist/commonjs/platform/nodejs/baseSender.d.ts +1 -1
- package/dist/commonjs/platform/nodejs/baseSender.d.ts.map +1 -1
- package/dist/commonjs/platform/nodejs/baseSender.js +41 -26
- package/dist/commonjs/platform/nodejs/baseSender.js.map +1 -1
- package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts +3 -3
- package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -1
- package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js +8 -8
- package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/types.d.ts +3 -1
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +4 -0
- package/dist/commonjs/types.js.map +1 -1
- package/dist/commonjs/utils/constants/applicationinsights.d.ts +2 -1
- package/dist/commonjs/utils/constants/applicationinsights.d.ts.map +1 -1
- package/dist/commonjs/utils/constants/applicationinsights.js +3 -2
- package/dist/commonjs/utils/constants/applicationinsights.js.map +1 -1
- package/dist/commonjs/utils/logUtils.d.ts.map +1 -1
- package/dist/commonjs/utils/logUtils.js +24 -6
- package/dist/commonjs/utils/logUtils.js.map +1 -1
- package/dist/commonjs/utils/spanUtils.d.ts.map +1 -1
- package/dist/commonjs/utils/spanUtils.js +16 -3
- package/dist/commonjs/utils/spanUtils.js.map +1 -1
- package/dist/esm/Declarations/Constants.d.ts +7 -2
- package/dist/esm/Declarations/Constants.d.ts.map +1 -1
- package/dist/esm/Declarations/Constants.js +7 -2
- package/dist/esm/Declarations/Constants.js.map +1 -1
- package/dist/esm/export/statsbeat/{customerStatsbeat.d.ts → customerSDKStats.d.ts} +30 -22
- package/dist/esm/export/statsbeat/customerSDKStats.d.ts.map +1 -0
- package/dist/esm/export/statsbeat/{customerStatsbeat.js → customerSDKStats.js} +175 -127
- package/dist/esm/export/statsbeat/customerSDKStats.js.map +1 -0
- package/dist/esm/export/statsbeat/types.d.ts +34 -9
- package/dist/esm/export/statsbeat/types.d.ts.map +1 -1
- package/dist/esm/export/statsbeat/types.js +43 -13
- package/dist/esm/export/statsbeat/types.js.map +1 -1
- package/dist/esm/generated/applicationInsightsClient.js +1 -1
- package/dist/esm/generated/applicationInsightsClient.js.map +1 -1
- package/dist/esm/platform/nodejs/baseSender.d.ts +1 -1
- package/dist/esm/platform/nodejs/baseSender.d.ts.map +1 -1
- package/dist/esm/platform/nodejs/baseSender.js +39 -24
- package/dist/esm/platform/nodejs/baseSender.js.map +1 -1
- package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts +3 -3
- package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -1
- package/dist/esm/platform/nodejs/persist/fileSystemPersist.js +9 -9
- package/dist/esm/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
- package/dist/esm/types.d.ts +3 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +4 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/constants/applicationinsights.d.ts +2 -1
- package/dist/esm/utils/constants/applicationinsights.d.ts.map +1 -1
- package/dist/esm/utils/constants/applicationinsights.js +2 -1
- package/dist/esm/utils/constants/applicationinsights.js.map +1 -1
- package/dist/esm/utils/logUtils.d.ts.map +1 -1
- package/dist/esm/utils/logUtils.js +21 -3
- package/dist/esm/utils/logUtils.js.map +1 -1
- package/dist/esm/utils/spanUtils.d.ts.map +1 -1
- package/dist/esm/utils/spanUtils.js +19 -6
- package/dist/esm/utils/spanUtils.js.map +1 -1
- package/package.json +32 -33
- package/dist/commonjs/export/statsbeat/customerStatsbeat.d.ts.map +0 -1
- package/dist/commonjs/export/statsbeat/customerStatsbeat.js.map +0 -1
- package/dist/esm/export/statsbeat/customerStatsbeat.d.ts.map +0 -1
- package/dist/esm/export/statsbeat/customerStatsbeat.js.map +0 -1
|
@@ -34,15 +34,16 @@ export declare class NetworkStatsbeat {
|
|
|
34
34
|
constructor(endpoint: string, host: string);
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
37
|
+
* SDK Stats class for customer-visible telemetry.
|
|
38
38
|
* @internal
|
|
39
39
|
*/
|
|
40
|
-
export declare class
|
|
40
|
+
export declare class CustomerSDKStats {
|
|
41
41
|
totalItemSuccessCount: Map<TelemetryType, number>;
|
|
42
|
-
totalItemDropCount: Map<TelemetryType, Map<DropCode | number, Map<string, number
|
|
42
|
+
totalItemDropCount: Map<TelemetryType, Map<DropCode | number, Map<string, Map<boolean | null, number>>>>;
|
|
43
43
|
totalItemRetryCount: Map<TelemetryType, Map<RetryCode | number, Map<string, number>>>;
|
|
44
44
|
constructor();
|
|
45
45
|
}
|
|
46
|
+
export declare const CustomerStatsbeat: typeof CustomerSDKStats;
|
|
46
47
|
export declare const STATSBEAT_LANGUAGE = "node";
|
|
47
48
|
export declare const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
|
|
48
49
|
export declare const MAX_STATSBEAT_FAILURES = 3;
|
|
@@ -69,11 +70,12 @@ export declare enum StatsbeatCounter {
|
|
|
69
70
|
ATTACH = "Attach",
|
|
70
71
|
FEATURE = "Feature"
|
|
71
72
|
}
|
|
72
|
-
export declare enum
|
|
73
|
+
export declare enum CustomSDKStatsCounter {
|
|
73
74
|
ITEM_SUCCESS_COUNT = "preview.item.success.count",
|
|
74
75
|
ITEM_DROP_COUNT = "preview.item.dropped.count",
|
|
75
76
|
ITEM_RETRY_COUNT = "preview.item.retry.count"
|
|
76
77
|
}
|
|
78
|
+
export declare const CustomStatsbeatCounter: typeof CustomSDKStatsCounter;
|
|
77
79
|
export declare const AIMS_URI = "http://169.254.169.254/metadata/instance/compute";
|
|
78
80
|
export declare const AIMS_API_VERSION = "api-version=2017-12-01";
|
|
79
81
|
export declare const AIMS_FORMAT = "format=json";
|
|
@@ -89,11 +91,12 @@ export interface CommonStatsbeatProperties {
|
|
|
89
91
|
version: string;
|
|
90
92
|
attach: string;
|
|
91
93
|
}
|
|
92
|
-
export interface
|
|
94
|
+
export interface CustomerSDKStatsProperties {
|
|
93
95
|
language: string;
|
|
94
96
|
version: string;
|
|
95
97
|
computeType: string;
|
|
96
98
|
}
|
|
99
|
+
export type CustomerStatsbeatProperties = CustomerSDKStatsProperties;
|
|
97
100
|
export declare enum TelemetryType {
|
|
98
101
|
AVAILABILITY = "AVAILABILITY",
|
|
99
102
|
CUSTOM_EVENT = "CUSTOM_EVENT",
|
|
@@ -108,18 +111,14 @@ export declare enum TelemetryType {
|
|
|
108
111
|
}
|
|
109
112
|
export declare enum DropCode {
|
|
110
113
|
CLIENT_EXCEPTION = "CLIENT_EXCEPTION",
|
|
111
|
-
CLIENT_EXPIRED_DATA = "CLIENT_EXPIRED_DATA",
|
|
112
114
|
CLIENT_READONLY = "CLIENT_READONLY",
|
|
113
|
-
CLIENT_STALE_DATA = "CLIENT_STALE_DATA",
|
|
114
115
|
CLIENT_PERSISTENCE_CAPACITY = "CLIENT_PERSISTENCE_CAPACITY",
|
|
115
|
-
NON_RETRYABLE_STATUS_CODE = "NON_RETRYABLE_STATUS_CODE",
|
|
116
116
|
CLIENT_STORAGE_DISABLED = "CLIENT_STORAGE_DISABLED",
|
|
117
117
|
UNKNOWN = "UNKNOWN"
|
|
118
118
|
}
|
|
119
119
|
export declare enum RetryCode {
|
|
120
120
|
CLIENT_EXCEPTION = "CLIENT_EXCEPTION",
|
|
121
121
|
CLIENT_TIMEOUT = "CLIENT_TIMEOUT",
|
|
122
|
-
RETRYABLE_STATUS_CODE = "RETRYABLE_STATUS_CODE",
|
|
123
122
|
UNKNOWN = "UNKNOWN"
|
|
124
123
|
}
|
|
125
124
|
export interface AttachStatsbeatProperties {
|
|
@@ -146,6 +145,32 @@ export declare enum StatsbeatFeatureType {
|
|
|
146
145
|
FEATURE = 0,
|
|
147
146
|
INSTRUMENTATION = 1
|
|
148
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Exception types for client exceptions
|
|
150
|
+
* @internal
|
|
151
|
+
*/
|
|
152
|
+
export declare enum ExceptionType {
|
|
153
|
+
CLIENT_EXCEPTION = "Client exception",
|
|
154
|
+
NETWORK_EXCEPTION = "Network exception",
|
|
155
|
+
STORAGE_EXCEPTION = "Storage exception",
|
|
156
|
+
TIMEOUT_EXCEPTION = "Timeout exception"
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Reasons for dropping telemetry
|
|
160
|
+
*/
|
|
161
|
+
export declare enum DropReason {
|
|
162
|
+
CLIENT_READONLY = "Client readonly",
|
|
163
|
+
CLIENT_PERSISTENCE_CAPACITY = "Client persistence capacity",
|
|
164
|
+
CLIENT_STORAGE_DISABLED = "Client local storage disabled",
|
|
165
|
+
UNKNOWN = "Unknown reason"
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Reasons for retrying telemetry
|
|
169
|
+
*/
|
|
170
|
+
export declare enum RetryReason {
|
|
171
|
+
CLIENT_TIMEOUT = "Client timeout",
|
|
172
|
+
UNKNOWN = "Unknown reason"
|
|
173
|
+
}
|
|
149
174
|
/**
|
|
150
175
|
* Status codes indicating that we should shutdown statsbeat
|
|
151
176
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/export/statsbeat/types.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,gBAAgB;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzB,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;IAEb,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,2BAA2B,EAAE,MAAM,CAAC;IAEpC,qBAAqB,EAAE,MAAM,CAAC;IAE9B,sBAAsB,EAAE,MAAM,CAAC;IAE/B,uBAAuB,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEjE,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEpD,cAAc,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE3D,aAAa,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEvD,4BAA4B,EAAE,MAAM,CAAC;IAErC,gCAAgC,EAAE,MAAM,CAAC;IAEzC,2BAA2B,EAAE,MAAM,CAAC;gBAE/B,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAiB3C;AAED;;;GAGG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/export/statsbeat/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT License.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.StatsbeatFeatureType = exports.RetryCode = exports.DropCode = exports.TelemetryType = exports.EU_ENDPOINTS = exports.EU_CONNECTION_STRING = exports.NON_EU_CONNECTION_STRING = exports.AIMS_FORMAT = exports.AIMS_API_VERSION = exports.AIMS_URI = exports.CustomStatsbeatCounter = exports.StatsbeatCounter = exports.AttachTypeName = exports.StatsbeatResourceProvider = exports.MAX_STATSBEAT_FAILURES = exports.AZURE_MONITOR_AUTO_ATTACH = exports.STATSBEAT_LANGUAGE = exports.CustomerStatsbeat = exports.NetworkStatsbeat = void 0;
|
|
5
|
+
exports.RetryReason = exports.DropReason = exports.ExceptionType = exports.StatsbeatFeatureType = exports.RetryCode = exports.DropCode = exports.TelemetryType = exports.EU_ENDPOINTS = exports.EU_CONNECTION_STRING = exports.NON_EU_CONNECTION_STRING = exports.AIMS_FORMAT = exports.AIMS_API_VERSION = exports.AIMS_URI = exports.CustomStatsbeatCounter = exports.CustomSDKStatsCounter = exports.StatsbeatCounter = exports.AttachTypeName = exports.StatsbeatResourceProvider = exports.MAX_STATSBEAT_FAILURES = exports.AZURE_MONITOR_AUTO_ATTACH = exports.STATSBEAT_LANGUAGE = exports.CustomerStatsbeat = exports.CustomerSDKStats = exports.NetworkStatsbeat = void 0;
|
|
6
6
|
exports.isStatsbeatShutdownStatus = isStatsbeatShutdownStatus;
|
|
7
7
|
/**
|
|
8
8
|
* Statsbeat class for network telemetry.
|
|
@@ -45,12 +45,13 @@ class NetworkStatsbeat {
|
|
|
45
45
|
}
|
|
46
46
|
exports.NetworkStatsbeat = NetworkStatsbeat;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* SDK Stats class for customer-visible telemetry.
|
|
49
49
|
* @internal
|
|
50
50
|
*/
|
|
51
|
-
class
|
|
51
|
+
class CustomerSDKStats {
|
|
52
52
|
totalItemSuccessCount;
|
|
53
|
-
//
|
|
53
|
+
// telemetry_type -> drop.code -> drop.reason -> success -> count
|
|
54
|
+
// success can be true/false for request/dependency telemetry, or null for other types
|
|
54
55
|
totalItemDropCount;
|
|
55
56
|
// Nested Map structure: telemetry_type -> retry.code -> retry.reason -> count
|
|
56
57
|
totalItemRetryCount;
|
|
@@ -60,7 +61,9 @@ class CustomerStatsbeat {
|
|
|
60
61
|
this.totalItemRetryCount = new Map();
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
|
-
exports.
|
|
64
|
+
exports.CustomerSDKStats = CustomerSDKStats;
|
|
65
|
+
// Legacy alias for backward compatibility
|
|
66
|
+
exports.CustomerStatsbeat = CustomerSDKStats;
|
|
64
67
|
exports.STATSBEAT_LANGUAGE = "node";
|
|
65
68
|
exports.AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
|
|
66
69
|
exports.MAX_STATSBEAT_FAILURES = 3;
|
|
@@ -89,12 +92,14 @@ var StatsbeatCounter;
|
|
|
89
92
|
StatsbeatCounter["ATTACH"] = "Attach";
|
|
90
93
|
StatsbeatCounter["FEATURE"] = "Feature";
|
|
91
94
|
})(StatsbeatCounter || (exports.StatsbeatCounter = StatsbeatCounter = {}));
|
|
92
|
-
var
|
|
93
|
-
(function (
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
})(
|
|
95
|
+
var CustomSDKStatsCounter;
|
|
96
|
+
(function (CustomSDKStatsCounter) {
|
|
97
|
+
CustomSDKStatsCounter["ITEM_SUCCESS_COUNT"] = "preview.item.success.count";
|
|
98
|
+
CustomSDKStatsCounter["ITEM_DROP_COUNT"] = "preview.item.dropped.count";
|
|
99
|
+
CustomSDKStatsCounter["ITEM_RETRY_COUNT"] = "preview.item.retry.count";
|
|
100
|
+
})(CustomSDKStatsCounter || (exports.CustomSDKStatsCounter = CustomSDKStatsCounter = {}));
|
|
101
|
+
// Legacy alias for backward compatibility
|
|
102
|
+
exports.CustomStatsbeatCounter = CustomSDKStatsCounter;
|
|
98
103
|
exports.AIMS_URI = "http://169.254.169.254/metadata/instance/compute";
|
|
99
104
|
exports.AIMS_API_VERSION = "api-version=2017-12-01";
|
|
100
105
|
exports.AIMS_FORMAT = "format=json";
|
|
@@ -130,11 +135,8 @@ var TelemetryType;
|
|
|
130
135
|
var DropCode;
|
|
131
136
|
(function (DropCode) {
|
|
132
137
|
DropCode["CLIENT_EXCEPTION"] = "CLIENT_EXCEPTION";
|
|
133
|
-
DropCode["CLIENT_EXPIRED_DATA"] = "CLIENT_EXPIRED_DATA";
|
|
134
138
|
DropCode["CLIENT_READONLY"] = "CLIENT_READONLY";
|
|
135
|
-
DropCode["CLIENT_STALE_DATA"] = "CLIENT_STALE_DATA";
|
|
136
139
|
DropCode["CLIENT_PERSISTENCE_CAPACITY"] = "CLIENT_PERSISTENCE_CAPACITY";
|
|
137
|
-
DropCode["NON_RETRYABLE_STATUS_CODE"] = "NON_RETRYABLE_STATUS_CODE";
|
|
138
140
|
DropCode["CLIENT_STORAGE_DISABLED"] = "CLIENT_STORAGE_DISABLED";
|
|
139
141
|
DropCode["UNKNOWN"] = "UNKNOWN";
|
|
140
142
|
})(DropCode || (exports.DropCode = DropCode = {}));
|
|
@@ -142,7 +144,6 @@ var RetryCode;
|
|
|
142
144
|
(function (RetryCode) {
|
|
143
145
|
RetryCode["CLIENT_EXCEPTION"] = "CLIENT_EXCEPTION";
|
|
144
146
|
RetryCode["CLIENT_TIMEOUT"] = "CLIENT_TIMEOUT";
|
|
145
|
-
RetryCode["RETRYABLE_STATUS_CODE"] = "RETRYABLE_STATUS_CODE";
|
|
146
147
|
RetryCode["UNKNOWN"] = "UNKNOWN";
|
|
147
148
|
})(RetryCode || (exports.RetryCode = RetryCode = {}));
|
|
148
149
|
var StatsbeatFeatureType;
|
|
@@ -150,6 +151,35 @@ var StatsbeatFeatureType;
|
|
|
150
151
|
StatsbeatFeatureType[StatsbeatFeatureType["FEATURE"] = 0] = "FEATURE";
|
|
151
152
|
StatsbeatFeatureType[StatsbeatFeatureType["INSTRUMENTATION"] = 1] = "INSTRUMENTATION";
|
|
152
153
|
})(StatsbeatFeatureType || (exports.StatsbeatFeatureType = StatsbeatFeatureType = {}));
|
|
154
|
+
/**
|
|
155
|
+
* Exception types for client exceptions
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
var ExceptionType;
|
|
159
|
+
(function (ExceptionType) {
|
|
160
|
+
ExceptionType["CLIENT_EXCEPTION"] = "Client exception";
|
|
161
|
+
ExceptionType["NETWORK_EXCEPTION"] = "Network exception";
|
|
162
|
+
ExceptionType["STORAGE_EXCEPTION"] = "Storage exception";
|
|
163
|
+
ExceptionType["TIMEOUT_EXCEPTION"] = "Timeout exception";
|
|
164
|
+
})(ExceptionType || (exports.ExceptionType = ExceptionType = {}));
|
|
165
|
+
/**
|
|
166
|
+
* Reasons for dropping telemetry
|
|
167
|
+
*/
|
|
168
|
+
var DropReason;
|
|
169
|
+
(function (DropReason) {
|
|
170
|
+
DropReason["CLIENT_READONLY"] = "Client readonly";
|
|
171
|
+
DropReason["CLIENT_PERSISTENCE_CAPACITY"] = "Client persistence capacity";
|
|
172
|
+
DropReason["CLIENT_STORAGE_DISABLED"] = "Client local storage disabled";
|
|
173
|
+
DropReason["UNKNOWN"] = "Unknown reason";
|
|
174
|
+
})(DropReason || (exports.DropReason = DropReason = {}));
|
|
175
|
+
/**
|
|
176
|
+
* Reasons for retrying telemetry
|
|
177
|
+
*/
|
|
178
|
+
var RetryReason;
|
|
179
|
+
(function (RetryReason) {
|
|
180
|
+
RetryReason["CLIENT_TIMEOUT"] = "Client timeout";
|
|
181
|
+
RetryReason["UNKNOWN"] = "Unknown reason";
|
|
182
|
+
})(RetryReason || (exports.RetryReason = RetryReason = {}));
|
|
153
183
|
/**
|
|
154
184
|
* Status codes indicating that we should shutdown statsbeat
|
|
155
185
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/export/statsbeat/types.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Statsbeat class for network telemetry.\n * @internal\n */\nexport class NetworkStatsbeat {\n public time: number | undefined;\n\n public lastTime: number;\n\n public endpoint: string;\n\n public host: string;\n\n public totalRequestCount: number;\n\n public lastRequestCount: number;\n\n public totalSuccessfulRequestCount: number;\n\n public totalReadFailureCount: number;\n\n public totalWriteFailureCount: number;\n\n public totalFailedRequestCount: { statusCode: number; count: number }[];\n\n public retryCount: { statusCode: number; count: number }[];\n\n public exceptionCount: { exceptionType: string; count: number }[];\n\n public throttleCount: { statusCode: number; count: number }[];\n\n public intervalRequestExecutionTime: number;\n\n public lastIntervalRequestExecutionTime: number;\n\n public averageRequestExecutionTime: number;\n\n constructor(endpoint: string, host: string) {\n this.endpoint = endpoint;\n this.host = host;\n this.totalRequestCount = 0;\n this.totalSuccessfulRequestCount = 0;\n this.totalReadFailureCount = 0;\n this.totalWriteFailureCount = 0;\n this.totalFailedRequestCount = [];\n this.retryCount = [];\n this.exceptionCount = [];\n this.throttleCount = [];\n this.intervalRequestExecutionTime = 0;\n this.lastIntervalRequestExecutionTime = 0;\n this.lastTime = +new Date();\n this.lastRequestCount = 0;\n this.averageRequestExecutionTime = 0;\n }\n}\n\n/**\n * Statsbeat class for customer-visible telemetry.\n * @internal\n */\nexport class CustomerStatsbeat {\n public totalItemSuccessCount: Map<TelemetryType, number>;\n\n // Nested Map structure: telemetry_type -> drop.code -> drop.reason -> count\n public totalItemDropCount: Map<TelemetryType, Map<DropCode | number, Map<string, number>>>;\n\n // Nested Map structure: telemetry_type -> retry.code -> retry.reason -> count\n public totalItemRetryCount: Map<TelemetryType, Map<RetryCode | number, Map<string, number>>>;\n\n constructor() {\n this.totalItemSuccessCount = new Map<TelemetryType, number>();\n this.totalItemDropCount = new Map<TelemetryType, Map<DropCode | number, Map<string, number>>>();\n this.totalItemRetryCount = new Map<\n TelemetryType,\n Map<RetryCode | number, Map<string, number>>\n >();\n }\n}\n\nexport const STATSBEAT_LANGUAGE = \"node\";\n\nexport const AZURE_MONITOR_AUTO_ATTACH = \"AZURE_MONITOR_AUTO_ATTACH\";\n\nexport const MAX_STATSBEAT_FAILURES = 3;\n\nexport const StatsbeatResourceProvider = {\n appsvc: \"appsvc\",\n aks: \"aks\",\n functions: \"functions\",\n vm: \"vm\",\n unknown: \"unknown\",\n};\n\nexport enum AttachTypeName {\n INTEGRATED_AUTO = \"IntegratedAuto\",\n MANUAL = \"Manual\",\n}\n\nexport enum StatsbeatCounter {\n SUCCESS_COUNT = \"Request_Success_Count\",\n FAILURE_COUNT = \"Request_Failure_Count\",\n RETRY_COUNT = \"Retry_Count\",\n THROTTLE_COUNT = \"Throttle_Count\",\n EXCEPTION_COUNT = \"Exception_Count\",\n AVERAGE_DURATION = \"Request_Duration\",\n READ_FAILURE_COUNT = \"Read_Failure_Count\",\n WRITE_FAILURE_COUNT = \"Write_Failure_Count\",\n ATTACH = \"Attach\",\n FEATURE = \"Feature\",\n}\n\nexport enum CustomStatsbeatCounter {\n ITEM_SUCCESS_COUNT = \"preview.item.success.count\",\n ITEM_DROP_COUNT = \"preview.item.dropped.count\",\n ITEM_RETRY_COUNT = \"preview.item.retry.count\",\n}\n\nexport const AIMS_URI = \"http://169.254.169.254/metadata/instance/compute\";\nexport const AIMS_API_VERSION = \"api-version=2017-12-01\";\nexport const AIMS_FORMAT = \"format=json\";\nexport const NON_EU_CONNECTION_STRING =\n \"InstrumentationKey=c4a29126-a7cb-47e5-b348-11414998b11e;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com\";\nexport const EU_CONNECTION_STRING =\n \"InstrumentationKey=7dc56bab-3c0c-4e9f-9ebb-d1acadee8d0f;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com\";\nexport const EU_ENDPOINTS = [\n \"westeurope\",\n \"northeurope\",\n \"francecentral\",\n \"francesouth\",\n \"germanywestcentral\",\n \"norwayeast\",\n \"norwaywest\",\n \"swedencentral\",\n \"switzerlandnorth\",\n \"switzerlandwest\",\n \"uksouth\",\n \"ukwest\",\n];\n\nexport interface CommonStatsbeatProperties {\n os: string;\n rp: string;\n cikey: string;\n runtimeVersion: string;\n language: string;\n version: string;\n attach: string;\n}\n\nexport interface CustomerStatsbeatProperties {\n language: string;\n version: string;\n computeType: string;\n}\n\nexport enum TelemetryType {\n AVAILABILITY = \"AVAILABILITY\",\n CUSTOM_EVENT = \"CUSTOM_EVENT\",\n CUSTOM_METRIC = \"CUSTOM_METRIC\",\n DEPENDENCY = \"DEPENDENCY\",\n EXCEPTION = \"EXCEPTION\",\n PAGE_VIEW = \"PAGE_VIEW\",\n PERFORMANCE_COUNTER = \"PERFORMANCE_COUNTER\",\n REQUEST = \"REQUEST\",\n TRACE = \"TRACE\",\n UNKNOWN = \"UNKNOWN\",\n}\n\nexport enum DropCode {\n CLIENT_EXCEPTION = \"CLIENT_EXCEPTION\",\n CLIENT_EXPIRED_DATA = \"CLIENT_EXPIRED_DATA\",\n CLIENT_READONLY = \"CLIENT_READONLY\",\n CLIENT_STALE_DATA = \"CLIENT_STALE_DATA\",\n CLIENT_PERSISTENCE_CAPACITY = \"CLIENT_PERSISTENCE_CAPACITY\",\n NON_RETRYABLE_STATUS_CODE = \"NON_RETRYABLE_STATUS_CODE\",\n CLIENT_STORAGE_DISABLED = \"CLIENT_STORAGE_DISABLED\",\n UNKNOWN = \"UNKNOWN\",\n}\n\nexport enum RetryCode {\n CLIENT_EXCEPTION = \"CLIENT_EXCEPTION\",\n CLIENT_TIMEOUT = \"CLIENT_TIMEOUT\",\n RETRYABLE_STATUS_CODE = \"RETRYABLE_STATUS_CODE\",\n UNKNOWN = \"UNKNOWN\",\n}\n\nexport interface AttachStatsbeatProperties {\n rpId: string;\n}\n\nexport interface NetworkStatsbeatProperties {\n endpoint: string;\n host: string;\n}\n\nexport interface StatsbeatOptions {\n instrumentationKey: string;\n endpointUrl: string;\n networkCollectionInterval?: number;\n longCollectionInterval?: number;\n disableOfflineStorage?: boolean;\n}\n\nexport interface VirtualMachineInfo {\n isVM?: boolean;\n id?: string;\n subscriptionId?: string;\n osType?: string;\n}\n\nexport enum StatsbeatFeatureType {\n FEATURE = 0,\n INSTRUMENTATION = 1,\n}\n\n/**\n * Status codes indicating that we should shutdown statsbeat\n * @internal\n */\nexport function isStatsbeatShutdownStatus(statusCode: number): boolean {\n return (\n statusCode === 401 || // Unauthorized\n statusCode === 403 || // Forbidden\n statusCode === 503 // Server Unavailable\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/export/statsbeat/types.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Statsbeat class for network telemetry.\n * @internal\n */\nexport class NetworkStatsbeat {\n public time: number | undefined;\n\n public lastTime: number;\n\n public endpoint: string;\n\n public host: string;\n\n public totalRequestCount: number;\n\n public lastRequestCount: number;\n\n public totalSuccessfulRequestCount: number;\n\n public totalReadFailureCount: number;\n\n public totalWriteFailureCount: number;\n\n public totalFailedRequestCount: { statusCode: number; count: number }[];\n\n public retryCount: { statusCode: number; count: number }[];\n\n public exceptionCount: { exceptionType: string; count: number }[];\n\n public throttleCount: { statusCode: number; count: number }[];\n\n public intervalRequestExecutionTime: number;\n\n public lastIntervalRequestExecutionTime: number;\n\n public averageRequestExecutionTime: number;\n\n constructor(endpoint: string, host: string) {\n this.endpoint = endpoint;\n this.host = host;\n this.totalRequestCount = 0;\n this.totalSuccessfulRequestCount = 0;\n this.totalReadFailureCount = 0;\n this.totalWriteFailureCount = 0;\n this.totalFailedRequestCount = [];\n this.retryCount = [];\n this.exceptionCount = [];\n this.throttleCount = [];\n this.intervalRequestExecutionTime = 0;\n this.lastIntervalRequestExecutionTime = 0;\n this.lastTime = +new Date();\n this.lastRequestCount = 0;\n this.averageRequestExecutionTime = 0;\n }\n}\n\n/**\n * SDK Stats class for customer-visible telemetry.\n * @internal\n */\nexport class CustomerSDKStats {\n public totalItemSuccessCount: Map<TelemetryType, number>;\n\n // telemetry_type -> drop.code -> drop.reason -> success -> count\n // success can be true/false for request/dependency telemetry, or null for other types\n public totalItemDropCount: Map<\n TelemetryType,\n Map<DropCode | number, Map<string, Map<boolean | null, number>>>\n >;\n\n // Nested Map structure: telemetry_type -> retry.code -> retry.reason -> count\n public totalItemRetryCount: Map<TelemetryType, Map<RetryCode | number, Map<string, number>>>;\n\n constructor() {\n this.totalItemSuccessCount = new Map<TelemetryType, number>();\n this.totalItemDropCount = new Map<\n TelemetryType,\n Map<DropCode | number, Map<string, Map<boolean | null, number>>>\n >();\n this.totalItemRetryCount = new Map<\n TelemetryType,\n Map<RetryCode | number, Map<string, number>>\n >();\n }\n}\n\n// Legacy alias for backward compatibility\nexport const CustomerStatsbeat = CustomerSDKStats;\n\nexport const STATSBEAT_LANGUAGE = \"node\";\n\nexport const AZURE_MONITOR_AUTO_ATTACH = \"AZURE_MONITOR_AUTO_ATTACH\";\n\nexport const MAX_STATSBEAT_FAILURES = 3;\n\nexport const StatsbeatResourceProvider = {\n appsvc: \"appsvc\",\n aks: \"aks\",\n functions: \"functions\",\n vm: \"vm\",\n unknown: \"unknown\",\n};\n\nexport enum AttachTypeName {\n INTEGRATED_AUTO = \"IntegratedAuto\",\n MANUAL = \"Manual\",\n}\n\nexport enum StatsbeatCounter {\n SUCCESS_COUNT = \"Request_Success_Count\",\n FAILURE_COUNT = \"Request_Failure_Count\",\n RETRY_COUNT = \"Retry_Count\",\n THROTTLE_COUNT = \"Throttle_Count\",\n EXCEPTION_COUNT = \"Exception_Count\",\n AVERAGE_DURATION = \"Request_Duration\",\n READ_FAILURE_COUNT = \"Read_Failure_Count\",\n WRITE_FAILURE_COUNT = \"Write_Failure_Count\",\n ATTACH = \"Attach\",\n FEATURE = \"Feature\",\n}\n\nexport enum CustomSDKStatsCounter {\n ITEM_SUCCESS_COUNT = \"preview.item.success.count\",\n ITEM_DROP_COUNT = \"preview.item.dropped.count\",\n ITEM_RETRY_COUNT = \"preview.item.retry.count\",\n}\n\n// Legacy alias for backward compatibility\nexport const CustomStatsbeatCounter = CustomSDKStatsCounter;\n\nexport const AIMS_URI = \"http://169.254.169.254/metadata/instance/compute\";\nexport const AIMS_API_VERSION = \"api-version=2017-12-01\";\nexport const AIMS_FORMAT = \"format=json\";\nexport const NON_EU_CONNECTION_STRING =\n \"InstrumentationKey=c4a29126-a7cb-47e5-b348-11414998b11e;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com\";\nexport const EU_CONNECTION_STRING =\n \"InstrumentationKey=7dc56bab-3c0c-4e9f-9ebb-d1acadee8d0f;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com\";\nexport const EU_ENDPOINTS = [\n \"westeurope\",\n \"northeurope\",\n \"francecentral\",\n \"francesouth\",\n \"germanywestcentral\",\n \"norwayeast\",\n \"norwaywest\",\n \"swedencentral\",\n \"switzerlandnorth\",\n \"switzerlandwest\",\n \"uksouth\",\n \"ukwest\",\n];\n\nexport interface CommonStatsbeatProperties {\n os: string;\n rp: string;\n cikey: string;\n runtimeVersion: string;\n language: string;\n version: string;\n attach: string;\n}\n\nexport interface CustomerSDKStatsProperties {\n language: string;\n version: string;\n computeType: string;\n}\n\n// Legacy alias for backward compatibility\nexport type CustomerStatsbeatProperties = CustomerSDKStatsProperties;\n\nexport enum TelemetryType {\n AVAILABILITY = \"AVAILABILITY\",\n CUSTOM_EVENT = \"CUSTOM_EVENT\",\n CUSTOM_METRIC = \"CUSTOM_METRIC\",\n DEPENDENCY = \"DEPENDENCY\",\n EXCEPTION = \"EXCEPTION\",\n PAGE_VIEW = \"PAGE_VIEW\",\n PERFORMANCE_COUNTER = \"PERFORMANCE_COUNTER\",\n REQUEST = \"REQUEST\",\n TRACE = \"TRACE\",\n UNKNOWN = \"UNKNOWN\",\n}\n\nexport enum DropCode {\n CLIENT_EXCEPTION = \"CLIENT_EXCEPTION\",\n CLIENT_READONLY = \"CLIENT_READONLY\",\n CLIENT_PERSISTENCE_CAPACITY = \"CLIENT_PERSISTENCE_CAPACITY\",\n CLIENT_STORAGE_DISABLED = \"CLIENT_STORAGE_DISABLED\",\n UNKNOWN = \"UNKNOWN\",\n}\n\nexport enum RetryCode {\n CLIENT_EXCEPTION = \"CLIENT_EXCEPTION\",\n CLIENT_TIMEOUT = \"CLIENT_TIMEOUT\",\n UNKNOWN = \"UNKNOWN\",\n}\n\nexport interface AttachStatsbeatProperties {\n rpId: string;\n}\n\nexport interface NetworkStatsbeatProperties {\n endpoint: string;\n host: string;\n}\n\nexport interface StatsbeatOptions {\n instrumentationKey: string;\n endpointUrl: string;\n networkCollectionInterval?: number;\n longCollectionInterval?: number;\n disableOfflineStorage?: boolean;\n}\n\nexport interface VirtualMachineInfo {\n isVM?: boolean;\n id?: string;\n subscriptionId?: string;\n osType?: string;\n}\n\nexport enum StatsbeatFeatureType {\n FEATURE = 0,\n INSTRUMENTATION = 1,\n}\n\n/**\n * Exception types for client exceptions\n * @internal\n */\nexport enum ExceptionType {\n CLIENT_EXCEPTION = \"Client exception\",\n NETWORK_EXCEPTION = \"Network exception\",\n STORAGE_EXCEPTION = \"Storage exception\",\n TIMEOUT_EXCEPTION = \"Timeout exception\",\n}\n\n/**\n * Reasons for dropping telemetry\n */\nexport enum DropReason {\n CLIENT_READONLY = \"Client readonly\",\n CLIENT_PERSISTENCE_CAPACITY = \"Client persistence capacity\",\n CLIENT_STORAGE_DISABLED = \"Client local storage disabled\",\n UNKNOWN = \"Unknown reason\",\n}\n\n/**\n * Reasons for retrying telemetry\n */\nexport enum RetryReason {\n CLIENT_TIMEOUT = \"Client timeout\",\n UNKNOWN = \"Unknown reason\",\n}\n\n/**\n * Status codes indicating that we should shutdown statsbeat\n * @internal\n */\nexport function isStatsbeatShutdownStatus(statusCode: number): boolean {\n return (\n statusCode === 401 || // Unauthorized\n statusCode === 403 || // Forbidden\n statusCode === 503 // Server Unavailable\n );\n}\n"]}
|
|
@@ -26,7 +26,7 @@ class ApplicationInsightsClient extends coreClient.ServiceClient {
|
|
|
26
26
|
const defaults = {
|
|
27
27
|
requestContentType: "application/json; charset=utf-8",
|
|
28
28
|
};
|
|
29
|
-
const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.
|
|
29
|
+
const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.34`;
|
|
30
30
|
const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
|
31
31
|
? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
|
|
32
32
|
: `${packageDetails}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applicationInsightsClient.js","sourceRoot":"","sources":["../../../src/generated/applicationInsightsClient.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,uEAAiD;AACjD,2EAAqD;AACrD,qEAA+C;AAQ/C,MAAa,yBAA0B,SAAQ,UAAU,CAAC,aAAa;IACrE,IAAI,CAAS;IAEb;;;OAGG;IACH,YAAY,OAAiD;QAC3D,0CAA0C;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAA4C;YACxD,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,uDAAuD,CAAC;QAC/E,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;YAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,cAAc,EAAE;YACjE,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAE1B,MAAM,mBAAmB,GAAG;YAC1B,GAAG,QAAQ;YACX,GAAG,OAAO;YACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,aAAa;SAC/D,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3B,0CAA0C;QAC1C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,sCAAsC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CACH,IAAqB,EACrB,OAA6B;QAE7B,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC1E,CAAC;CACF;AA/CD,8DA+CC;AACD,2BAA2B;AAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAE3E,MAAM,kBAAkB,GAA6B;IACnD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;KACF;IACD,WAAW,EAAE,UAAU,CAAC,IAAI;IAC5B,aAAa,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;IAChC,gBAAgB,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,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 * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n ApplicationInsightsClientOptionalParams,\n TelemetryItem,\n TrackOptionalParams,\n TrackOperationResponse,\n} from \"./models/index.js\";\n\nexport class ApplicationInsightsClient extends coreClient.ServiceClient {\n host: string;\n\n /**\n * Initializes a new instance of the ApplicationInsightsClient class.\n * @param options The parameter options\n */\n constructor(options?: ApplicationInsightsClientOptionalParams) {\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: ApplicationInsightsClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n };\n\n const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.
|
|
1
|
+
{"version":3,"file":"applicationInsightsClient.js","sourceRoot":"","sources":["../../../src/generated/applicationInsightsClient.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,uEAAiD;AACjD,2EAAqD;AACrD,qEAA+C;AAQ/C,MAAa,yBAA0B,SAAQ,UAAU,CAAC,aAAa;IACrE,IAAI,CAAS;IAEb;;;OAGG;IACH,YAAY,OAAiD;QAC3D,0CAA0C;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAA4C;YACxD,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,uDAAuD,CAAC;QAC/E,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;YAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,cAAc,EAAE;YACjE,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAE1B,MAAM,mBAAmB,GAAG;YAC1B,GAAG,QAAQ;YACX,GAAG,OAAO;YACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,aAAa;SAC/D,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3B,0CAA0C;QAC1C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,sCAAsC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CACH,IAAqB,EACrB,OAA6B;QAE7B,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC1E,CAAC;CACF;AA/CD,8DA+CC;AACD,2BAA2B;AAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAE3E,MAAM,kBAAkB,GAA6B;IACnD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI;SACd;KACF;IACD,WAAW,EAAE,UAAU,CAAC,IAAI;IAC5B,aAAa,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;IAChC,gBAAgB,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,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 * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n ApplicationInsightsClientOptionalParams,\n TelemetryItem,\n TrackOptionalParams,\n TrackOperationResponse,\n} from \"./models/index.js\";\n\nexport class ApplicationInsightsClient extends coreClient.ServiceClient {\n host: string;\n\n /**\n * Initializes a new instance of the ApplicationInsightsClient class.\n * @param options The parameter options\n */\n constructor(options?: ApplicationInsightsClientOptionalParams) {\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: ApplicationInsightsClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n };\n\n const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.34`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n endpoint: options.endpoint ?? options.baseUri ?? \"{Host}/v2.1\",\n };\n super(optionsWithDefaults);\n\n // Assigning values to Constant parameters\n this.host = options.host || \"https://dc.services.visualstudio.com\";\n }\n\n /**\n * This operation sends a sequence of telemetry events that will be monitored by Azure Monitor.\n * @param body The list of telemetry events to track.\n * @param options The options parameters.\n */\n track(\n body: TelemetryItem[],\n options?: TrackOptionalParams,\n ): Promise<TrackOperationResponse> {\n return this.sendOperationRequest({ body, options }, trackOperationSpec);\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst trackOperationSpec: coreClient.OperationSpec = {\n path: \"/track\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.TrackResponse,\n },\n 206: {\n bodyMapper: Mappers.TrackResponse,\n },\n 400: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n 402: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n 429: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n 500: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n 503: {\n bodyMapper: Mappers.TrackResponse,\n isError: true,\n },\n },\n requestBody: Parameters.body,\n urlParameters: [Parameters.host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\n"]}
|
|
@@ -11,7 +11,7 @@ export declare abstract class BaseSender {
|
|
|
11
11
|
private numConsecutiveRedirects;
|
|
12
12
|
private retryTimer;
|
|
13
13
|
private networkStatsbeatMetrics;
|
|
14
|
-
private
|
|
14
|
+
private customerSDKStatsMetrics;
|
|
15
15
|
private longIntervalStatsbeatMetrics;
|
|
16
16
|
private statsbeatFailureCount;
|
|
17
17
|
private batchSendRetryIntervalMs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseSender.d.ts","sourceRoot":"","sources":["../../../../src/platform/nodejs/baseSender.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"baseSender.d.ts","sourceRoot":"","sources":["../../../../src/platform/nodejs/baseSender.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAaxD,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAU1E;;;GAGG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,uBAAuB,CAAsC;IACrE,OAAO,CAAC,uBAAuB,CAAsC;IACrE,OAAO,CAAC,4BAA4B,CAAC;IACrC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,wBAAwB,CAAgD;IAChF,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,qBAAqB,CAAU;gBAE3B,OAAO,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,2BAA2B,CAAC;QAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B;IA4CD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IACxD,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAEpE;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAoN1E;;OAEG;YACW,OAAO;IAuBrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAOjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;YAaX,sBAAsB;IAcpC,OAAO,CAAC,oBAAoB;CAO7B"}
|
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.BaseSender = void 0;
|
|
6
6
|
const api_1 = require("@opentelemetry/api");
|
|
7
|
+
const types_js_1 = require("../../export/statsbeat/types.js");
|
|
7
8
|
const index_js_1 = require("./persist/index.js");
|
|
8
9
|
const core_1 = require("@opentelemetry/core");
|
|
9
10
|
const networkStatsbeatMetrics_js_1 = require("../../export/statsbeat/networkStatsbeatMetrics.js");
|
|
10
11
|
const longIntervalStatsbeatMetrics_js_1 = require("../../export/statsbeat/longIntervalStatsbeatMetrics.js");
|
|
11
|
-
const
|
|
12
|
+
const types_js_2 = require("../../export/statsbeat/types.js");
|
|
12
13
|
const breezeUtils_js_1 = require("../../utils/breezeUtils.js");
|
|
13
14
|
const Constants_js_1 = require("../../Declarations/Constants.js");
|
|
14
|
-
const
|
|
15
|
+
const customerSDKStats_js_1 = require("../../export/statsbeat/customerSDKStats.js");
|
|
15
16
|
const DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS = 60_000;
|
|
16
17
|
/**
|
|
17
18
|
* Base sender class
|
|
@@ -22,7 +23,7 @@ class BaseSender {
|
|
|
22
23
|
numConsecutiveRedirects;
|
|
23
24
|
retryTimer;
|
|
24
25
|
networkStatsbeatMetrics;
|
|
25
|
-
|
|
26
|
+
customerSDKStatsMetrics;
|
|
26
27
|
longIntervalStatsbeatMetrics;
|
|
27
28
|
statsbeatFailureCount = 0;
|
|
28
29
|
batchSendRetryIntervalMs = DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS;
|
|
@@ -42,15 +43,27 @@ class BaseSender {
|
|
|
42
43
|
endpointUrl: options.endpointUrl,
|
|
43
44
|
disableOfflineStorage: this.disableOfflineStorage,
|
|
44
45
|
});
|
|
45
|
-
if (process.env[Constants_js_1.
|
|
46
|
-
|
|
46
|
+
if (process.env[Constants_js_1.ENV_APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW]) {
|
|
47
|
+
let exportInterval;
|
|
48
|
+
if (process.env[Constants_js_1.ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL]) {
|
|
49
|
+
const envValue = process.env[Constants_js_1.ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL];
|
|
50
|
+
const exportIntervalSeconds = parseInt(envValue, 10);
|
|
51
|
+
if (!isNaN(exportIntervalSeconds) && exportIntervalSeconds > 0) {
|
|
52
|
+
exportInterval = exportIntervalSeconds * 1000; // Convert seconds to milliseconds
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
api_1.diag.warn(`Invalid value for APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL environment variable: '${envValue}'. Expected a positive number (seconds). Using default export interval.`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
this.customerSDKStatsMetrics = customerSDKStats_js_1.CustomerSDKStatsMetrics.getInstance({
|
|
47
59
|
instrumentationKey: options.instrumentationKey,
|
|
48
60
|
endpointUrl: options.endpointUrl,
|
|
49
61
|
disableOfflineStorage: this.disableOfflineStorage,
|
|
62
|
+
networkCollectionInterval: exportInterval,
|
|
50
63
|
});
|
|
51
64
|
}
|
|
52
65
|
}
|
|
53
|
-
this.persister = new index_js_1.FileSystemPersist(options.instrumentationKey, options.exporterOptions, this.
|
|
66
|
+
this.persister = new index_js_1.FileSystemPersist(options.instrumentationKey, options.exporterOptions, this.customerSDKStatsMetrics);
|
|
54
67
|
this.retryTimer = null;
|
|
55
68
|
this.isStatsbeatSender = options.isStatsbeatSender || false;
|
|
56
69
|
}
|
|
@@ -80,7 +93,7 @@ class BaseSender {
|
|
|
80
93
|
// If we are not exporting statsbeat and statsbeat is not disabled -- count success
|
|
81
94
|
if (!this.isStatsbeatSender) {
|
|
82
95
|
this.networkStatsbeatMetrics?.countSuccess(duration);
|
|
83
|
-
this.
|
|
96
|
+
this.customerSDKStatsMetrics?.countSuccessfulItems(envelopes);
|
|
84
97
|
}
|
|
85
98
|
return { code: core_1.ExportResultCode.SUCCESS };
|
|
86
99
|
}
|
|
@@ -89,7 +102,7 @@ class BaseSender {
|
|
|
89
102
|
if (statusCode === 429 || statusCode === 439) {
|
|
90
103
|
if (!this.isStatsbeatSender) {
|
|
91
104
|
this.networkStatsbeatMetrics?.countThrottle(statusCode);
|
|
92
|
-
this.
|
|
105
|
+
this.customerSDKStatsMetrics?.countRetryItems(envelopes, statusCode);
|
|
93
106
|
}
|
|
94
107
|
return {
|
|
95
108
|
code: core_1.ExportResultCode.SUCCESS,
|
|
@@ -99,7 +112,7 @@ class BaseSender {
|
|
|
99
112
|
api_1.diag.info(result);
|
|
100
113
|
const breezeResponse = JSON.parse(result);
|
|
101
114
|
const filteredEnvelopes = [];
|
|
102
|
-
// Create a list of successful envelopes by filtering out the failed ones for customer
|
|
115
|
+
// Create a list of successful envelopes by filtering out the failed ones for customer SDK Stats
|
|
103
116
|
const successfulEnvelopes = [...envelopes];
|
|
104
117
|
// If we have a partial success, count the succeeded envelopes
|
|
105
118
|
if (breezeResponse.itemsAccepted > 0 && statusCode === 206 && !this.isStatsbeatSender) {
|
|
@@ -121,13 +134,13 @@ class BaseSender {
|
|
|
121
134
|
// Count only the successful envelopes (non-undefined)
|
|
122
135
|
if (!this.isStatsbeatSender) {
|
|
123
136
|
this.networkStatsbeatMetrics?.countSuccess(duration);
|
|
124
|
-
this.
|
|
137
|
+
this.customerSDKStatsMetrics?.countSuccessfulItems(envelopes);
|
|
125
138
|
}
|
|
126
139
|
}
|
|
127
140
|
if (filteredEnvelopes.length > 0) {
|
|
128
141
|
if (!this.isStatsbeatSender) {
|
|
129
142
|
this.networkStatsbeatMetrics?.countRetry(statusCode);
|
|
130
|
-
this.
|
|
143
|
+
this.customerSDKStatsMetrics?.countRetryItems(envelopes, statusCode);
|
|
131
144
|
}
|
|
132
145
|
// calls resultCallback(ExportResult) based on result of persister.push
|
|
133
146
|
return await this.persist(filteredEnvelopes);
|
|
@@ -135,8 +148,9 @@ class BaseSender {
|
|
|
135
148
|
// Failed -- not retriable
|
|
136
149
|
if (!this.isStatsbeatSender) {
|
|
137
150
|
this.networkStatsbeatMetrics?.countFailure(duration, statusCode);
|
|
138
|
-
// Count dropped items for customer
|
|
139
|
-
|
|
151
|
+
// Count dropped items for customer SDK Stats for non-retriable status codes
|
|
152
|
+
const filteredSuccessfulEnvelopes = successfulEnvelopes.filter(Boolean);
|
|
153
|
+
this.customerSDKStatsMetrics?.countDroppedItems(filteredSuccessfulEnvelopes, statusCode);
|
|
140
154
|
}
|
|
141
155
|
return {
|
|
142
156
|
code: core_1.ExportResultCode.FAILED,
|
|
@@ -146,7 +160,7 @@ class BaseSender {
|
|
|
146
160
|
// calls resultCallback(ExportResult) based on result of persister.push
|
|
147
161
|
if (!this.isStatsbeatSender) {
|
|
148
162
|
this.networkStatsbeatMetrics?.countRetry(statusCode);
|
|
149
|
-
this.
|
|
163
|
+
this.customerSDKStatsMetrics?.countRetryItems(envelopes, statusCode);
|
|
150
164
|
}
|
|
151
165
|
return await this.persist(envelopes);
|
|
152
166
|
}
|
|
@@ -156,13 +170,13 @@ class BaseSender {
|
|
|
156
170
|
if (this.networkStatsbeatMetrics && !this.isStatsbeatSender) {
|
|
157
171
|
if (statusCode) {
|
|
158
172
|
this.networkStatsbeatMetrics.countFailure(duration, statusCode);
|
|
159
|
-
this.
|
|
173
|
+
this.customerSDKStatsMetrics?.countDroppedItems(envelopes, statusCode);
|
|
160
174
|
}
|
|
161
175
|
}
|
|
162
176
|
else {
|
|
163
177
|
// Handles all other status codes or client exceptions for Statsbeat
|
|
164
178
|
this.incrementStatsbeatFailure();
|
|
165
|
-
this.
|
|
179
|
+
this.customerSDKStatsMetrics?.countDroppedItems(envelopes, types_js_2.DropCode.CLIENT_EXCEPTION);
|
|
166
180
|
}
|
|
167
181
|
return {
|
|
168
182
|
code: core_1.ExportResultCode.FAILED,
|
|
@@ -192,7 +206,7 @@ class BaseSender {
|
|
|
192
206
|
const redirectError = new Error("Circular redirect");
|
|
193
207
|
if (!this.isStatsbeatSender) {
|
|
194
208
|
this.networkStatsbeatMetrics?.countException(redirectError);
|
|
195
|
-
this.
|
|
209
|
+
this.customerSDKStatsMetrics?.countDroppedItems(envelopes, types_js_2.DropCode.CLIENT_EXCEPTION, redirectError.message, types_js_1.ExceptionType.CLIENT_EXCEPTION);
|
|
196
210
|
}
|
|
197
211
|
return { code: core_1.ExportResultCode.FAILED, error: redirectError };
|
|
198
212
|
}
|
|
@@ -201,7 +215,7 @@ class BaseSender {
|
|
|
201
215
|
(0, breezeUtils_js_1.isRetriable)(restError.statusCode) &&
|
|
202
216
|
!this.isStatsbeatSender) {
|
|
203
217
|
this.networkStatsbeatMetrics?.countRetry(restError.statusCode);
|
|
204
|
-
this.
|
|
218
|
+
this.customerSDKStatsMetrics?.countRetryItems(envelopes, restError.statusCode);
|
|
205
219
|
return this.persist(envelopes);
|
|
206
220
|
}
|
|
207
221
|
else if (restError.statusCode === 400 &&
|
|
@@ -212,20 +226,20 @@ class BaseSender {
|
|
|
212
226
|
}
|
|
213
227
|
else if (restError.statusCode &&
|
|
214
228
|
this.isStatsbeatSender &&
|
|
215
|
-
(0,
|
|
229
|
+
(0, types_js_2.isStatsbeatShutdownStatus)(restError.statusCode)) {
|
|
216
230
|
// If the status code is a shutdown status code for statsbeat, shutdown statsbeat and fail silently
|
|
217
231
|
this.incrementStatsbeatFailure();
|
|
218
232
|
return { code: core_1.ExportResultCode.SUCCESS };
|
|
219
233
|
}
|
|
220
234
|
// For retriable REST errors
|
|
221
235
|
if (this.isRetriableRestError(restError) && !this.isStatsbeatSender) {
|
|
222
|
-
if (this.
|
|
223
|
-
this.
|
|
236
|
+
if (this.customerSDKStatsMetrics?.isTimeoutError(restError) && !this.isStatsbeatSender) {
|
|
237
|
+
this.customerSDKStatsMetrics?.countRetryItems(envelopes, types_js_2.RetryCode.CLIENT_TIMEOUT, "timeout_exception", types_js_1.ExceptionType.TIMEOUT_EXCEPTION);
|
|
224
238
|
api_1.diag.error("Request timed out. Error message:", restError.message);
|
|
225
239
|
}
|
|
226
240
|
else if (restError.statusCode) {
|
|
227
241
|
this.networkStatsbeatMetrics?.countRetry(restError.statusCode);
|
|
228
|
-
this.
|
|
242
|
+
this.customerSDKStatsMetrics?.countRetryItems(envelopes, restError.statusCode);
|
|
229
243
|
}
|
|
230
244
|
api_1.diag.error("Retrying due to transient client side error. Error message:", restError.message);
|
|
231
245
|
return this.persist(envelopes);
|
|
@@ -233,6 +247,7 @@ class BaseSender {
|
|
|
233
247
|
// For non-retriable REST errors or client exceptions
|
|
234
248
|
if (!this.isStatsbeatSender) {
|
|
235
249
|
this.networkStatsbeatMetrics?.countException(restError);
|
|
250
|
+
this.customerSDKStatsMetrics?.countDroppedItems(envelopes, types_js_2.DropCode.CLIENT_EXCEPTION, restError.message);
|
|
236
251
|
api_1.diag.error("Envelopes could not be exported and are not retriable. Error message:", restError.message);
|
|
237
252
|
}
|
|
238
253
|
return { code: core_1.ExportResultCode.FAILED, error: restError };
|
|
@@ -255,7 +270,7 @@ class BaseSender {
|
|
|
255
270
|
if (!this.isStatsbeatSender) {
|
|
256
271
|
this.networkStatsbeatMetrics?.countWriteFailure();
|
|
257
272
|
if (this.disableOfflineStorage && envelopes) {
|
|
258
|
-
this.
|
|
273
|
+
this.customerSDKStatsMetrics?.countDroppedItems(envelopes, types_js_2.DropCode.CLIENT_STORAGE_DISABLED);
|
|
259
274
|
}
|
|
260
275
|
}
|
|
261
276
|
return { code: core_1.ExportResultCode.FAILED, error: ex };
|
|
@@ -266,7 +281,7 @@ class BaseSender {
|
|
|
266
281
|
*/
|
|
267
282
|
incrementStatsbeatFailure() {
|
|
268
283
|
this.statsbeatFailureCount++;
|
|
269
|
-
if (this.statsbeatFailureCount >
|
|
284
|
+
if (this.statsbeatFailureCount > types_js_2.MAX_STATSBEAT_FAILURES) {
|
|
270
285
|
this.shutdownStatsbeat();
|
|
271
286
|
}
|
|
272
287
|
}
|
|
@@ -280,8 +295,8 @@ class BaseSender {
|
|
|
280
295
|
if (this.longIntervalStatsbeatMetrics) {
|
|
281
296
|
this.longIntervalStatsbeatMetrics?.shutdown();
|
|
282
297
|
}
|
|
283
|
-
if (this.
|
|
284
|
-
this.
|
|
298
|
+
if (this.customerSDKStatsMetrics) {
|
|
299
|
+
this.customerSDKStatsMetrics.shutdown();
|
|
285
300
|
}
|
|
286
301
|
this.statsbeatFailureCount = 0;
|
|
287
302
|
}
|