@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.
Files changed (79) hide show
  1. package/LICENSE +21 -0
  2. package/dist/commonjs/Declarations/Constants.d.ts +7 -2
  3. package/dist/commonjs/Declarations/Constants.d.ts.map +1 -1
  4. package/dist/commonjs/Declarations/Constants.js +8 -3
  5. package/dist/commonjs/Declarations/Constants.js.map +1 -1
  6. package/dist/commonjs/export/statsbeat/{customerStatsbeat.d.ts → customerSDKStats.d.ts} +30 -22
  7. package/dist/commonjs/export/statsbeat/customerSDKStats.d.ts.map +1 -0
  8. package/dist/commonjs/export/statsbeat/{customerStatsbeat.js → customerSDKStats.js} +175 -127
  9. package/dist/commonjs/export/statsbeat/customerSDKStats.js.map +1 -0
  10. package/dist/commonjs/export/statsbeat/types.d.ts +34 -9
  11. package/dist/commonjs/export/statsbeat/types.d.ts.map +1 -1
  12. package/dist/commonjs/export/statsbeat/types.js +45 -15
  13. package/dist/commonjs/export/statsbeat/types.js.map +1 -1
  14. package/dist/commonjs/generated/applicationInsightsClient.js +1 -1
  15. package/dist/commonjs/generated/applicationInsightsClient.js.map +1 -1
  16. package/dist/commonjs/platform/nodejs/baseSender.d.ts +1 -1
  17. package/dist/commonjs/platform/nodejs/baseSender.d.ts.map +1 -1
  18. package/dist/commonjs/platform/nodejs/baseSender.js +41 -26
  19. package/dist/commonjs/platform/nodejs/baseSender.js.map +1 -1
  20. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts +3 -3
  21. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -1
  22. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js +8 -8
  23. package/dist/commonjs/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
  24. package/dist/commonjs/tsdoc-metadata.json +1 -1
  25. package/dist/commonjs/types.d.ts +3 -1
  26. package/dist/commonjs/types.d.ts.map +1 -1
  27. package/dist/commonjs/types.js +4 -0
  28. package/dist/commonjs/types.js.map +1 -1
  29. package/dist/commonjs/utils/constants/applicationinsights.d.ts +2 -1
  30. package/dist/commonjs/utils/constants/applicationinsights.d.ts.map +1 -1
  31. package/dist/commonjs/utils/constants/applicationinsights.js +3 -2
  32. package/dist/commonjs/utils/constants/applicationinsights.js.map +1 -1
  33. package/dist/commonjs/utils/logUtils.d.ts.map +1 -1
  34. package/dist/commonjs/utils/logUtils.js +24 -6
  35. package/dist/commonjs/utils/logUtils.js.map +1 -1
  36. package/dist/commonjs/utils/spanUtils.d.ts.map +1 -1
  37. package/dist/commonjs/utils/spanUtils.js +16 -3
  38. package/dist/commonjs/utils/spanUtils.js.map +1 -1
  39. package/dist/esm/Declarations/Constants.d.ts +7 -2
  40. package/dist/esm/Declarations/Constants.d.ts.map +1 -1
  41. package/dist/esm/Declarations/Constants.js +7 -2
  42. package/dist/esm/Declarations/Constants.js.map +1 -1
  43. package/dist/esm/export/statsbeat/{customerStatsbeat.d.ts → customerSDKStats.d.ts} +30 -22
  44. package/dist/esm/export/statsbeat/customerSDKStats.d.ts.map +1 -0
  45. package/dist/esm/export/statsbeat/{customerStatsbeat.js → customerSDKStats.js} +175 -127
  46. package/dist/esm/export/statsbeat/customerSDKStats.js.map +1 -0
  47. package/dist/esm/export/statsbeat/types.d.ts +34 -9
  48. package/dist/esm/export/statsbeat/types.d.ts.map +1 -1
  49. package/dist/esm/export/statsbeat/types.js +43 -13
  50. package/dist/esm/export/statsbeat/types.js.map +1 -1
  51. package/dist/esm/generated/applicationInsightsClient.js +1 -1
  52. package/dist/esm/generated/applicationInsightsClient.js.map +1 -1
  53. package/dist/esm/platform/nodejs/baseSender.d.ts +1 -1
  54. package/dist/esm/platform/nodejs/baseSender.d.ts.map +1 -1
  55. package/dist/esm/platform/nodejs/baseSender.js +39 -24
  56. package/dist/esm/platform/nodejs/baseSender.js.map +1 -1
  57. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts +3 -3
  58. package/dist/esm/platform/nodejs/persist/fileSystemPersist.d.ts.map +1 -1
  59. package/dist/esm/platform/nodejs/persist/fileSystemPersist.js +9 -9
  60. package/dist/esm/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
  61. package/dist/esm/types.d.ts +3 -1
  62. package/dist/esm/types.d.ts.map +1 -1
  63. package/dist/esm/types.js +4 -0
  64. package/dist/esm/types.js.map +1 -1
  65. package/dist/esm/utils/constants/applicationinsights.d.ts +2 -1
  66. package/dist/esm/utils/constants/applicationinsights.d.ts.map +1 -1
  67. package/dist/esm/utils/constants/applicationinsights.js +2 -1
  68. package/dist/esm/utils/constants/applicationinsights.js.map +1 -1
  69. package/dist/esm/utils/logUtils.d.ts.map +1 -1
  70. package/dist/esm/utils/logUtils.js +21 -3
  71. package/dist/esm/utils/logUtils.js.map +1 -1
  72. package/dist/esm/utils/spanUtils.d.ts.map +1 -1
  73. package/dist/esm/utils/spanUtils.js +19 -6
  74. package/dist/esm/utils/spanUtils.js.map +1 -1
  75. package/package.json +32 -33
  76. package/dist/commonjs/export/statsbeat/customerStatsbeat.d.ts.map +0 -1
  77. package/dist/commonjs/export/statsbeat/customerStatsbeat.js.map +0 -1
  78. package/dist/esm/export/statsbeat/customerStatsbeat.d.ts.map +0 -1
  79. 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
- * Statsbeat class for customer-visible telemetry.
37
+ * SDK Stats class for customer-visible telemetry.
38
38
  * @internal
39
39
  */
40
- export declare class CustomerStatsbeat {
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 CustomStatsbeatCounter {
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 CustomerStatsbeatProperties {
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":"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"}
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
- * Statsbeat class for customer-visible telemetry.
48
+ * SDK Stats class for customer-visible telemetry.
49
49
  * @internal
50
50
  */
51
- class CustomerStatsbeat {
51
+ class CustomerSDKStats {
52
52
  totalItemSuccessCount;
53
- // Nested Map structure: telemetry_type -> drop.code -> drop.reason -> count
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.CustomerStatsbeat = CustomerStatsbeat;
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 CustomStatsbeatCounter;
93
- (function (CustomStatsbeatCounter) {
94
- CustomStatsbeatCounter["ITEM_SUCCESS_COUNT"] = "preview.item.success.count";
95
- CustomStatsbeatCounter["ITEM_DROP_COUNT"] = "preview.item.dropped.count";
96
- CustomStatsbeatCounter["ITEM_RETRY_COUNT"] = "preview.item.retry.count";
97
- })(CustomStatsbeatCounter || (exports.CustomStatsbeatCounter = CustomStatsbeatCounter = {}));
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.33`;
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.33`;\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"]}
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 customerStatsbeatMetrics;
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;AACtE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAaxD,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAS1E;;;GAGG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,uBAAuB,CAAsC;IACrE,OAAO,CAAC,wBAAwB,CAAuC;IACvE,OAAO,CAAC,4BAA4B,CAAC;IACrC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,wBAAwB,CAAgD;IAChF,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,qBAAqB,CAAU;gBAE3B,OAAO,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,2BAA2B,CAAC;QAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B;IA+BD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IACxD,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAEpE;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IA4M1E;;OAEG;YACW,OAAO;IAuBrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAOjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;YAaX,sBAAsB;IAcpC,OAAO,CAAC,oBAAoB;CAO7B"}
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 types_js_1 = require("../../export/statsbeat/types.js");
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 customerStatsbeat_js_1 = require("../../export/statsbeat/customerStatsbeat.js");
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
- customerStatsbeatMetrics;
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.ENV_APPLICATIONINSIGHTS_STATSBEAT_ENABLED_PREVIEW]) {
46
- this.customerStatsbeatMetrics = customerStatsbeat_js_1.CustomerStatsbeatMetrics.getInstance({
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.customerStatsbeatMetrics);
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.customerStatsbeatMetrics?.countSuccessfulItems(envelopes);
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.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
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 statsbeat
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.customerStatsbeatMetrics?.countSuccessfulItems(envelopes);
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.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
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 statsbeat for non-retriable status codes
139
- this.customerStatsbeatMetrics?.countDroppedItems(successfulEnvelopes.filter(Boolean), statusCode);
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.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
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.customerStatsbeatMetrics?.countDroppedItems(envelopes, statusCode);
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.customerStatsbeatMetrics?.countDroppedItems(envelopes, types_js_1.DropCode.CLIENT_EXCEPTION);
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.customerStatsbeatMetrics?.countDroppedItems(envelopes, types_js_1.DropCode.CLIENT_EXCEPTION, redirectError.message);
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.customerStatsbeatMetrics?.countRetryItems(envelopes, restError.statusCode);
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, types_js_1.isStatsbeatShutdownStatus)(restError.statusCode)) {
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.customerStatsbeatMetrics?.isTimeoutError(restError) && !this.isStatsbeatSender) {
223
- this.customerStatsbeatMetrics?.countRetryItems(envelopes, types_js_1.RetryCode.CLIENT_TIMEOUT, "timeout_exception");
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.customerStatsbeatMetrics?.countRetryItems(envelopes, restError.statusCode);
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.customerStatsbeatMetrics?.countDroppedItems(envelopes, types_js_1.DropCode.CLIENT_STORAGE_DISABLED);
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 > types_js_1.MAX_STATSBEAT_FAILURES) {
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.customerStatsbeatMetrics) {
284
- this.customerStatsbeatMetrics.shutdown();
298
+ if (this.customerSDKStatsMetrics) {
299
+ this.customerSDKStatsMetrics.shutdown();
285
300
  }
286
301
  this.statsbeatFailureCount = 0;
287
302
  }