@azure/monitor-opentelemetry 1.18.2 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -1
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +15 -2
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/logs/batchLogRecordProcessor.js +1 -1
- package/dist/commonjs/logs/batchLogRecordProcessor.js.map +1 -1
- package/dist/commonjs/logs/handler.d.ts +3 -0
- package/dist/commonjs/logs/handler.d.ts.map +1 -1
- package/dist/commonjs/logs/handler.js +22 -2
- package/dist/commonjs/logs/handler.js.map +1 -1
- package/dist/commonjs/metrics/quickpulse/credentialUtils.d.ts +16 -0
- package/dist/commonjs/metrics/quickpulse/credentialUtils.d.ts.map +1 -0
- package/dist/commonjs/metrics/quickpulse/credentialUtils.js +48 -0
- package/dist/commonjs/metrics/quickpulse/credentialUtils.js.map +1 -0
- package/dist/commonjs/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
- package/dist/commonjs/metrics/quickpulse/liveMetrics.js +4 -2
- package/dist/commonjs/metrics/quickpulse/liveMetrics.js.map +1 -1
- package/dist/commonjs/shared/config.d.ts.map +1 -1
- package/dist/commonjs/shared/config.js +1 -0
- package/dist/commonjs/shared/config.js.map +1 -1
- package/dist/commonjs/shared/logging/diagFileConsoleLogger.d.ts +1 -0
- package/dist/commonjs/shared/logging/diagFileConsoleLogger.d.ts.map +1 -1
- package/dist/commonjs/shared/logging/diagFileConsoleLogger.js +13 -12
- package/dist/commonjs/shared/logging/diagFileConsoleLogger.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/types.d.ts +11 -1
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +47 -3
- package/dist/commonjs/types.js.map +1 -1
- package/dist/commonjs/utils/common.d.ts +10 -0
- package/dist/commonjs/utils/common.d.ts.map +1 -1
- package/dist/commonjs/utils/common.js +16 -0
- package/dist/commonjs/utils/common.js.map +1 -1
- package/dist/commonjs/utils/logUtils.d.ts +5 -0
- package/dist/commonjs/utils/logUtils.d.ts.map +1 -1
- package/dist/commonjs/utils/logUtils.js +8 -0
- package/dist/commonjs/utils/logUtils.js.map +1 -1
- package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.d.ts.map +1 -1
- package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.js +3 -2
- package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.js.map +1 -1
- package/dist/commonjs/utils/statsbeat.d.ts.map +1 -1
- package/dist/commonjs/utils/statsbeat.js +35 -30
- package/dist/commonjs/utils/statsbeat.js.map +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +15 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/logs/batchLogRecordProcessor.js +1 -1
- package/dist/esm/logs/batchLogRecordProcessor.js.map +1 -1
- package/dist/esm/logs/handler.d.ts +3 -0
- package/dist/esm/logs/handler.d.ts.map +1 -1
- package/dist/esm/logs/handler.js +23 -3
- package/dist/esm/logs/handler.js.map +1 -1
- package/dist/esm/metrics/quickpulse/credentialUtils.d.ts +16 -0
- package/dist/esm/metrics/quickpulse/credentialUtils.d.ts.map +1 -0
- package/dist/esm/metrics/quickpulse/credentialUtils.js +45 -0
- package/dist/esm/metrics/quickpulse/credentialUtils.js.map +1 -0
- package/dist/esm/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
- package/dist/esm/metrics/quickpulse/liveMetrics.js +4 -2
- package/dist/esm/metrics/quickpulse/liveMetrics.js.map +1 -1
- package/dist/esm/shared/config.d.ts.map +1 -1
- package/dist/esm/shared/config.js +1 -0
- package/dist/esm/shared/config.js.map +1 -1
- package/dist/esm/shared/logging/diagFileConsoleLogger.d.ts +1 -0
- package/dist/esm/shared/logging/diagFileConsoleLogger.d.ts.map +1 -1
- package/dist/esm/shared/logging/diagFileConsoleLogger.js +13 -12
- package/dist/esm/shared/logging/diagFileConsoleLogger.js.map +1 -1
- package/dist/esm/types.d.ts +11 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +46 -2
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/common.d.ts +10 -0
- package/dist/esm/utils/common.d.ts.map +1 -1
- package/dist/esm/utils/common.js +14 -0
- package/dist/esm/utils/common.js.map +1 -1
- package/dist/esm/utils/logUtils.d.ts +5 -0
- package/dist/esm/utils/logUtils.d.ts.map +1 -1
- package/dist/esm/utils/logUtils.js +7 -0
- package/dist/esm/utils/logUtils.js.map +1 -1
- package/dist/esm/utils/opentelemetryInstrumentationPatcher.d.ts.map +1 -1
- package/dist/esm/utils/opentelemetryInstrumentationPatcher.js +3 -2
- package/dist/esm/utils/opentelemetryInstrumentationPatcher.js.map +1 -1
- package/dist/esm/utils/statsbeat.d.ts.map +1 -1
- package/dist/esm/utils/statsbeat.js +36 -31
- package/dist/esm/utils/statsbeat.js.map +1 -1
- package/package.json +26 -24
package/dist/esm/types.d.ts
CHANGED
|
@@ -59,6 +59,8 @@ export interface InstrumentationOptions {
|
|
|
59
59
|
bunyan?: InstrumentationConfig;
|
|
60
60
|
/** Winston Instrumentation Config */
|
|
61
61
|
winston?: InstrumentationConfig;
|
|
62
|
+
/** Console Instrumentation Config */
|
|
63
|
+
console?: InstrumentationConfig;
|
|
62
64
|
}
|
|
63
65
|
/**
|
|
64
66
|
* Statsbeat Features Configuration interface
|
|
@@ -93,6 +95,7 @@ export interface StatsbeatInstrumentations {
|
|
|
93
95
|
redis?: boolean;
|
|
94
96
|
bunyan?: boolean;
|
|
95
97
|
winston?: boolean;
|
|
98
|
+
console?: boolean;
|
|
96
99
|
/** OpenTelemetry Community Instrumentations */
|
|
97
100
|
amqplib?: boolean;
|
|
98
101
|
cucumber?: boolean;
|
|
@@ -140,11 +143,12 @@ export interface BrowserSdkLoaderOptions {
|
|
|
140
143
|
/** Browser SDK Loader Connection String */
|
|
141
144
|
connectionString?: string;
|
|
142
145
|
}
|
|
143
|
-
export declare const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.
|
|
146
|
+
export declare const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.19.0";
|
|
144
147
|
export declare const AZURE_MONITOR_STATSBEAT_FEATURES = "AZURE_MONITOR_STATSBEAT_FEATURES";
|
|
145
148
|
export declare const AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
|
|
146
149
|
export declare const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
|
|
147
150
|
export declare const APPLICATION_INSIGHTS_SHIM_VERSION = "APPLICATION_INSIGHTS_SHIM_VERSION";
|
|
151
|
+
export declare const APPLICATIONINSIGHTS_AUTHENTICATION_STRING = "APPLICATIONINSIGHTS_AUTHENTICATION_STRING";
|
|
148
152
|
export declare enum AttachTypePrefix {
|
|
149
153
|
INTEGRATED_AUTO = "i",
|
|
150
154
|
MANUAL = "m"
|
|
@@ -196,6 +200,7 @@ export declare enum StatsbeatInstrumentation {
|
|
|
196
200
|
POSTGRES = 16,
|
|
197
201
|
BUNYAN = 32,
|
|
198
202
|
WINSTON = 64,
|
|
203
|
+
CONSOLE = 128,
|
|
199
204
|
/** OpenTelemetry Supported Instrumentations */
|
|
200
205
|
CUCUMBER = 256,
|
|
201
206
|
DATALOADER = 512,
|
|
@@ -231,6 +236,11 @@ export declare enum StatsbeatInstrumentation {
|
|
|
231
236
|
* @internal
|
|
232
237
|
*/
|
|
233
238
|
export declare const StatsbeatInstrumentationMap: Map<string, number>;
|
|
239
|
+
/**
|
|
240
|
+
* Maps Statsbeat instrumentation option names to their assigned bits.
|
|
241
|
+
* @internal
|
|
242
|
+
*/
|
|
243
|
+
export declare const StatsbeatInstrumentationsMap: Map<string, number>;
|
|
234
244
|
export interface StatsbeatEnvironmentConfig {
|
|
235
245
|
instrumentation: StatsbeatInstrumentation;
|
|
236
246
|
feature: StatsbeatFeature;
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.js
CHANGED
|
@@ -13,11 +13,12 @@ export const StatsbeatFeaturesMap = new Map([
|
|
|
13
13
|
["multiIkey", 128],
|
|
14
14
|
["aksResourceDetectorPopulation", 256],
|
|
15
15
|
]);
|
|
16
|
-
export const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.
|
|
16
|
+
export const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.19.0";
|
|
17
17
|
export const AZURE_MONITOR_STATSBEAT_FEATURES = "AZURE_MONITOR_STATSBEAT_FEATURES";
|
|
18
18
|
export const AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
|
|
19
19
|
export const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
|
|
20
20
|
export const APPLICATION_INSIGHTS_SHIM_VERSION = "APPLICATION_INSIGHTS_SHIM_VERSION";
|
|
21
|
+
export const APPLICATIONINSIGHTS_AUTHENTICATION_STRING = "APPLICATIONINSIGHTS_AUTHENTICATION_STRING";
|
|
21
22
|
export var AttachTypePrefix;
|
|
22
23
|
(function (AttachTypePrefix) {
|
|
23
24
|
AttachTypePrefix["INTEGRATED_AUTO"] = "i";
|
|
@@ -72,8 +73,8 @@ export var StatsbeatInstrumentation;
|
|
|
72
73
|
StatsbeatInstrumentation[StatsbeatInstrumentation["POSTGRES"] = 16] = "POSTGRES";
|
|
73
74
|
StatsbeatInstrumentation[StatsbeatInstrumentation["BUNYAN"] = 32] = "BUNYAN";
|
|
74
75
|
StatsbeatInstrumentation[StatsbeatInstrumentation["WINSTON"] = 64] = "WINSTON";
|
|
76
|
+
StatsbeatInstrumentation[StatsbeatInstrumentation["CONSOLE"] = 128] = "CONSOLE";
|
|
75
77
|
/** OpenTelemetry Supported Instrumentations */
|
|
76
|
-
// Console instrumentation is not supported here - occupies 128
|
|
77
78
|
StatsbeatInstrumentation[StatsbeatInstrumentation["CUCUMBER"] = 256] = "CUCUMBER";
|
|
78
79
|
StatsbeatInstrumentation[StatsbeatInstrumentation["DATALOADER"] = 512] = "DATALOADER";
|
|
79
80
|
StatsbeatInstrumentation[StatsbeatInstrumentation["FS"] = 1024] = "FS";
|
|
@@ -108,6 +109,7 @@ export var StatsbeatInstrumentation;
|
|
|
108
109
|
* @internal
|
|
109
110
|
*/
|
|
110
111
|
export const StatsbeatInstrumentationMap = new Map([
|
|
112
|
+
["@opentelemetry/instrumentation-console", StatsbeatInstrumentation.CONSOLE],
|
|
111
113
|
["@opentelemetry/instrumentation-amqplib", StatsbeatInstrumentation.AMQPLIB],
|
|
112
114
|
["@opentelemetry/instrumentation-cucumber", StatsbeatInstrumentation.CUCUMBER],
|
|
113
115
|
["@opentelemetry/instrumentation-dataloader", StatsbeatInstrumentation.DATALOADER],
|
|
@@ -137,4 +139,46 @@ export const StatsbeatInstrumentationMap = new Map([
|
|
|
137
139
|
["@opentelemetry/instrumentation-restify", StatsbeatInstrumentation.RESTIFY],
|
|
138
140
|
["@opentelemetry/instrumentation-router", StatsbeatInstrumentation.ROUTER],
|
|
139
141
|
]);
|
|
142
|
+
/**
|
|
143
|
+
* Maps Statsbeat instrumentation option names to their assigned bits.
|
|
144
|
+
* @internal
|
|
145
|
+
*/
|
|
146
|
+
export const StatsbeatInstrumentationsMap = new Map([
|
|
147
|
+
["azureSdk", StatsbeatInstrumentation.AZURE_CORE_TRACING],
|
|
148
|
+
["mongoDb", StatsbeatInstrumentation.MONGODB],
|
|
149
|
+
["mySql", StatsbeatInstrumentation.MYSQL],
|
|
150
|
+
["postgreSql", StatsbeatInstrumentation.POSTGRES],
|
|
151
|
+
["redis", StatsbeatInstrumentation.REDIS],
|
|
152
|
+
["bunyan", StatsbeatInstrumentation.BUNYAN],
|
|
153
|
+
["winston", StatsbeatInstrumentation.WINSTON],
|
|
154
|
+
["console", StatsbeatInstrumentation.CONSOLE],
|
|
155
|
+
["amqplib", StatsbeatInstrumentation.AMQPLIB],
|
|
156
|
+
["cucumber", StatsbeatInstrumentation.CUCUMBER],
|
|
157
|
+
["dataloader", StatsbeatInstrumentation.DATALOADER],
|
|
158
|
+
["fs", StatsbeatInstrumentation.FS],
|
|
159
|
+
["lruMemoizer", StatsbeatInstrumentation.LRU_MEMOIZER],
|
|
160
|
+
["mongoose", StatsbeatInstrumentation.MONGOOSE],
|
|
161
|
+
["runtimeNode", StatsbeatInstrumentation.RUNTIME_NODE],
|
|
162
|
+
["socketIo", StatsbeatInstrumentation.SOCKET_IO],
|
|
163
|
+
["tedious", StatsbeatInstrumentation.TEDIOUS],
|
|
164
|
+
["undici", StatsbeatInstrumentation.UNDICI],
|
|
165
|
+
["cassandra", StatsbeatInstrumentation.CASSANDRA],
|
|
166
|
+
["connect", StatsbeatInstrumentation.CONNECT],
|
|
167
|
+
["dns", StatsbeatInstrumentation.DNS],
|
|
168
|
+
["express", StatsbeatInstrumentation.EXPRESS],
|
|
169
|
+
["fastify", StatsbeatInstrumentation.FASTIFY],
|
|
170
|
+
["genericPool", StatsbeatInstrumentation.GENERIC_POOL],
|
|
171
|
+
["graphql", StatsbeatInstrumentation.GRAPHQL],
|
|
172
|
+
["hapi", StatsbeatInstrumentation.HAPI],
|
|
173
|
+
["ioredis", StatsbeatInstrumentation.IOREDIS],
|
|
174
|
+
["knex", StatsbeatInstrumentation.KNEX],
|
|
175
|
+
["koa", StatsbeatInstrumentation.KOA],
|
|
176
|
+
["memcached", StatsbeatInstrumentation.MEMCACHED],
|
|
177
|
+
["mysql2", StatsbeatInstrumentation.MYSQL2],
|
|
178
|
+
["nestjsCore", StatsbeatInstrumentation.NESTJS_CORE],
|
|
179
|
+
["net", StatsbeatInstrumentation.NET],
|
|
180
|
+
["pino", StatsbeatInstrumentation.PINO],
|
|
181
|
+
["restify", StatsbeatInstrumentation.RESTIFY],
|
|
182
|
+
["router", StatsbeatInstrumentation.ROUTER],
|
|
183
|
+
]);
|
|
140
184
|
//# sourceMappingURL=types.js.map
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { AzureMonitorExporterOptions } from \"@azure/monitor-opentelemetry-exporter\";\nimport type { InstrumentationConfig } from \"@opentelemetry/instrumentation\";\nimport type { Resource } from \"@opentelemetry/resources\";\nimport type { LogRecordProcessor } from \"@opentelemetry/sdk-logs\";\nimport type { MetricReader, ViewOptions } from \"@opentelemetry/sdk-metrics\";\nimport type { SpanProcessor } from \"@opentelemetry/sdk-trace-base\";\n\n/**\n * Azure Monitor OpenTelemetry Options\n */\nexport interface AzureMonitorOpenTelemetryOptions {\n /** Azure Monitor Exporter Configuration */\n azureMonitorExporterOptions?: AzureMonitorExporterOptions;\n /** OpenTelemetry Resource */\n resource?: Resource;\n /** The rate of telemetry items tracked that should be transmitted (Default 1.0) */\n samplingRatio?: number;\n /** The maximum number of traces to sample per second (Default 5). Set to 0 to use samplingRatio instead. */\n tracesPerSecond?: number;\n /** Enable Live Metrics feature (Default false)*/\n enableLiveMetrics?: boolean;\n /** Enable Standard Metrics feature (Default true)*/\n enableStandardMetrics?: boolean;\n /** Enable log sampling based on trace (Default true) */\n enableTraceBasedSamplingForLogs?: boolean;\n /** Enable Performance Counter feature */\n enablePerformanceCounters?: boolean;\n /** OpenTelemetry Instrumentations options included as part of Azure Monitor. See {@link InstrumentationOptions} for the full set of supported instrumentations. */\n instrumentationOptions?: InstrumentationOptions;\n /** Application Insights Web Instrumentation options (enabled, connectionString, src, config)*/\n browserSdkLoaderOptions?: BrowserSdkLoaderOptions;\n /** An array of log record processors to register to the logger provider.*/\n logRecordProcessors?: LogRecordProcessor[];\n /** An array of span processors to register to the tracer provider.*/\n spanProcessors?: SpanProcessor[];\n /** An array of metric readers to register to the meter provider.*/\n metricReaders?: MetricReader[];\n /** An array of metric views to register to the meter provider.*/\n views?: ViewOptions[];\n}\n\n/**\n * OpenTelemetry Instrumentations Configuration interface\n */\nexport interface InstrumentationOptions {\n /** Azure SDK Instrumentation Config */\n azureSdk?: InstrumentationConfig;\n /** HTTP Instrumentation Config */\n http?: InstrumentationConfig;\n /** MongoDB Instrumentation Config */\n mongoDb?: InstrumentationConfig;\n /** MySQL Instrumentation Config */\n mySql?: InstrumentationConfig;\n /** PostgreSql Instrumentation Config */\n postgreSql?: InstrumentationConfig;\n /** Redis Instrumentation Config */\n redis?: InstrumentationConfig;\n /** Redis4 Instrumentation Config */\n redis4?: InstrumentationConfig;\n /** Bunyan Instrumentation Config */\n bunyan?: InstrumentationConfig;\n /** Winston Instrumentation Config */\n winston?: InstrumentationConfig;\n}\n\n/**\n * Statsbeat Features Configuration interface\n * @internal\n */\nexport interface StatsbeatFeatures {\n diskRetry?: boolean;\n aadHandling?: boolean;\n browserSdkLoader?: boolean;\n distro?: boolean;\n liveMetrics?: boolean;\n shim?: boolean;\n customerSdkStats?: boolean;\n multiIkey?: boolean;\n aksResourceDetectorPopulation?: boolean;\n}\n\n/**\n * Statsbeat Features Mapping\n * @internal\n */\nexport const StatsbeatFeaturesMap = new Map<string, number>([\n [\"diskRetry\", 1],\n [\"aadHandling\", 2],\n [\"browserSdkLoader\", 4],\n [\"distro\", 8],\n [\"liveMetrics\", 16],\n [\"shim\", 32],\n [\"customerSdkStats\", 64],\n [\"multiIkey\", 128],\n [\"aksResourceDetectorPopulation\", 256],\n]);\n\n/**\n * Statsbeat Instrumentations Configuration interface\n * @internal\n */\nexport interface StatsbeatInstrumentations {\n /** Azure Monitor Supported Instrumentations */\n azureSdk?: boolean;\n mongoDb?: boolean;\n mySql?: boolean;\n postgreSql?: boolean;\n redis?: boolean;\n bunyan?: boolean;\n winston?: boolean;\n /** OpenTelemetry Community Instrumentations */\n amqplib?: boolean;\n cucumber?: boolean;\n dataloader?: boolean;\n fs?: boolean;\n lruMemoizer?: boolean;\n mongoose?: boolean;\n runtimeNode?: boolean;\n socketIo?: boolean;\n tedious?: boolean;\n undici?: boolean;\n cassandra?: boolean;\n connect?: boolean;\n dns?: boolean;\n express?: boolean;\n fastify?: boolean;\n genericPool?: boolean;\n graphql?: boolean;\n hapi?: boolean;\n ioredis?: boolean;\n knex?: boolean;\n koa?: boolean;\n memcached?: boolean;\n mysql2?: boolean;\n nestjsCore?: boolean;\n net?: boolean;\n pino?: boolean;\n restify?: boolean;\n router?: boolean;\n}\n\n/**\n * Statsbeat Instrumentation and Feature Option interface\n * @internal\n */\nexport interface StatsbeatOption {\n option: string;\n value: boolean;\n}\n\n/**\n * Application Insights Web Instrumentation Configuration interface\n */\nexport interface BrowserSdkLoaderOptions {\n /** Browser SDK Loader Enable */\n enabled?: boolean;\n /** Browser SDK Loader Connection String */\n connectionString?: string;\n}\n\nexport const AZURE_MONITOR_OPENTELEMETRY_VERSION = \"1.18.2\";\nexport const AZURE_MONITOR_STATSBEAT_FEATURES = \"AZURE_MONITOR_STATSBEAT_FEATURES\";\nexport const AZURE_MONITOR_PREFIX = \"AZURE_MONITOR_PREFIX\";\nexport const AZURE_MONITOR_AUTO_ATTACH = \"AZURE_MONITOR_AUTO_ATTACH\";\nexport const APPLICATION_INSIGHTS_SHIM_VERSION = \"APPLICATION_INSIGHTS_SHIM_VERSION\";\n\nexport enum AttachTypePrefix {\n INTEGRATED_AUTO = \"i\",\n MANUAL = \"m\",\n}\n\n/**\n * Default Browser SDK Loader Source\n * @internal\n */\nexport const BROWSER_SDK_LOADER_DEFAULT_SOURCE = \"https://js.monitor.azure.com/scripts/b/ai\";\n\n/**\n * Default Breeze endpoint.\n * @internal\n */\nexport const DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\n/**\n * Default Live Metrics endpoint.\n * @internal\n */\nexport const DEFAULT_LIVEMETRICS_ENDPOINT = \"https://global.livediagnostics.monitor.azure.com\";\n\n/**\n * Internal attribute name for sample rate\n * @internal\n */\nexport const AzureMonitorSampleRate = \"microsoft.sample_rate\";\n\n/**\n * Disables customer-facing SDK Stats.\n * @internal\n */\nexport const APPLICATIONINSIGHTS_SDKSTATS_DISABLED = \"APPLICATIONINSIGHTS_SDKSTATS_DISABLED\";\n\nexport enum StatsbeatFeature {\n NONE = 0,\n DISK_RETRY = 1,\n AAD_HANDLING = 2,\n BROWSER_SDK_LOADER = 4,\n DISTRO = 8,\n LIVE_METRICS = 16,\n SHIM = 32,\n CUSTOMER_SDKSTATS = 64,\n MULTI_IKEY = 128,\n AKS_RESOURCE_DETECTOR_POPULATION = 256,\n}\n\nexport enum StatsbeatInstrumentation {\n /** Azure Monitor Supported Instrumentations */\n NONE = 0,\n AZURE_CORE_TRACING = 1,\n MONGODB = 2,\n MYSQL = 4,\n REDIS = 8,\n POSTGRES = 16,\n BUNYAN = 32,\n WINSTON = 64,\n /** OpenTelemetry Supported Instrumentations */\n // Console instrumentation is not supported here - occupies 128\n CUCUMBER = 256,\n DATALOADER = 512,\n FS = 1024,\n LRU_MEMOIZER = 2048,\n MONGOOSE = 4096,\n RUNTIME_NODE = 8192,\n SOCKET_IO = 16384,\n TEDIOUS = 32768,\n UNDICI = 65536,\n CASSANDRA = 131072,\n CONNECT = 262144,\n DNS = 524288,\n EXPRESS = 1048576,\n FASTIFY = 2097152,\n GENERIC_POOL = 4194304,\n GRAPHQL = 8388608,\n HAPI = 16777216,\n IOREDIS = 33554432,\n KNEX = 67108864,\n KOA = 134217728,\n MEMCACHED = 268435456,\n MYSQL2 = 536870912,\n NESTJS_CORE = 1073741824,\n NET = 2147483648,\n PINO = 4294967296,\n RESTIFY = 8589934592,\n ROUTER = 17179869184,\n AMQPLIB = 34359738368,\n}\n\n/**\n * Statsbeat Instrumentation Mapping\n * @internal\n */\nexport const StatsbeatInstrumentationMap = new Map<string, number>([\n [\"@opentelemetry/instrumentation-amqplib\", StatsbeatInstrumentation.AMQPLIB],\n [\"@opentelemetry/instrumentation-cucumber\", StatsbeatInstrumentation.CUCUMBER],\n [\"@opentelemetry/instrumentation-dataloader\", StatsbeatInstrumentation.DATALOADER],\n [\"@opentelemetry/instrumentation-fs\", StatsbeatInstrumentation.FS],\n [\"@opentelemetry/instrumentation-lru-memoizer\", StatsbeatInstrumentation.LRU_MEMOIZER],\n [\"@opentelemetry/instrumentation-mongoose\", StatsbeatInstrumentation.MONGOOSE],\n [\"@opentelemetry/instrumentation-runtime-node\", StatsbeatInstrumentation.RUNTIME_NODE],\n [\"@opentelemetry/instrumentation-socket.io\", StatsbeatInstrumentation.SOCKET_IO],\n [\"@opentelemetry/instrumentation-tedious\", StatsbeatInstrumentation.TEDIOUS],\n [\"@opentelemetry/instrumentation-undici\", StatsbeatInstrumentation.UNDICI],\n [\"@opentelemetry/instrumentation-cassandra-driver\", StatsbeatInstrumentation.CASSANDRA],\n [\"@opentelemetry/instrumentation-connect\", StatsbeatInstrumentation.CONNECT],\n [\"@opentelemetry/instrumentation-dns\", StatsbeatInstrumentation.DNS],\n [\"@opentelemetry/instrumentation-express\", StatsbeatInstrumentation.EXPRESS],\n [\"@opentelemetry/instrumentation-fastify\", StatsbeatInstrumentation.FASTIFY],\n [\"@opentelemetry/instrumentation-generic-pool\", StatsbeatInstrumentation.GENERIC_POOL],\n [\"@opentelemetry/instrumentation-graphql\", StatsbeatInstrumentation.GRAPHQL],\n [\"@opentelemetry/instrumentation-hapi\", StatsbeatInstrumentation.HAPI],\n [\"@opentelemetry/instrumentation-ioredis\", StatsbeatInstrumentation.IOREDIS],\n [\"@opentelemetry/instrumentation-knex\", StatsbeatInstrumentation.KNEX],\n [\"@opentelemetry/instrumentation-koa\", StatsbeatInstrumentation.KOA],\n [\"@opentelemetry/instrumentation-memcached\", StatsbeatInstrumentation.MEMCACHED],\n [\"@opentelemetry/instrumentation-mysql2\", StatsbeatInstrumentation.MYSQL2],\n [\"@opentelemetry/instrumentation-nestjs-core\", StatsbeatInstrumentation.NESTJS_CORE],\n [\"@opentelemetry/instrumentation-net\", StatsbeatInstrumentation.NET],\n [\"@opentelemetry/instrumentation-pino\", StatsbeatInstrumentation.PINO],\n [\"@opentelemetry/instrumentation-restify\", StatsbeatInstrumentation.RESTIFY],\n [\"@opentelemetry/instrumentation-router\", StatsbeatInstrumentation.ROUTER],\n]);\n\nexport interface StatsbeatEnvironmentConfig {\n instrumentation: StatsbeatInstrumentation;\n feature: StatsbeatFeature;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { AzureMonitorExporterOptions } from \"@azure/monitor-opentelemetry-exporter\";\nimport type { InstrumentationConfig } from \"@opentelemetry/instrumentation\";\nimport type { Resource } from \"@opentelemetry/resources\";\nimport type { LogRecordProcessor } from \"@opentelemetry/sdk-logs\";\nimport type { MetricReader, ViewOptions } from \"@opentelemetry/sdk-metrics\";\nimport type { SpanProcessor } from \"@opentelemetry/sdk-trace-base\";\n\n/**\n * Azure Monitor OpenTelemetry Options\n */\nexport interface AzureMonitorOpenTelemetryOptions {\n /** Azure Monitor Exporter Configuration */\n azureMonitorExporterOptions?: AzureMonitorExporterOptions;\n /** OpenTelemetry Resource */\n resource?: Resource;\n /** The rate of telemetry items tracked that should be transmitted (Default 1.0) */\n samplingRatio?: number;\n /** The maximum number of traces to sample per second (Default 5). Set to 0 to use samplingRatio instead. */\n tracesPerSecond?: number;\n /** Enable Live Metrics feature (Default false)*/\n enableLiveMetrics?: boolean;\n /** Enable Standard Metrics feature (Default true)*/\n enableStandardMetrics?: boolean;\n /** Enable log sampling based on trace (Default true) */\n enableTraceBasedSamplingForLogs?: boolean;\n /** Enable Performance Counter feature */\n enablePerformanceCounters?: boolean;\n /** OpenTelemetry Instrumentations options included as part of Azure Monitor. See {@link InstrumentationOptions} for the full set of supported instrumentations. */\n instrumentationOptions?: InstrumentationOptions;\n /** Application Insights Web Instrumentation options (enabled, connectionString, src, config)*/\n browserSdkLoaderOptions?: BrowserSdkLoaderOptions;\n /** An array of log record processors to register to the logger provider.*/\n logRecordProcessors?: LogRecordProcessor[];\n /** An array of span processors to register to the tracer provider.*/\n spanProcessors?: SpanProcessor[];\n /** An array of metric readers to register to the meter provider.*/\n metricReaders?: MetricReader[];\n /** An array of metric views to register to the meter provider.*/\n views?: ViewOptions[];\n}\n\n/**\n * OpenTelemetry Instrumentations Configuration interface\n */\nexport interface InstrumentationOptions {\n /** Azure SDK Instrumentation Config */\n azureSdk?: InstrumentationConfig;\n /** HTTP Instrumentation Config */\n http?: InstrumentationConfig;\n /** MongoDB Instrumentation Config */\n mongoDb?: InstrumentationConfig;\n /** MySQL Instrumentation Config */\n mySql?: InstrumentationConfig;\n /** PostgreSql Instrumentation Config */\n postgreSql?: InstrumentationConfig;\n /** Redis Instrumentation Config */\n redis?: InstrumentationConfig;\n /** Redis4 Instrumentation Config */\n redis4?: InstrumentationConfig;\n /** Bunyan Instrumentation Config */\n bunyan?: InstrumentationConfig;\n /** Winston Instrumentation Config */\n winston?: InstrumentationConfig;\n /** Console Instrumentation Config */\n console?: InstrumentationConfig;\n}\n\n/**\n * Statsbeat Features Configuration interface\n * @internal\n */\nexport interface StatsbeatFeatures {\n diskRetry?: boolean;\n aadHandling?: boolean;\n browserSdkLoader?: boolean;\n distro?: boolean;\n liveMetrics?: boolean;\n shim?: boolean;\n customerSdkStats?: boolean;\n multiIkey?: boolean;\n aksResourceDetectorPopulation?: boolean;\n}\n\n/**\n * Statsbeat Features Mapping\n * @internal\n */\nexport const StatsbeatFeaturesMap = new Map<string, number>([\n [\"diskRetry\", 1],\n [\"aadHandling\", 2],\n [\"browserSdkLoader\", 4],\n [\"distro\", 8],\n [\"liveMetrics\", 16],\n [\"shim\", 32],\n [\"customerSdkStats\", 64],\n [\"multiIkey\", 128],\n [\"aksResourceDetectorPopulation\", 256],\n]);\n\n/**\n * Statsbeat Instrumentations Configuration interface\n * @internal\n */\nexport interface StatsbeatInstrumentations {\n /** Azure Monitor Supported Instrumentations */\n azureSdk?: boolean;\n mongoDb?: boolean;\n mySql?: boolean;\n postgreSql?: boolean;\n redis?: boolean;\n bunyan?: boolean;\n winston?: boolean;\n console?: boolean;\n /** OpenTelemetry Community Instrumentations */\n amqplib?: boolean;\n cucumber?: boolean;\n dataloader?: boolean;\n fs?: boolean;\n lruMemoizer?: boolean;\n mongoose?: boolean;\n runtimeNode?: boolean;\n socketIo?: boolean;\n tedious?: boolean;\n undici?: boolean;\n cassandra?: boolean;\n connect?: boolean;\n dns?: boolean;\n express?: boolean;\n fastify?: boolean;\n genericPool?: boolean;\n graphql?: boolean;\n hapi?: boolean;\n ioredis?: boolean;\n knex?: boolean;\n koa?: boolean;\n memcached?: boolean;\n mysql2?: boolean;\n nestjsCore?: boolean;\n net?: boolean;\n pino?: boolean;\n restify?: boolean;\n router?: boolean;\n}\n\n/**\n * Statsbeat Instrumentation and Feature Option interface\n * @internal\n */\nexport interface StatsbeatOption {\n option: string;\n value: boolean;\n}\n\n/**\n * Application Insights Web Instrumentation Configuration interface\n */\nexport interface BrowserSdkLoaderOptions {\n /** Browser SDK Loader Enable */\n enabled?: boolean;\n /** Browser SDK Loader Connection String */\n connectionString?: string;\n}\n\nexport const AZURE_MONITOR_OPENTELEMETRY_VERSION = \"1.19.0\";\nexport const AZURE_MONITOR_STATSBEAT_FEATURES = \"AZURE_MONITOR_STATSBEAT_FEATURES\";\nexport const AZURE_MONITOR_PREFIX = \"AZURE_MONITOR_PREFIX\";\nexport const AZURE_MONITOR_AUTO_ATTACH = \"AZURE_MONITOR_AUTO_ATTACH\";\nexport const APPLICATION_INSIGHTS_SHIM_VERSION = \"APPLICATION_INSIGHTS_SHIM_VERSION\";\nexport const APPLICATIONINSIGHTS_AUTHENTICATION_STRING =\n \"APPLICATIONINSIGHTS_AUTHENTICATION_STRING\";\n\nexport enum AttachTypePrefix {\n INTEGRATED_AUTO = \"i\",\n MANUAL = \"m\",\n}\n\n/**\n * Default Browser SDK Loader Source\n * @internal\n */\nexport const BROWSER_SDK_LOADER_DEFAULT_SOURCE = \"https://js.monitor.azure.com/scripts/b/ai\";\n\n/**\n * Default Breeze endpoint.\n * @internal\n */\nexport const DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\n/**\n * Default Live Metrics endpoint.\n * @internal\n */\nexport const DEFAULT_LIVEMETRICS_ENDPOINT = \"https://global.livediagnostics.monitor.azure.com\";\n\n/**\n * Internal attribute name for sample rate\n * @internal\n */\nexport const AzureMonitorSampleRate = \"microsoft.sample_rate\";\n\n/**\n * Disables customer-facing SDK Stats.\n * @internal\n */\nexport const APPLICATIONINSIGHTS_SDKSTATS_DISABLED = \"APPLICATIONINSIGHTS_SDKSTATS_DISABLED\";\n\nexport enum StatsbeatFeature {\n NONE = 0,\n DISK_RETRY = 1,\n AAD_HANDLING = 2,\n BROWSER_SDK_LOADER = 4,\n DISTRO = 8,\n LIVE_METRICS = 16,\n SHIM = 32,\n CUSTOMER_SDKSTATS = 64,\n MULTI_IKEY = 128,\n AKS_RESOURCE_DETECTOR_POPULATION = 256,\n}\n\nexport enum StatsbeatInstrumentation {\n /** Azure Monitor Supported Instrumentations */\n NONE = 0,\n AZURE_CORE_TRACING = 1,\n MONGODB = 2,\n MYSQL = 4,\n REDIS = 8,\n POSTGRES = 16,\n BUNYAN = 32,\n WINSTON = 64,\n CONSOLE = 128,\n /** OpenTelemetry Supported Instrumentations */\n CUCUMBER = 256,\n DATALOADER = 512,\n FS = 1024,\n LRU_MEMOIZER = 2048,\n MONGOOSE = 4096,\n RUNTIME_NODE = 8192,\n SOCKET_IO = 16384,\n TEDIOUS = 32768,\n UNDICI = 65536,\n CASSANDRA = 131072,\n CONNECT = 262144,\n DNS = 524288,\n EXPRESS = 1048576,\n FASTIFY = 2097152,\n GENERIC_POOL = 4194304,\n GRAPHQL = 8388608,\n HAPI = 16777216,\n IOREDIS = 33554432,\n KNEX = 67108864,\n KOA = 134217728,\n MEMCACHED = 268435456,\n MYSQL2 = 536870912,\n NESTJS_CORE = 1073741824,\n NET = 2147483648,\n PINO = 4294967296,\n RESTIFY = 8589934592,\n ROUTER = 17179869184,\n AMQPLIB = 34359738368,\n}\n\n/**\n * Statsbeat Instrumentation Mapping\n * @internal\n */\nexport const StatsbeatInstrumentationMap = new Map<string, number>([\n [\"@opentelemetry/instrumentation-console\", StatsbeatInstrumentation.CONSOLE],\n [\"@opentelemetry/instrumentation-amqplib\", StatsbeatInstrumentation.AMQPLIB],\n [\"@opentelemetry/instrumentation-cucumber\", StatsbeatInstrumentation.CUCUMBER],\n [\"@opentelemetry/instrumentation-dataloader\", StatsbeatInstrumentation.DATALOADER],\n [\"@opentelemetry/instrumentation-fs\", StatsbeatInstrumentation.FS],\n [\"@opentelemetry/instrumentation-lru-memoizer\", StatsbeatInstrumentation.LRU_MEMOIZER],\n [\"@opentelemetry/instrumentation-mongoose\", StatsbeatInstrumentation.MONGOOSE],\n [\"@opentelemetry/instrumentation-runtime-node\", StatsbeatInstrumentation.RUNTIME_NODE],\n [\"@opentelemetry/instrumentation-socket.io\", StatsbeatInstrumentation.SOCKET_IO],\n [\"@opentelemetry/instrumentation-tedious\", StatsbeatInstrumentation.TEDIOUS],\n [\"@opentelemetry/instrumentation-undici\", StatsbeatInstrumentation.UNDICI],\n [\"@opentelemetry/instrumentation-cassandra-driver\", StatsbeatInstrumentation.CASSANDRA],\n [\"@opentelemetry/instrumentation-connect\", StatsbeatInstrumentation.CONNECT],\n [\"@opentelemetry/instrumentation-dns\", StatsbeatInstrumentation.DNS],\n [\"@opentelemetry/instrumentation-express\", StatsbeatInstrumentation.EXPRESS],\n [\"@opentelemetry/instrumentation-fastify\", StatsbeatInstrumentation.FASTIFY],\n [\"@opentelemetry/instrumentation-generic-pool\", StatsbeatInstrumentation.GENERIC_POOL],\n [\"@opentelemetry/instrumentation-graphql\", StatsbeatInstrumentation.GRAPHQL],\n [\"@opentelemetry/instrumentation-hapi\", StatsbeatInstrumentation.HAPI],\n [\"@opentelemetry/instrumentation-ioredis\", StatsbeatInstrumentation.IOREDIS],\n [\"@opentelemetry/instrumentation-knex\", StatsbeatInstrumentation.KNEX],\n [\"@opentelemetry/instrumentation-koa\", StatsbeatInstrumentation.KOA],\n [\"@opentelemetry/instrumentation-memcached\", StatsbeatInstrumentation.MEMCACHED],\n [\"@opentelemetry/instrumentation-mysql2\", StatsbeatInstrumentation.MYSQL2],\n [\"@opentelemetry/instrumentation-nestjs-core\", StatsbeatInstrumentation.NESTJS_CORE],\n [\"@opentelemetry/instrumentation-net\", StatsbeatInstrumentation.NET],\n [\"@opentelemetry/instrumentation-pino\", StatsbeatInstrumentation.PINO],\n [\"@opentelemetry/instrumentation-restify\", StatsbeatInstrumentation.RESTIFY],\n [\"@opentelemetry/instrumentation-router\", StatsbeatInstrumentation.ROUTER],\n]);\n\n/**\n * Maps Statsbeat instrumentation option names to their assigned bits.\n * @internal\n */\nexport const StatsbeatInstrumentationsMap = new Map<string, number>([\n [\"azureSdk\", StatsbeatInstrumentation.AZURE_CORE_TRACING],\n [\"mongoDb\", StatsbeatInstrumentation.MONGODB],\n [\"mySql\", StatsbeatInstrumentation.MYSQL],\n [\"postgreSql\", StatsbeatInstrumentation.POSTGRES],\n [\"redis\", StatsbeatInstrumentation.REDIS],\n [\"bunyan\", StatsbeatInstrumentation.BUNYAN],\n [\"winston\", StatsbeatInstrumentation.WINSTON],\n [\"console\", StatsbeatInstrumentation.CONSOLE],\n [\"amqplib\", StatsbeatInstrumentation.AMQPLIB],\n [\"cucumber\", StatsbeatInstrumentation.CUCUMBER],\n [\"dataloader\", StatsbeatInstrumentation.DATALOADER],\n [\"fs\", StatsbeatInstrumentation.FS],\n [\"lruMemoizer\", StatsbeatInstrumentation.LRU_MEMOIZER],\n [\"mongoose\", StatsbeatInstrumentation.MONGOOSE],\n [\"runtimeNode\", StatsbeatInstrumentation.RUNTIME_NODE],\n [\"socketIo\", StatsbeatInstrumentation.SOCKET_IO],\n [\"tedious\", StatsbeatInstrumentation.TEDIOUS],\n [\"undici\", StatsbeatInstrumentation.UNDICI],\n [\"cassandra\", StatsbeatInstrumentation.CASSANDRA],\n [\"connect\", StatsbeatInstrumentation.CONNECT],\n [\"dns\", StatsbeatInstrumentation.DNS],\n [\"express\", StatsbeatInstrumentation.EXPRESS],\n [\"fastify\", StatsbeatInstrumentation.FASTIFY],\n [\"genericPool\", StatsbeatInstrumentation.GENERIC_POOL],\n [\"graphql\", StatsbeatInstrumentation.GRAPHQL],\n [\"hapi\", StatsbeatInstrumentation.HAPI],\n [\"ioredis\", StatsbeatInstrumentation.IOREDIS],\n [\"knex\", StatsbeatInstrumentation.KNEX],\n [\"koa\", StatsbeatInstrumentation.KOA],\n [\"memcached\", StatsbeatInstrumentation.MEMCACHED],\n [\"mysql2\", StatsbeatInstrumentation.MYSQL2],\n [\"nestjsCore\", StatsbeatInstrumentation.NESTJS_CORE],\n [\"net\", StatsbeatInstrumentation.NET],\n [\"pino\", StatsbeatInstrumentation.PINO],\n [\"restify\", StatsbeatInstrumentation.RESTIFY],\n [\"router\", StatsbeatInstrumentation.ROUTER],\n]);\n\nexport interface StatsbeatEnvironmentConfig {\n instrumentation: StatsbeatInstrumentation;\n feature: StatsbeatFeature;\n}\n"]}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import type http from "node:http";
|
|
2
2
|
import type { ResourceDetector } from "@opentelemetry/resources";
|
|
3
|
+
/**
|
|
4
|
+
* Tests a flag without 32-bit coercion.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function hasNumberFlag(mask: number, flag: number): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Sets a flag without 32-bit coercion.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare function addNumberFlag(mask: number, flag: number): number;
|
|
3
13
|
export declare function ignoreOutgoingRequestHook(request: http.RequestOptions): boolean;
|
|
4
14
|
export declare const isWindows: () => boolean;
|
|
5
15
|
export declare const isLinux: () => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAgBjE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAiB/E;AAED,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,OAE1B,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAO,OAE3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAO,MAE9B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,QAAO,OAE/B,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,OAEhC,CAAC;AAEF,eAAO,MAAM,KAAK,QAAO,OAExB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QAAO,MAWtC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAiB/C;AAKD,wBAAgB,gCAAgC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CA4C1E"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAgBjE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAiB/E;AAED,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,OAE1B,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAO,OAE3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAO,MAE9B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,QAAO,OAE/B,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,OAEhC,CAAC;AAEF,eAAO,MAAM,KAAK,QAAO,OAExB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QAAO,MAWtC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAiB/C;AAKD,wBAAgB,gCAAgC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CA4C1E"}
|
package/dist/esm/utils/common.js
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import { envDetector, hostDetector, osDetector, processDetector, serviceInstanceIdDetector, } from "@opentelemetry/resources";
|
|
2
2
|
import { diag } from "@opentelemetry/api";
|
|
3
3
|
import { azureAksDetector, azureAppServiceDetector, azureFunctionsDetector, azureVmDetector, } from "@opentelemetry/resource-detector-azure";
|
|
4
|
+
/**
|
|
5
|
+
* Tests a flag without 32-bit coercion.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export function hasNumberFlag(mask, flag) {
|
|
9
|
+
return flag > 0 && Math.floor(mask / flag) % 2 === 1;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Sets a flag without 32-bit coercion.
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export function addNumberFlag(mask, flag) {
|
|
16
|
+
return flag > 0 && !hasNumberFlag(mask, flag) ? mask + flag : mask;
|
|
17
|
+
}
|
|
4
18
|
export function ignoreOutgoingRequestHook(request) {
|
|
5
19
|
if (request && request.headers && !Array.isArray(request.headers)) {
|
|
6
20
|
const outgoingHeaders = request.headers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EACf,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAChB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,UAAU,yBAAyB,CAAC,OAA4B;IACpE,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,MAAM,eAAe,GAAG,OAAO,CAAC,OAAmC,CAAC;QACpE,IACE,CAAC,eAAe,CAAC,YAAY,CAAC;YAC5B,eAAe,CAAC,YAAY,CAAC;iBAC1B,QAAQ,EAAE;iBACV,OAAO,CAAC,yCAAyC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC,eAAe,CAAC,YAAY,CAAC;gBAC5B,eAAe,CAAC,YAAY,CAAC;qBAC1B,QAAQ,EAAE;qBACV,OAAO,CAAC,yCAAyC,CAAC,GAAG,CAAC,CAAC,CAAC,EAC7D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,GAAY,EAAE;IACrC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAY,EAAE;IACnC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAY,EAAE;IACpC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE;IACtC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAY,EAAE;IACxC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAY,EAAE;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAY,EAAE;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAChG,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,IAAI,YAAY,EAAE,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,KAAK,EAAE,EAAE,CAAC;QACZ,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACjE,OAAO,GAAG,CAAC,CAAC;IACd,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACtD,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAEzD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5C,OAAO,GAAG,QAAQ,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5C,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,sDAAsD;AACtD,MAAM,UAAU,gCAAgC;IAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAA2B;QAC1D,CAAC,KAAK,EAAE,WAAW,CAAC;QACpB,CAAC,MAAM,EAAE,YAAY,CAAC;QACtB,CAAC,IAAI,EAAE,UAAU,CAAC;QAClB,CAAC,SAAS,EAAE,eAAe,CAAC;QAC5B,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;QAC9C,CAAC,WAAW,EAAE,gBAAgB,CAAC;QAC/B,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;QAC9C,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;QAC3C,CAAC,UAAU,EAAE,eAAe,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,IAAI,EAAE,CAAC;QACrD,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;YACvF,KAAK;YACL,MAAM;YACN,IAAI;SACL,CAAC;QAEF,IAAI,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,CACR,8BAA8B,QAAQ,sEAAsE,CAC7G,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,4EAA4E;QAC5E,8EAA8E;QAC9E,iCAAiC;QACjC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type http from \"node:http\";\nimport type { ResourceDetector } from \"@opentelemetry/resources\";\nimport {\n envDetector,\n hostDetector,\n osDetector,\n processDetector,\n serviceInstanceIdDetector,\n} from \"@opentelemetry/resources\";\nimport { diag } from \"@opentelemetry/api\";\nimport {\n azureAksDetector,\n azureAppServiceDetector,\n azureFunctionsDetector,\n azureVmDetector,\n} from \"@opentelemetry/resource-detector-azure\";\n\nexport function ignoreOutgoingRequestHook(request: http.RequestOptions): boolean {\n if (request && request.headers && !Array.isArray(request.headers)) {\n const outgoingHeaders = request.headers as http.OutgoingHttpHeaders;\n if (\n (outgoingHeaders[\"User-Agent\"] &&\n outgoingHeaders[\"User-Agent\"]\n .toString()\n .indexOf(\"azsdk-js-monitor-opentelemetry-exporter\") > -1) ||\n (outgoingHeaders[\"user-agent\"] &&\n outgoingHeaders[\"user-agent\"]\n .toString()\n .indexOf(\"azsdk-js-monitor-opentelemetry-exporter\") > -1)\n ) {\n return true;\n }\n }\n return false;\n}\n\nexport const isWindows = (): boolean => {\n return process.platform === \"win32\";\n};\n\nexport const isLinux = (): boolean => {\n return process.platform === \"linux\";\n};\n\nexport const isDarwin = (): boolean => {\n return process.platform === \"darwin\";\n};\n\n/**\n * Get prefix for OS\n * Windows system: \"w\"\n * Linux system: \"l\"\n * non-Windows and non-Linux system: \"u\" (unknown)\n */\nexport const getOsPrefix = (): string => {\n return isWindows() ? \"w\" : isLinux() ? \"l\" : \"u\";\n};\n\n/**\n * Get prefix resource provider, vm will considered as \"unknown RP\"\n * Web App: \"a\"\n * Function App: \"f\"\n * non-Web and non-Function APP: \"u\" (unknown)\n */\nexport const isAppService = (): boolean => {\n return process.env.WEBSITE_SITE_NAME && !process.env.FUNCTIONS_WORKER_RUNTIME ? true : false;\n};\n\nexport const isFunctionApp = (): boolean => {\n return process.env.FUNCTIONS_WORKER_RUNTIME ? true : false;\n};\n\nexport const isAks = (): boolean => {\n return process.env.AKS_ARM_NAMESPACE_ID || process.env.KUBERNETES_SERVICE_HOST ? true : false;\n};\n\n/**\n * Get prefix resource provider, vm will considered as \"unknown RP\"\n * Web App: \"a\"\n * Function App: \"f\"\n * AKS: \"k\"\n * non-Web and non-Function APP: \"u\" (unknown)\n */\nexport const getResourceProvider = (): string => {\n if (isAppService()) {\n return \"a\";\n }\n if (isFunctionApp()) {\n return \"f\";\n }\n if (isAks()) {\n return \"k\";\n }\n return \"u\";\n};\n\n/**\n * Convert milliseconds to Breeze expected time.\n * @internal\n */\nexport function msToTimeSpan(ms: number): string {\n let totalms = ms;\n if (Number.isNaN(totalms) || totalms < 0 || !Number.isFinite(ms)) {\n totalms = 0;\n }\n\n let sec = ((totalms / 1000) % 60).toFixed(7).replace(/0{0,4}$/, \"\");\n let min = `${Math.floor(totalms / (1000 * 60)) % 60}`;\n let hour = `${Math.floor(totalms / (1000 * 60 * 60)) % 24}`;\n const days = Math.floor(totalms / (1000 * 60 * 60 * 24));\n\n sec = sec.indexOf(\".\") < 2 ? `0${sec}` : sec;\n min = min.length < 2 ? `0${min}` : min;\n hour = hour.length < 2 ? `0${hour}` : hour;\n const daysText = days > 0 ? `${days}.` : \"\";\n\n return `${daysText + hour}:${min}:${sec}`;\n}\n\n// This function is a slight modification of an upstream otel util function -\n// mainly for prioritizing the resource detectors customer may specify over\n// env var & not enabling process detector by default.\nexport function parseResourceDetectorsFromEnvVar(): Array<ResourceDetector> {\n const resourceDetectors = new Map<string, ResourceDetector>([\n [\"env\", envDetector],\n [\"host\", hostDetector],\n [\"os\", osDetector],\n [\"process\", processDetector],\n [\"serviceinstance\", serviceInstanceIdDetector],\n [\"azure_aks\", azureAksDetector],\n [\"azure_app_service\", azureAppServiceDetector],\n [\"azure_functions\", azureFunctionsDetector],\n [\"azure_vm\", azureVmDetector],\n ]);\n\n if (process.env.OTEL_NODE_RESOURCE_DETECTORS != null) {\n const resourceDetectorsFromEnv = process.env.OTEL_NODE_RESOURCE_DETECTORS?.split(\",\") ?? [\n \"env\",\n \"host\",\n \"os\",\n ];\n\n if (resourceDetectorsFromEnv.includes(\"all\")) {\n return [...resourceDetectors.values()];\n }\n\n if (resourceDetectorsFromEnv.includes(\"none\")) {\n return [];\n }\n\n return resourceDetectorsFromEnv.flatMap((detector) => {\n const resourceDetector = resourceDetectors.get(detector);\n if (!resourceDetector) {\n diag.error(\n `Invalid resource detector \"${detector}\" specified in the environment variable OTEL_NODE_RESOURCE_DETECTORS`,\n );\n return [];\n }\n return [resourceDetector];\n });\n } else {\n // leaving out the process detector as that can add many resource attributes\n // with large values. Also not enabling service instance attributes by default\n // as this is still experimental.\n return [envDetector, hostDetector, osDetector];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type http from \"node:http\";\nimport type { ResourceDetector } from \"@opentelemetry/resources\";\nimport {\n envDetector,\n hostDetector,\n osDetector,\n processDetector,\n serviceInstanceIdDetector,\n} from \"@opentelemetry/resources\";\nimport { diag } from \"@opentelemetry/api\";\nimport {\n azureAksDetector,\n azureAppServiceDetector,\n azureFunctionsDetector,\n azureVmDetector,\n} from \"@opentelemetry/resource-detector-azure\";\n\n/**\n * Tests a flag without 32-bit coercion.\n * @internal\n */\nexport function hasNumberFlag(mask: number, flag: number): boolean {\n return flag > 0 && Math.floor(mask / flag) % 2 === 1;\n}\n\n/**\n * Sets a flag without 32-bit coercion.\n * @internal\n */\nexport function addNumberFlag(mask: number, flag: number): number {\n return flag > 0 && !hasNumberFlag(mask, flag) ? mask + flag : mask;\n}\n\nexport function ignoreOutgoingRequestHook(request: http.RequestOptions): boolean {\n if (request && request.headers && !Array.isArray(request.headers)) {\n const outgoingHeaders = request.headers as http.OutgoingHttpHeaders;\n if (\n (outgoingHeaders[\"User-Agent\"] &&\n outgoingHeaders[\"User-Agent\"]\n .toString()\n .indexOf(\"azsdk-js-monitor-opentelemetry-exporter\") > -1) ||\n (outgoingHeaders[\"user-agent\"] &&\n outgoingHeaders[\"user-agent\"]\n .toString()\n .indexOf(\"azsdk-js-monitor-opentelemetry-exporter\") > -1)\n ) {\n return true;\n }\n }\n return false;\n}\n\nexport const isWindows = (): boolean => {\n return process.platform === \"win32\";\n};\n\nexport const isLinux = (): boolean => {\n return process.platform === \"linux\";\n};\n\nexport const isDarwin = (): boolean => {\n return process.platform === \"darwin\";\n};\n\n/**\n * Get prefix for OS\n * Windows system: \"w\"\n * Linux system: \"l\"\n * non-Windows and non-Linux system: \"u\" (unknown)\n */\nexport const getOsPrefix = (): string => {\n return isWindows() ? \"w\" : isLinux() ? \"l\" : \"u\";\n};\n\n/**\n * Get prefix resource provider, vm will considered as \"unknown RP\"\n * Web App: \"a\"\n * Function App: \"f\"\n * non-Web and non-Function APP: \"u\" (unknown)\n */\nexport const isAppService = (): boolean => {\n return process.env.WEBSITE_SITE_NAME && !process.env.FUNCTIONS_WORKER_RUNTIME ? true : false;\n};\n\nexport const isFunctionApp = (): boolean => {\n return process.env.FUNCTIONS_WORKER_RUNTIME ? true : false;\n};\n\nexport const isAks = (): boolean => {\n return process.env.AKS_ARM_NAMESPACE_ID || process.env.KUBERNETES_SERVICE_HOST ? true : false;\n};\n\n/**\n * Get prefix resource provider, vm will considered as \"unknown RP\"\n * Web App: \"a\"\n * Function App: \"f\"\n * AKS: \"k\"\n * non-Web and non-Function APP: \"u\" (unknown)\n */\nexport const getResourceProvider = (): string => {\n if (isAppService()) {\n return \"a\";\n }\n if (isFunctionApp()) {\n return \"f\";\n }\n if (isAks()) {\n return \"k\";\n }\n return \"u\";\n};\n\n/**\n * Convert milliseconds to Breeze expected time.\n * @internal\n */\nexport function msToTimeSpan(ms: number): string {\n let totalms = ms;\n if (Number.isNaN(totalms) || totalms < 0 || !Number.isFinite(ms)) {\n totalms = 0;\n }\n\n let sec = ((totalms / 1000) % 60).toFixed(7).replace(/0{0,4}$/, \"\");\n let min = `${Math.floor(totalms / (1000 * 60)) % 60}`;\n let hour = `${Math.floor(totalms / (1000 * 60 * 60)) % 24}`;\n const days = Math.floor(totalms / (1000 * 60 * 60 * 24));\n\n sec = sec.indexOf(\".\") < 2 ? `0${sec}` : sec;\n min = min.length < 2 ? `0${min}` : min;\n hour = hour.length < 2 ? `0${hour}` : hour;\n const daysText = days > 0 ? `${days}.` : \"\";\n\n return `${daysText + hour}:${min}:${sec}`;\n}\n\n// This function is a slight modification of an upstream otel util function -\n// mainly for prioritizing the resource detectors customer may specify over\n// env var & not enabling process detector by default.\nexport function parseResourceDetectorsFromEnvVar(): Array<ResourceDetector> {\n const resourceDetectors = new Map<string, ResourceDetector>([\n [\"env\", envDetector],\n [\"host\", hostDetector],\n [\"os\", osDetector],\n [\"process\", processDetector],\n [\"serviceinstance\", serviceInstanceIdDetector],\n [\"azure_aks\", azureAksDetector],\n [\"azure_app_service\", azureAppServiceDetector],\n [\"azure_functions\", azureFunctionsDetector],\n [\"azure_vm\", azureVmDetector],\n ]);\n\n if (process.env.OTEL_NODE_RESOURCE_DETECTORS != null) {\n const resourceDetectorsFromEnv = process.env.OTEL_NODE_RESOURCE_DETECTORS?.split(\",\") ?? [\n \"env\",\n \"host\",\n \"os\",\n ];\n\n if (resourceDetectorsFromEnv.includes(\"all\")) {\n return [...resourceDetectors.values()];\n }\n\n if (resourceDetectorsFromEnv.includes(\"none\")) {\n return [];\n }\n\n return resourceDetectorsFromEnv.flatMap((detector) => {\n const resourceDetector = resourceDetectors.get(detector);\n if (!resourceDetector) {\n diag.error(\n `Invalid resource detector \"${detector}\" specified in the environment variable OTEL_NODE_RESOURCE_DETECTORS`,\n );\n return [];\n }\n return [resourceDetector];\n });\n } else {\n // leaving out the process detector as that can add many resource attributes\n // with large values. Also not enabling service instance attributes by default\n // as this is still experimental.\n return [envDetector, hostDetector, osDetector];\n }\n}\n"]}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { SeverityNumber } from "@opentelemetry/api-logs";
|
|
2
|
+
/**
|
|
3
|
+
* Checks whether the instrumentation logging level disables collection.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare function isLogCollectionDisabled(): boolean;
|
|
2
7
|
/**
|
|
3
8
|
* Convert log level to severity number.
|
|
4
9
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/logUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAuBzE"}
|
|
1
|
+
{"version":3,"file":"logUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/logUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAuBzE"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { SeverityNumber } from "@opentelemetry/api-logs";
|
|
4
|
+
/**
|
|
5
|
+
* Checks whether the instrumentation logging level disables collection.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export function isLogCollectionDisabled() {
|
|
9
|
+
return process.env.APPLICATIONINSIGHTS_INSTRUMENTATION_LOGGING_LEVEL === "NONE";
|
|
10
|
+
}
|
|
4
11
|
/**
|
|
5
12
|
* Convert log level to severity number.
|
|
6
13
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logUtils.js","sourceRoot":"","sources":["../../../src/utils/logUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,IAAI,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC;IAChD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC;YAC5C,MAAM;QACR,KAAK,OAAO;YACV,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;YACtC,MAAM;QACR,KAAK,OAAO;YACV,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;YACtC,MAAM;QACR,KAAK,MAAM;YACT,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;YACrC,MAAM;QACR,KAAK,SAAS;YACZ,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;YACtC,MAAM;QACR,KAAK,MAAM;YACT,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;YACrC,MAAM;IACV,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { SeverityNumber } from \"@opentelemetry/api-logs\";\n\n/**\n * Convert log level to severity number.\n * @internal\n */\nexport function logLevelToSeverityNumber(logLevel: string): SeverityNumber {\n let severityNumber = SeverityNumber.UNSPECIFIED;\n switch (logLevel) {\n case \"ALL\":\n severityNumber = SeverityNumber.UNSPECIFIED;\n break;\n case \"DEBUG\":\n severityNumber = SeverityNumber.DEBUG;\n break;\n case \"ERROR\":\n severityNumber = SeverityNumber.ERROR;\n break;\n case \"INFO\":\n severityNumber = SeverityNumber.INFO;\n break;\n case \"VERBOSE\":\n severityNumber = SeverityNumber.TRACE;\n break;\n case \"WARN\":\n severityNumber = SeverityNumber.WARN;\n break;\n }\n return severityNumber;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"logUtils.js","sourceRoot":"","sources":["../../../src/utils/logUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,OAAO,CAAC,GAAG,CAAC,iDAAiD,KAAK,MAAM,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,IAAI,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC;IAChD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC;YAC5C,MAAM;QACR,KAAK,OAAO;YACV,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;YACtC,MAAM;QACR,KAAK,OAAO;YACV,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;YACtC,MAAM;QACR,KAAK,MAAM;YACT,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;YACrC,MAAM;QACR,KAAK,SAAS;YACZ,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;YACtC,MAAM;QACR,KAAK,MAAM;YACT,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;YACrC,MAAM;IACV,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { SeverityNumber } from \"@opentelemetry/api-logs\";\n\n/**\n * Checks whether the instrumentation logging level disables collection.\n * @internal\n */\nexport function isLogCollectionDisabled(): boolean {\n return process.env.APPLICATIONINSIGHTS_INSTRUMENTATION_LOGGING_LEVEL === \"NONE\";\n}\n\n/**\n * Convert log level to severity number.\n * @internal\n */\nexport function logLevelToSeverityNumber(logLevel: string): SeverityNumber {\n let severityNumber = SeverityNumber.UNSPECIFIED;\n switch (logLevel) {\n case \"ALL\":\n severityNumber = SeverityNumber.UNSPECIFIED;\n break;\n case \"DEBUG\":\n severityNumber = SeverityNumber.DEBUG;\n break;\n case \"ERROR\":\n severityNumber = SeverityNumber.ERROR;\n break;\n case \"INFO\":\n severityNumber = SeverityNumber.INFO;\n break;\n case \"VERBOSE\":\n severityNumber = SeverityNumber.TRACE;\n break;\n case \"WARN\":\n severityNumber = SeverityNumber.WARN;\n break;\n }\n return severityNumber;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetryInstrumentationPatcher.d.ts","sourceRoot":"","sources":["../../../src/utils/opentelemetryInstrumentationPatcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opentelemetryInstrumentationPatcher.d.ts","sourceRoot":"","sources":["../../../src/utils/opentelemetryInstrumentationPatcher.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAgB,uCAAuC,IAAI,IAAI,CAoC9D"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { AZURE_MONITOR_STATSBEAT_FEATURES, StatsbeatInstrumentationMap } from "../types.js";
|
|
4
4
|
import { Logger } from "../shared/logging/index.js";
|
|
5
|
+
import { addNumberFlag } from "./common.js";
|
|
5
6
|
/**
|
|
6
7
|
* Patch OpenTelemetry Instrumentation enablement to update the statsbeat environment variable with the enabled instrumentations
|
|
7
8
|
* @internal
|
|
@@ -19,9 +20,9 @@ export function patchOpenTelemetryInstrumentationEnable() {
|
|
|
19
20
|
const statsbeatOptions = JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || emptyStatsbeatConfig);
|
|
20
21
|
let updatedStatsbeat = {};
|
|
21
22
|
for (let i = 0; i < instrumentations.length; i++) {
|
|
23
|
+
statsbeatOptions.instrumentation = addNumberFlag(statsbeatOptions.instrumentation, StatsbeatInstrumentationMap.get(instrumentations[i].instrumentationName) || 0);
|
|
22
24
|
updatedStatsbeat = {
|
|
23
|
-
instrumentation:
|
|
24
|
-
StatsbeatInstrumentationMap.get(instrumentations[i].instrumentationName) || 0),
|
|
25
|
+
instrumentation: statsbeatOptions.instrumentation,
|
|
25
26
|
feature: statsbeatOptions.feature,
|
|
26
27
|
};
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetryInstrumentationPatcher.js","sourceRoot":"","sources":["../../../src/utils/opentelemetryInstrumentationPatcher.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"opentelemetryInstrumentationPatcher.js","sourceRoot":"","sources":["../../../src/utils/opentelemetryInstrumentationPatcher.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,uCAAuC;IACrD,MAAM,oBAAoB,GAAW,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAClD,iEAAiE;QACjE,MAAM,eAAe,GAAG,OAAO,CAAC,0DAA0D,CAAC,CAAC;QAE5F,MAAM,wBAAwB,GAAG,eAAe,CAAC,sBAAsB,CAAC;QAExE,0GAA0G;QAC1G,eAAe,CAAC,sBAAsB,GAAG,UAAU,gBAAmC;YACpF,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAA+B,IAAI,CAAC,KAAK,CAC7D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,oBAAoB,CACtE,CAAC;gBACF,IAAI,gBAAgB,GAAG,EAAE,CAAC;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,gBAAgB,CAAC,eAAe,GAAG,aAAa,CAC9C,gBAAgB,CAAC,eAAe,EAChC,2BAA2B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAC9E,CAAC;oBACF,gBAAgB,GAAG;wBACjB,eAAe,EAAE,gBAAgB,CAAC,eAAe;wBACjD,OAAO,EAAE,gBAAgB,CAAC,OAAO;qBAClC,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAClF,CAAC;YACD,mFAAmF;YACnF,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2CAA2C;IAC7C,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Instrumentation } from \"@opentelemetry/instrumentation\";\nimport type { StatsbeatEnvironmentConfig } from \"../types.js\";\nimport { AZURE_MONITOR_STATSBEAT_FEATURES, StatsbeatInstrumentationMap } from \"../types.js\";\nimport { Logger } from \"../shared/logging/index.js\";\nimport { addNumberFlag } from \"./common.js\";\n\n/**\n * Patch OpenTelemetry Instrumentation enablement to update the statsbeat environment variable with the enabled instrumentations\n * @internal\n */\nexport function patchOpenTelemetryInstrumentationEnable(): void {\n const emptyStatsbeatConfig: string = JSON.stringify({ instrumentation: 0, feature: 0 });\n try {\n require.resolve(\"@opentelemetry/instrumentation\");\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const autoLoaderUtils = require(\"@opentelemetry/instrumentation/build/src/autoLoaderUtils\");\n\n const originalModuleDefinition = autoLoaderUtils.enableInstrumentations;\n\n // Parses the enabled instrumentations and then ammends the statsbeat instrumentation environment variable\n autoLoaderUtils.enableInstrumentations = function (instrumentations: Instrumentation[]) {\n try {\n const statsbeatOptions: StatsbeatEnvironmentConfig = JSON.parse(\n process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || emptyStatsbeatConfig,\n );\n let updatedStatsbeat = {};\n for (let i = 0; i < instrumentations.length; i++) {\n statsbeatOptions.instrumentation = addNumberFlag(\n statsbeatOptions.instrumentation,\n StatsbeatInstrumentationMap.get(instrumentations[i].instrumentationName) || 0,\n );\n updatedStatsbeat = {\n instrumentation: statsbeatOptions.instrumentation,\n feature: statsbeatOptions.feature,\n };\n }\n process.env[AZURE_MONITOR_STATSBEAT_FEATURES] = JSON.stringify(updatedStatsbeat);\n } catch (e) {\n Logger.getInstance().warn(\"Failed to parse the statsbeat environment variable\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, prefer-rest-params\n return originalModuleDefinition.apply(this, arguments);\n };\n } catch (e) {\n // Fail silently if the module is not found\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statsbeat.d.ts","sourceRoot":"","sources":["../../../src/utils/statsbeat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,iBAAiB,EACjB,yBAAyB,EAE1B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"statsbeat.d.ts","sourceRoot":"","sources":["../../../src/utils/statsbeat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,iBAAiB,EACjB,yBAAyB,EAE1B,MAAM,aAAa,CAAC;AAarB,cAAM,sBAAsB;IAE1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gCAAgC,CAAiC;IACzE,OAAO,CAAC,wBAAwB,CAAyB;;IAmBlD,oBAAoB,GACzB,2BAA2B,yBAAyB,EACpD,mBAAmB,iBAAiB,UA4GpC;CACH;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,sBAAsB,CAKpD"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
|
-
import { AZURE_MONITOR_STATSBEAT_FEATURES, StatsbeatFeature, StatsbeatFeaturesMap, StatsbeatInstrumentation, } from "../types.js";
|
|
3
|
+
import { AZURE_MONITOR_STATSBEAT_FEATURES, StatsbeatFeature, StatsbeatFeaturesMap, StatsbeatInstrumentation, StatsbeatInstrumentationsMap, } from "../types.js";
|
|
4
4
|
import { Logger as InternalLogger } from "../shared/logging/index.js";
|
|
5
|
+
import { addNumberFlag, hasNumberFlag } from "./common.js";
|
|
5
6
|
let instance;
|
|
6
7
|
class StatsbeatConfiguration {
|
|
7
8
|
// Initial Statsbeat options
|
|
@@ -34,45 +35,49 @@ class StatsbeatConfiguration {
|
|
|
34
35
|
};
|
|
35
36
|
this.currentStatsbeatFeatures = { ...this.currentStatsbeatFeatures, ...statsbeatFeatures };
|
|
36
37
|
// Set the statsbeat options for community instrumentations based on the environment variable
|
|
38
|
+
const envInstrumentation = statsbeatEnv.instrumentation;
|
|
37
39
|
statsbeatInstrumentations = {
|
|
38
40
|
...this.currentStatsbeatInstrumentations,
|
|
39
|
-
amqplib:
|
|
40
|
-
cucumber:
|
|
41
|
-
dataloader:
|
|
42
|
-
fs:
|
|
43
|
-
lruMemoizer:
|
|
44
|
-
mongoose:
|
|
45
|
-
runtimeNode:
|
|
46
|
-
socketIo:
|
|
47
|
-
tedious:
|
|
48
|
-
undici:
|
|
49
|
-
cassandra:
|
|
50
|
-
connect:
|
|
51
|
-
dns:
|
|
52
|
-
express:
|
|
53
|
-
fastify:
|
|
54
|
-
genericPool:
|
|
55
|
-
graphql:
|
|
56
|
-
hapi:
|
|
57
|
-
ioredis:
|
|
58
|
-
knex:
|
|
59
|
-
koa:
|
|
60
|
-
memcached:
|
|
61
|
-
mysql2:
|
|
62
|
-
nestjsCore:
|
|
63
|
-
net:
|
|
64
|
-
pino:
|
|
65
|
-
restify:
|
|
66
|
-
router:
|
|
41
|
+
amqplib: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.AMQPLIB),
|
|
42
|
+
cucumber: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.CUCUMBER),
|
|
43
|
+
dataloader: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.DATALOADER),
|
|
44
|
+
fs: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.FS),
|
|
45
|
+
lruMemoizer: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.LRU_MEMOIZER),
|
|
46
|
+
mongoose: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.MONGOOSE),
|
|
47
|
+
runtimeNode: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.RUNTIME_NODE),
|
|
48
|
+
socketIo: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.SOCKET_IO),
|
|
49
|
+
tedious: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.TEDIOUS),
|
|
50
|
+
undici: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.UNDICI),
|
|
51
|
+
cassandra: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.CASSANDRA),
|
|
52
|
+
connect: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.CONNECT),
|
|
53
|
+
dns: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.DNS),
|
|
54
|
+
express: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.EXPRESS),
|
|
55
|
+
fastify: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.FASTIFY),
|
|
56
|
+
genericPool: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.GENERIC_POOL),
|
|
57
|
+
graphql: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.GRAPHQL),
|
|
58
|
+
hapi: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.HAPI),
|
|
59
|
+
ioredis: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.IOREDIS),
|
|
60
|
+
knex: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.KNEX),
|
|
61
|
+
koa: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.KOA),
|
|
62
|
+
memcached: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.MEMCACHED),
|
|
63
|
+
mysql2: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.MYSQL2),
|
|
64
|
+
nestjsCore: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.NESTJS_CORE),
|
|
65
|
+
net: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.NET),
|
|
66
|
+
pino: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.PINO),
|
|
67
|
+
restify: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.RESTIFY),
|
|
68
|
+
router: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.ROUTER),
|
|
67
69
|
};
|
|
68
70
|
let instrumentationBitMap = StatsbeatInstrumentation.NONE;
|
|
69
71
|
const instrumentationArray = Object.entries(statsbeatInstrumentations).map((entry) => {
|
|
70
72
|
return { option: entry[0], value: entry[1] };
|
|
71
73
|
});
|
|
72
|
-
// Map
|
|
74
|
+
// Map enabled option names to their assigned bits.
|
|
73
75
|
for (let i = 0; i < instrumentationArray.length; i++) {
|
|
74
76
|
if (instrumentationArray[i].value) {
|
|
75
|
-
|
|
77
|
+
const instrumentationBit = StatsbeatInstrumentationsMap.get(instrumentationArray[i].option);
|
|
78
|
+
if (instrumentationBit !== undefined) {
|
|
79
|
+
instrumentationBitMap = addNumberFlag(instrumentationBitMap, instrumentationBit);
|
|
80
|
+
}
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
// Create feature bit map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statsbeat.js","sourceRoot":"","sources":["../../../src/utils/statsbeat.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n StatsbeatEnvironmentConfig,\n StatsbeatFeatures,\n StatsbeatInstrumentations,\n StatsbeatOption,\n} from \"../types.js\";\nimport {\n AZURE_MONITOR_STATSBEAT_FEATURES,\n StatsbeatFeature,\n StatsbeatFeaturesMap,\n StatsbeatInstrumentation,\n} from \"../types.js\";\nimport { Logger as InternalLogger } from \"../shared/logging/index.js\";\n\nlet instance: StatsbeatConfiguration;\n\nclass StatsbeatConfiguration {\n // Initial Statsbeat options\n private initializedByShim = false;\n private currentStatsbeatInstrumentations: StatsbeatInstrumentations = {};\n private currentStatsbeatFeatures: StatsbeatFeatures = {};\n\n constructor() {\n // Check for shim initialization upon construction\n try {\n if (\n JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || \"{}\").feature &\n StatsbeatFeature.SHIM\n ) {\n this.initializedByShim = true;\n }\n } catch (error) {\n InternalLogger.getInstance().error(\n \"Failed to parse statsbeat config environment variable.\",\n error,\n );\n }\n }\n\n public setStatsbeatFeatures = (\n statsbeatInstrumentations: StatsbeatInstrumentations,\n statsbeatFeatures: StatsbeatFeatures,\n ) => {\n let statsbeatEnv: StatsbeatEnvironmentConfig;\n try {\n statsbeatEnv = JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || \"{}\");\n } catch (error) {\n InternalLogger.getInstance().error(\n \"Failed to parse statsbeat config environment variable.\",\n error,\n );\n }\n this.currentStatsbeatInstrumentations = {\n ...this.currentStatsbeatInstrumentations,\n ...statsbeatInstrumentations,\n };\n this.currentStatsbeatFeatures = { ...this.currentStatsbeatFeatures, ...statsbeatFeatures };\n\n // Set the statsbeat options for community instrumentations based on the environment variable\n statsbeatInstrumentations = {\n ...this.currentStatsbeatInstrumentations,\n amqplib: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.AMQPLIB ? true : false,\n cucumber: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.CUCUMBER ? true : false,\n dataloader:\n statsbeatEnv!.instrumentation & StatsbeatInstrumentation.DATALOADER ? true : false,\n fs: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.FS ? true : false,\n lruMemoizer:\n statsbeatEnv!.instrumentation & StatsbeatInstrumentation.LRU_MEMOIZER ? true : false,\n mongoose: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.MONGOOSE ? true : false,\n runtimeNode:\n statsbeatEnv!.instrumentation & StatsbeatInstrumentation.RUNTIME_NODE ? true : false,\n socketIo: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.SOCKET_IO ? true : false,\n tedious: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.TEDIOUS ? true : false,\n undici: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.UNDICI ? true : false,\n cassandra: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.CASSANDRA ? true : false,\n connect: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.CONNECT ? true : false,\n dns: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.DNS ? true : false,\n express: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.EXPRESS ? true : false,\n fastify: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.FASTIFY ? true : false,\n genericPool:\n statsbeatEnv!.instrumentation & StatsbeatInstrumentation.GENERIC_POOL ? true : false,\n graphql: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.GRAPHQL ? true : false,\n hapi: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.HAPI ? true : false,\n ioredis: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.IOREDIS ? true : false,\n knex: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.KNEX ? true : false,\n koa: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.KOA ? true : false,\n memcached: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.MEMCACHED ? true : false,\n mysql2: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.MYSQL2 ? true : false,\n nestjsCore:\n statsbeatEnv!.instrumentation & StatsbeatInstrumentation.NESTJS_CORE ? true : false,\n net: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.NET ? true : false,\n pino: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.PINO ? true : false,\n restify: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.RESTIFY ? true : false,\n router: statsbeatEnv!.instrumentation & StatsbeatInstrumentation.ROUTER ? true : false,\n };\n\n let instrumentationBitMap = StatsbeatInstrumentation.NONE;\n\n const instrumentationArray: Array<StatsbeatOption> = Object.entries(\n statsbeatInstrumentations,\n ).map((entry) => {\n return { option: entry[0], value: entry[1] };\n });\n\n // Map the instrumentation options to a bit map\n for (let i = 0; i < instrumentationArray.length; i++) {\n if (instrumentationArray[i].value) {\n instrumentationBitMap |= 2 ** i;\n }\n }\n\n // Create feature bit map\n let featureBitMap = StatsbeatFeature.NONE;\n\n if (this.initializedByShim) {\n this.currentStatsbeatFeatures.shim = true;\n } else {\n this.currentStatsbeatFeatures.distro = true;\n }\n\n if (statsbeatFeatures.liveMetrics) {\n this.currentStatsbeatFeatures.liveMetrics = true;\n }\n\n const featureArray: Array<StatsbeatOption> = Object.entries(this.currentStatsbeatFeatures).map(\n (entry) => {\n return { option: entry[0], value: entry[1] };\n },\n );\n\n // Map the feature options to a bit map\n for (let i = 0; i < featureArray.length; i++) {\n if (featureArray[i].value) {\n featureBitMap |= StatsbeatFeaturesMap.get(featureArray[i].option)!;\n }\n }\n\n // Merge old statsbeat options with new statsbeat options overriding any common properties\n try {\n const currentFeaturesBitMap = Number(process.env[AZURE_MONITOR_STATSBEAT_FEATURES]);\n if (!isNaN(currentFeaturesBitMap)) {\n featureBitMap |= currentFeaturesBitMap;\n }\n process.env[AZURE_MONITOR_STATSBEAT_FEATURES] = JSON.stringify({\n instrumentation: instrumentationBitMap,\n feature: featureBitMap,\n });\n } catch (error) {\n InternalLogger.getInstance().error(\"Failed call to JSON.stringify.\", error);\n }\n };\n}\n\n/**\n * Singleton Statsbeat instance.\n * @internal\n */\nexport function getInstance(): StatsbeatConfiguration {\n if (!instance) {\n instance = new StatsbeatConfiguration();\n }\n return instance;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"statsbeat.js","sourceRoot":"","sources":["../../../src/utils/statsbeat.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n StatsbeatEnvironmentConfig,\n StatsbeatFeatures,\n StatsbeatInstrumentations,\n StatsbeatOption,\n} from \"../types.js\";\nimport {\n AZURE_MONITOR_STATSBEAT_FEATURES,\n StatsbeatFeature,\n StatsbeatFeaturesMap,\n StatsbeatInstrumentation,\n StatsbeatInstrumentationsMap,\n} from \"../types.js\";\nimport { Logger as InternalLogger } from \"../shared/logging/index.js\";\nimport { addNumberFlag, hasNumberFlag } from \"./common.js\";\n\nlet instance: StatsbeatConfiguration;\n\nclass StatsbeatConfiguration {\n // Initial Statsbeat options\n private initializedByShim = false;\n private currentStatsbeatInstrumentations: StatsbeatInstrumentations = {};\n private currentStatsbeatFeatures: StatsbeatFeatures = {};\n\n constructor() {\n // Check for shim initialization upon construction\n try {\n if (\n JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || \"{}\").feature &\n StatsbeatFeature.SHIM\n ) {\n this.initializedByShim = true;\n }\n } catch (error) {\n InternalLogger.getInstance().error(\n \"Failed to parse statsbeat config environment variable.\",\n error,\n );\n }\n }\n\n public setStatsbeatFeatures = (\n statsbeatInstrumentations: StatsbeatInstrumentations,\n statsbeatFeatures: StatsbeatFeatures,\n ) => {\n let statsbeatEnv: StatsbeatEnvironmentConfig;\n try {\n statsbeatEnv = JSON.parse(process.env[AZURE_MONITOR_STATSBEAT_FEATURES] || \"{}\");\n } catch (error) {\n InternalLogger.getInstance().error(\n \"Failed to parse statsbeat config environment variable.\",\n error,\n );\n }\n this.currentStatsbeatInstrumentations = {\n ...this.currentStatsbeatInstrumentations,\n ...statsbeatInstrumentations,\n };\n this.currentStatsbeatFeatures = { ...this.currentStatsbeatFeatures, ...statsbeatFeatures };\n\n // Set the statsbeat options for community instrumentations based on the environment variable\n const envInstrumentation = statsbeatEnv!.instrumentation;\n statsbeatInstrumentations = {\n ...this.currentStatsbeatInstrumentations,\n amqplib: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.AMQPLIB),\n cucumber: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.CUCUMBER),\n dataloader: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.DATALOADER),\n fs: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.FS),\n lruMemoizer: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.LRU_MEMOIZER),\n mongoose: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.MONGOOSE),\n runtimeNode: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.RUNTIME_NODE),\n socketIo: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.SOCKET_IO),\n tedious: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.TEDIOUS),\n undici: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.UNDICI),\n cassandra: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.CASSANDRA),\n connect: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.CONNECT),\n dns: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.DNS),\n express: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.EXPRESS),\n fastify: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.FASTIFY),\n genericPool: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.GENERIC_POOL),\n graphql: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.GRAPHQL),\n hapi: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.HAPI),\n ioredis: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.IOREDIS),\n knex: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.KNEX),\n koa: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.KOA),\n memcached: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.MEMCACHED),\n mysql2: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.MYSQL2),\n nestjsCore: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.NESTJS_CORE),\n net: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.NET),\n pino: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.PINO),\n restify: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.RESTIFY),\n router: hasNumberFlag(envInstrumentation, StatsbeatInstrumentation.ROUTER),\n };\n\n let instrumentationBitMap = StatsbeatInstrumentation.NONE;\n\n const instrumentationArray: Array<StatsbeatOption> = Object.entries(\n statsbeatInstrumentations,\n ).map((entry) => {\n return { option: entry[0], value: entry[1] };\n });\n\n // Map enabled option names to their assigned bits.\n for (let i = 0; i < instrumentationArray.length; i++) {\n if (instrumentationArray[i].value) {\n const instrumentationBit = StatsbeatInstrumentationsMap.get(instrumentationArray[i].option);\n if (instrumentationBit !== undefined) {\n instrumentationBitMap = addNumberFlag(instrumentationBitMap, instrumentationBit);\n }\n }\n }\n\n // Create feature bit map\n let featureBitMap = StatsbeatFeature.NONE;\n\n if (this.initializedByShim) {\n this.currentStatsbeatFeatures.shim = true;\n } else {\n this.currentStatsbeatFeatures.distro = true;\n }\n\n if (statsbeatFeatures.liveMetrics) {\n this.currentStatsbeatFeatures.liveMetrics = true;\n }\n\n const featureArray: Array<StatsbeatOption> = Object.entries(this.currentStatsbeatFeatures).map(\n (entry) => {\n return { option: entry[0], value: entry[1] };\n },\n );\n\n // Map the feature options to a bit map\n for (let i = 0; i < featureArray.length; i++) {\n if (featureArray[i].value) {\n featureBitMap |= StatsbeatFeaturesMap.get(featureArray[i].option)!;\n }\n }\n\n // Merge old statsbeat options with new statsbeat options overriding any common properties\n try {\n const currentFeaturesBitMap = Number(process.env[AZURE_MONITOR_STATSBEAT_FEATURES]);\n if (!isNaN(currentFeaturesBitMap)) {\n featureBitMap |= currentFeaturesBitMap;\n }\n process.env[AZURE_MONITOR_STATSBEAT_FEATURES] = JSON.stringify({\n instrumentation: instrumentationBitMap,\n feature: featureBitMap,\n });\n } catch (error) {\n InternalLogger.getInstance().error(\"Failed call to JSON.stringify.\", error);\n }\n };\n}\n\n/**\n * Singleton Statsbeat instance.\n * @internal\n */\nexport function getInstance(): StatsbeatConfiguration {\n if (!instance) {\n instance = new StatsbeatConfiguration();\n }\n return instance;\n}\n"]}
|