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

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 +42 -43
  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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"}
@@ -40,12 +40,13 @@ export class NetworkStatsbeat {
40
40
  }
41
41
  }
42
42
  /**
43
- * Statsbeat class for customer-visible telemetry.
43
+ * SDK Stats class for customer-visible telemetry.
44
44
  * @internal
45
45
  */
46
- export class CustomerStatsbeat {
46
+ export class CustomerSDKStats {
47
47
  totalItemSuccessCount;
48
- // Nested Map structure: telemetry_type -> drop.code -> drop.reason -> count
48
+ // telemetry_type -> drop.code -> drop.reason -> success -> count
49
+ // success can be true/false for request/dependency telemetry, or null for other types
49
50
  totalItemDropCount;
50
51
  // Nested Map structure: telemetry_type -> retry.code -> retry.reason -> count
51
52
  totalItemRetryCount;
@@ -55,6 +56,8 @@ export class CustomerStatsbeat {
55
56
  this.totalItemRetryCount = new Map();
56
57
  }
57
58
  }
59
+ // Legacy alias for backward compatibility
60
+ export const CustomerStatsbeat = CustomerSDKStats;
58
61
  export const STATSBEAT_LANGUAGE = "node";
59
62
  export const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
60
63
  export const MAX_STATSBEAT_FAILURES = 3;
@@ -83,12 +86,14 @@ export var StatsbeatCounter;
83
86
  StatsbeatCounter["ATTACH"] = "Attach";
84
87
  StatsbeatCounter["FEATURE"] = "Feature";
85
88
  })(StatsbeatCounter || (StatsbeatCounter = {}));
86
- export var CustomStatsbeatCounter;
87
- (function (CustomStatsbeatCounter) {
88
- CustomStatsbeatCounter["ITEM_SUCCESS_COUNT"] = "preview.item.success.count";
89
- CustomStatsbeatCounter["ITEM_DROP_COUNT"] = "preview.item.dropped.count";
90
- CustomStatsbeatCounter["ITEM_RETRY_COUNT"] = "preview.item.retry.count";
91
- })(CustomStatsbeatCounter || (CustomStatsbeatCounter = {}));
89
+ export var CustomSDKStatsCounter;
90
+ (function (CustomSDKStatsCounter) {
91
+ CustomSDKStatsCounter["ITEM_SUCCESS_COUNT"] = "preview.item.success.count";
92
+ CustomSDKStatsCounter["ITEM_DROP_COUNT"] = "preview.item.dropped.count";
93
+ CustomSDKStatsCounter["ITEM_RETRY_COUNT"] = "preview.item.retry.count";
94
+ })(CustomSDKStatsCounter || (CustomSDKStatsCounter = {}));
95
+ // Legacy alias for backward compatibility
96
+ export const CustomStatsbeatCounter = CustomSDKStatsCounter;
92
97
  export const AIMS_URI = "http://169.254.169.254/metadata/instance/compute";
93
98
  export const AIMS_API_VERSION = "api-version=2017-12-01";
94
99
  export const AIMS_FORMAT = "format=json";
@@ -124,11 +129,8 @@ export var TelemetryType;
124
129
  export var DropCode;
125
130
  (function (DropCode) {
126
131
  DropCode["CLIENT_EXCEPTION"] = "CLIENT_EXCEPTION";
127
- DropCode["CLIENT_EXPIRED_DATA"] = "CLIENT_EXPIRED_DATA";
128
132
  DropCode["CLIENT_READONLY"] = "CLIENT_READONLY";
129
- DropCode["CLIENT_STALE_DATA"] = "CLIENT_STALE_DATA";
130
133
  DropCode["CLIENT_PERSISTENCE_CAPACITY"] = "CLIENT_PERSISTENCE_CAPACITY";
131
- DropCode["NON_RETRYABLE_STATUS_CODE"] = "NON_RETRYABLE_STATUS_CODE";
132
134
  DropCode["CLIENT_STORAGE_DISABLED"] = "CLIENT_STORAGE_DISABLED";
133
135
  DropCode["UNKNOWN"] = "UNKNOWN";
134
136
  })(DropCode || (DropCode = {}));
@@ -136,7 +138,6 @@ export var RetryCode;
136
138
  (function (RetryCode) {
137
139
  RetryCode["CLIENT_EXCEPTION"] = "CLIENT_EXCEPTION";
138
140
  RetryCode["CLIENT_TIMEOUT"] = "CLIENT_TIMEOUT";
139
- RetryCode["RETRYABLE_STATUS_CODE"] = "RETRYABLE_STATUS_CODE";
140
141
  RetryCode["UNKNOWN"] = "UNKNOWN";
141
142
  })(RetryCode || (RetryCode = {}));
142
143
  export var StatsbeatFeatureType;
@@ -144,6 +145,35 @@ export var StatsbeatFeatureType;
144
145
  StatsbeatFeatureType[StatsbeatFeatureType["FEATURE"] = 0] = "FEATURE";
145
146
  StatsbeatFeatureType[StatsbeatFeatureType["INSTRUMENTATION"] = 1] = "INSTRUMENTATION";
146
147
  })(StatsbeatFeatureType || (StatsbeatFeatureType = {}));
148
+ /**
149
+ * Exception types for client exceptions
150
+ * @internal
151
+ */
152
+ export var ExceptionType;
153
+ (function (ExceptionType) {
154
+ ExceptionType["CLIENT_EXCEPTION"] = "Client exception";
155
+ ExceptionType["NETWORK_EXCEPTION"] = "Network exception";
156
+ ExceptionType["STORAGE_EXCEPTION"] = "Storage exception";
157
+ ExceptionType["TIMEOUT_EXCEPTION"] = "Timeout exception";
158
+ })(ExceptionType || (ExceptionType = {}));
159
+ /**
160
+ * Reasons for dropping telemetry
161
+ */
162
+ export var DropReason;
163
+ (function (DropReason) {
164
+ DropReason["CLIENT_READONLY"] = "Client readonly";
165
+ DropReason["CLIENT_PERSISTENCE_CAPACITY"] = "Client persistence capacity";
166
+ DropReason["CLIENT_STORAGE_DISABLED"] = "Client local storage disabled";
167
+ DropReason["UNKNOWN"] = "Unknown reason";
168
+ })(DropReason || (DropReason = {}));
169
+ /**
170
+ * Reasons for retrying telemetry
171
+ */
172
+ export var RetryReason;
173
+ (function (RetryReason) {
174
+ RetryReason["CLIENT_TIMEOUT"] = "Client timeout";
175
+ RetryReason["UNKNOWN"] = "Unknown reason";
176
+ })(RetryReason || (RetryReason = {}));
147
177
  /**
148
178
  * Status codes indicating that we should shutdown statsbeat
149
179
  * @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"]}
@@ -22,7 +22,7 @@ export class ApplicationInsightsClient extends coreClient.ServiceClient {
22
22
  const defaults = {
23
23
  requestContentType: "application/json; charset=utf-8",
24
24
  };
25
- const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.33`;
25
+ const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.35`;
26
26
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
27
27
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
28
28
  : `${packageDetails}`;
@@ -1 +1 @@
1
- {"version":3,"file":"applicationInsightsClient.js","sourceRoot":"","sources":["../../../src/generated/applicationInsightsClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAQ/C,MAAM,OAAO,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;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,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAQ/C,MAAM,OAAO,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;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.35`;\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"}
@@ -1,14 +1,15 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  import { diag } from "@opentelemetry/api";
4
+ import { ExceptionType } from "../../export/statsbeat/types.js";
4
5
  import { FileSystemPersist } from "./persist/index.js";
5
6
  import { ExportResultCode } from "@opentelemetry/core";
6
7
  import { NetworkStatsbeatMetrics } from "../../export/statsbeat/networkStatsbeatMetrics.js";
7
8
  import { LongIntervalStatsbeatMetrics } from "../../export/statsbeat/longIntervalStatsbeatMetrics.js";
8
9
  import { DropCode, RetryCode, MAX_STATSBEAT_FAILURES, isStatsbeatShutdownStatus, } from "../../export/statsbeat/types.js";
9
10
  import { isRetriable } from "../../utils/breezeUtils.js";
10
- import { ENV_APPLICATIONINSIGHTS_STATSBEAT_ENABLED_PREVIEW, RetriableRestErrorTypes, } from "../../Declarations/Constants.js";
11
- import { CustomerStatsbeatMetrics } from "../../export/statsbeat/customerStatsbeat.js";
11
+ import { ENV_APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW, ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL, RetriableRestErrorTypes, } from "../../Declarations/Constants.js";
12
+ import { CustomerSDKStatsMetrics } from "../../export/statsbeat/customerSDKStats.js";
12
13
  const DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS = 60_000;
13
14
  /**
14
15
  * Base sender class
@@ -19,7 +20,7 @@ export class BaseSender {
19
20
  numConsecutiveRedirects;
20
21
  retryTimer;
21
22
  networkStatsbeatMetrics;
22
- customerStatsbeatMetrics;
23
+ customerSDKStatsMetrics;
23
24
  longIntervalStatsbeatMetrics;
24
25
  statsbeatFailureCount = 0;
25
26
  batchSendRetryIntervalMs = DEFAULT_BATCH_SEND_RETRY_INTERVAL_MS;
@@ -39,15 +40,27 @@ export class BaseSender {
39
40
  endpointUrl: options.endpointUrl,
40
41
  disableOfflineStorage: this.disableOfflineStorage,
41
42
  });
42
- if (process.env[ENV_APPLICATIONINSIGHTS_STATSBEAT_ENABLED_PREVIEW]) {
43
- this.customerStatsbeatMetrics = CustomerStatsbeatMetrics.getInstance({
43
+ if (process.env[ENV_APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW]) {
44
+ let exportInterval;
45
+ if (process.env[ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL]) {
46
+ const envValue = process.env[ENV_APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL];
47
+ const exportIntervalSeconds = parseInt(envValue, 10);
48
+ if (!isNaN(exportIntervalSeconds) && exportIntervalSeconds > 0) {
49
+ exportInterval = exportIntervalSeconds * 1000; // Convert seconds to milliseconds
50
+ }
51
+ else {
52
+ diag.warn(`Invalid value for APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL environment variable: '${envValue}'. Expected a positive number (seconds). Using default export interval.`);
53
+ }
54
+ }
55
+ this.customerSDKStatsMetrics = CustomerSDKStatsMetrics.getInstance({
44
56
  instrumentationKey: options.instrumentationKey,
45
57
  endpointUrl: options.endpointUrl,
46
58
  disableOfflineStorage: this.disableOfflineStorage,
59
+ networkCollectionInterval: exportInterval,
47
60
  });
48
61
  }
49
62
  }
50
- this.persister = new FileSystemPersist(options.instrumentationKey, options.exporterOptions, this.customerStatsbeatMetrics);
63
+ this.persister = new FileSystemPersist(options.instrumentationKey, options.exporterOptions, this.customerSDKStatsMetrics);
51
64
  this.retryTimer = null;
52
65
  this.isStatsbeatSender = options.isStatsbeatSender || false;
53
66
  }
@@ -77,7 +90,7 @@ export class BaseSender {
77
90
  // If we are not exporting statsbeat and statsbeat is not disabled -- count success
78
91
  if (!this.isStatsbeatSender) {
79
92
  this.networkStatsbeatMetrics?.countSuccess(duration);
80
- this.customerStatsbeatMetrics?.countSuccessfulItems(envelopes);
93
+ this.customerSDKStatsMetrics?.countSuccessfulItems(envelopes);
81
94
  }
82
95
  return { code: ExportResultCode.SUCCESS };
83
96
  }
@@ -86,7 +99,7 @@ export class BaseSender {
86
99
  if (statusCode === 429 || statusCode === 439) {
87
100
  if (!this.isStatsbeatSender) {
88
101
  this.networkStatsbeatMetrics?.countThrottle(statusCode);
89
- this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
102
+ this.customerSDKStatsMetrics?.countRetryItems(envelopes, statusCode);
90
103
  }
91
104
  return {
92
105
  code: ExportResultCode.SUCCESS,
@@ -96,7 +109,7 @@ export class BaseSender {
96
109
  diag.info(result);
97
110
  const breezeResponse = JSON.parse(result);
98
111
  const filteredEnvelopes = [];
99
- // Create a list of successful envelopes by filtering out the failed ones for customer statsbeat
112
+ // Create a list of successful envelopes by filtering out the failed ones for customer SDK Stats
100
113
  const successfulEnvelopes = [...envelopes];
101
114
  // If we have a partial success, count the succeeded envelopes
102
115
  if (breezeResponse.itemsAccepted > 0 && statusCode === 206 && !this.isStatsbeatSender) {
@@ -118,13 +131,13 @@ export class BaseSender {
118
131
  // Count only the successful envelopes (non-undefined)
119
132
  if (!this.isStatsbeatSender) {
120
133
  this.networkStatsbeatMetrics?.countSuccess(duration);
121
- this.customerStatsbeatMetrics?.countSuccessfulItems(envelopes);
134
+ this.customerSDKStatsMetrics?.countSuccessfulItems(envelopes);
122
135
  }
123
136
  }
124
137
  if (filteredEnvelopes.length > 0) {
125
138
  if (!this.isStatsbeatSender) {
126
139
  this.networkStatsbeatMetrics?.countRetry(statusCode);
127
- this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
140
+ this.customerSDKStatsMetrics?.countRetryItems(envelopes, statusCode);
128
141
  }
129
142
  // calls resultCallback(ExportResult) based on result of persister.push
130
143
  return await this.persist(filteredEnvelopes);
@@ -132,8 +145,9 @@ export class BaseSender {
132
145
  // Failed -- not retriable
133
146
  if (!this.isStatsbeatSender) {
134
147
  this.networkStatsbeatMetrics?.countFailure(duration, statusCode);
135
- // Count dropped items for customer statsbeat for non-retriable status codes
136
- this.customerStatsbeatMetrics?.countDroppedItems(successfulEnvelopes.filter(Boolean), statusCode);
148
+ // Count dropped items for customer SDK Stats for non-retriable status codes
149
+ const filteredSuccessfulEnvelopes = successfulEnvelopes.filter(Boolean);
150
+ this.customerSDKStatsMetrics?.countDroppedItems(filteredSuccessfulEnvelopes, statusCode);
137
151
  }
138
152
  return {
139
153
  code: ExportResultCode.FAILED,
@@ -143,7 +157,7 @@ export class BaseSender {
143
157
  // calls resultCallback(ExportResult) based on result of persister.push
144
158
  if (!this.isStatsbeatSender) {
145
159
  this.networkStatsbeatMetrics?.countRetry(statusCode);
146
- this.customerStatsbeatMetrics?.countRetryItems(envelopes, statusCode);
160
+ this.customerSDKStatsMetrics?.countRetryItems(envelopes, statusCode);
147
161
  }
148
162
  return await this.persist(envelopes);
149
163
  }
@@ -153,13 +167,13 @@ export class BaseSender {
153
167
  if (this.networkStatsbeatMetrics && !this.isStatsbeatSender) {
154
168
  if (statusCode) {
155
169
  this.networkStatsbeatMetrics.countFailure(duration, statusCode);
156
- this.customerStatsbeatMetrics?.countDroppedItems(envelopes, statusCode);
170
+ this.customerSDKStatsMetrics?.countDroppedItems(envelopes, statusCode);
157
171
  }
158
172
  }
159
173
  else {
160
174
  // Handles all other status codes or client exceptions for Statsbeat
161
175
  this.incrementStatsbeatFailure();
162
- this.customerStatsbeatMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_EXCEPTION);
176
+ this.customerSDKStatsMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_EXCEPTION);
163
177
  }
164
178
  return {
165
179
  code: ExportResultCode.FAILED,
@@ -189,7 +203,7 @@ export class BaseSender {
189
203
  const redirectError = new Error("Circular redirect");
190
204
  if (!this.isStatsbeatSender) {
191
205
  this.networkStatsbeatMetrics?.countException(redirectError);
192
- this.customerStatsbeatMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_EXCEPTION, redirectError.message);
206
+ this.customerSDKStatsMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_EXCEPTION, redirectError.message, ExceptionType.CLIENT_EXCEPTION);
193
207
  }
194
208
  return { code: ExportResultCode.FAILED, error: redirectError };
195
209
  }
@@ -198,7 +212,7 @@ export class BaseSender {
198
212
  isRetriable(restError.statusCode) &&
199
213
  !this.isStatsbeatSender) {
200
214
  this.networkStatsbeatMetrics?.countRetry(restError.statusCode);
201
- this.customerStatsbeatMetrics?.countRetryItems(envelopes, restError.statusCode);
215
+ this.customerSDKStatsMetrics?.countRetryItems(envelopes, restError.statusCode);
202
216
  return this.persist(envelopes);
203
217
  }
204
218
  else if (restError.statusCode === 400 &&
@@ -216,13 +230,13 @@ export class BaseSender {
216
230
  }
217
231
  // For retriable REST errors
218
232
  if (this.isRetriableRestError(restError) && !this.isStatsbeatSender) {
219
- if (this.customerStatsbeatMetrics?.isTimeoutError(restError) && !this.isStatsbeatSender) {
220
- this.customerStatsbeatMetrics?.countRetryItems(envelopes, RetryCode.CLIENT_TIMEOUT, "timeout_exception");
233
+ if (this.customerSDKStatsMetrics?.isTimeoutError(restError) && !this.isStatsbeatSender) {
234
+ this.customerSDKStatsMetrics?.countRetryItems(envelopes, RetryCode.CLIENT_TIMEOUT, "timeout_exception", ExceptionType.TIMEOUT_EXCEPTION);
221
235
  diag.error("Request timed out. Error message:", restError.message);
222
236
  }
223
237
  else if (restError.statusCode) {
224
238
  this.networkStatsbeatMetrics?.countRetry(restError.statusCode);
225
- this.customerStatsbeatMetrics?.countRetryItems(envelopes, restError.statusCode);
239
+ this.customerSDKStatsMetrics?.countRetryItems(envelopes, restError.statusCode);
226
240
  }
227
241
  diag.error("Retrying due to transient client side error. Error message:", restError.message);
228
242
  return this.persist(envelopes);
@@ -230,6 +244,7 @@ export class BaseSender {
230
244
  // For non-retriable REST errors or client exceptions
231
245
  if (!this.isStatsbeatSender) {
232
246
  this.networkStatsbeatMetrics?.countException(restError);
247
+ this.customerSDKStatsMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_EXCEPTION, restError.message);
233
248
  diag.error("Envelopes could not be exported and are not retriable. Error message:", restError.message);
234
249
  }
235
250
  return { code: ExportResultCode.FAILED, error: restError };
@@ -252,7 +267,7 @@ export class BaseSender {
252
267
  if (!this.isStatsbeatSender) {
253
268
  this.networkStatsbeatMetrics?.countWriteFailure();
254
269
  if (this.disableOfflineStorage && envelopes) {
255
- this.customerStatsbeatMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_STORAGE_DISABLED);
270
+ this.customerSDKStatsMetrics?.countDroppedItems(envelopes, DropCode.CLIENT_STORAGE_DISABLED);
256
271
  }
257
272
  }
258
273
  return { code: ExportResultCode.FAILED, error: ex };
@@ -277,8 +292,8 @@ export class BaseSender {
277
292
  if (this.longIntervalStatsbeatMetrics) {
278
293
  this.longIntervalStatsbeatMetrics?.shutdown();
279
294
  }
280
- if (this.customerStatsbeatMetrics) {
281
- this.customerStatsbeatMetrics.shutdown();
295
+ if (this.customerSDKStatsMetrics) {
296
+ this.customerSDKStatsMetrics.shutdown();
282
297
  }
283
298
  this.statsbeatFailureCount = 0;
284
299
  }