@azure/monitor-opentelemetry 1.14.0 → 1.14.1-alpha.20251113.1

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.
@@ -45,11 +45,9 @@ class MetricHandler {
45
45
  if (config.instrumentationOptions.postgreSql?.enabled) {
46
46
  this._views.push({ meterName: "@opentelemetry/instrumentation-pg" });
47
47
  }
48
- if (config.instrumentationOptions.redis4?.enabled) {
49
- this._views.push({ meterName: "@opentelemetry/instrumentation-redis-4" });
50
- }
51
- if (config.instrumentationOptions.redis?.enabled) {
52
- this._views.push({ meterName: "@azure/opentelemetry-instrumentation-redis" });
48
+ if (config.instrumentationOptions.redis?.enabled ||
49
+ config.instrumentationOptions.redis4?.enabled) {
50
+ this._views.push({ meterName: "@opentelemetry/instrumentation-redis" });
53
51
  }
54
52
  this._azureExporter = new monitor_opentelemetry_exporter_1.AzureMonitorMetricExporter(this._config.azureMonitorExporterOptions);
55
53
  const metricReaderOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/metrics/handler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AzureMonitorMetricExporter } from \"@azure/monitor-opentelemetry-exporter\";\nimport type { PeriodicExportingMetricReaderOptions, ViewOptions } from \"@opentelemetry/sdk-metrics\";\nimport { PeriodicExportingMetricReader } from \"@opentelemetry/sdk-metrics\";\nimport type { SdkLogRecord } from \"@opentelemetry/sdk-logs\";\nimport type { InternalConfig } from \"../shared/config.js\";\nimport { StandardMetrics } from \"./standardMetrics.js\";\nimport type { ReadableSpan, Span } from \"@opentelemetry/sdk-trace-base\";\nimport { APPLICATION_INSIGHTS_NO_STANDARD_METRICS } from \"./types.js\";\nimport { LiveMetrics } from \"./quickpulse/liveMetrics.js\";\nimport { PerformanceCounterMetrics } from \"./performanceCounters.js\";\n\n/**\n * Azure Monitor OpenTelemetry Metric Handler\n */\nexport class MetricHandler {\n private _azureExporter: AzureMonitorMetricExporter;\n private _metricReader: PeriodicExportingMetricReader;\n private _standardMetrics?: StandardMetrics;\n private _performanceCounters?: PerformanceCounterMetrics;\n private _liveMetrics?: LiveMetrics;\n private _config: InternalConfig;\n private _views: ViewOptions[];\n\n /**\n * Initializes a new instance of the MetricHandler class.\n * @param config - Distro configuration.\n * @param options - Metric Handler options.\n */\n constructor(config: InternalConfig) {\n const defaultInterval = 60000;\n this._config = config;\n // Adding Views of instrumentations will allow customer to add Metric Readers after, and get access to previously created metrics using the views shared state\n this._views = [];\n if (config.instrumentationOptions.azureSdk?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-azure-sdk\" });\n }\n if (config.instrumentationOptions.http?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-http\" });\n }\n if (config.instrumentationOptions.mongoDb?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-mongodb\" });\n }\n if (config.instrumentationOptions.mySql?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-mysql\" });\n }\n if (config.instrumentationOptions.postgreSql?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-pg\" });\n }\n if (config.instrumentationOptions.redis4?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-redis-4\" });\n }\n if (config.instrumentationOptions.redis?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-redis\" });\n }\n this._azureExporter = new AzureMonitorMetricExporter(this._config.azureMonitorExporterOptions);\n const metricReaderOptions: PeriodicExportingMetricReaderOptions = {\n exporter: this._azureExporter as any,\n exportIntervalMillis: this._config.metricExportIntervalMillis || defaultInterval,\n };\n this._metricReader = new PeriodicExportingMetricReader(metricReaderOptions);\n\n if (\n this._config.enableStandardMetrics &&\n !process.env[APPLICATION_INSIGHTS_NO_STANDARD_METRICS]\n ) {\n this._standardMetrics = new StandardMetrics(this._config);\n }\n if (this._config.enableLiveMetrics) {\n this._liveMetrics = new LiveMetrics(this._config);\n }\n if (this._config.enablePerformanceCounters) {\n this._performanceCounters = new PerformanceCounterMetrics(this._config);\n }\n }\n\n public getMetricReader(): PeriodicExportingMetricReader {\n return this._metricReader;\n }\n\n public getViews(): ViewOptions[] {\n return this._views;\n }\n\n public markSpanAsProcessed(span: Span): void {\n this._standardMetrics?.markSpanAsProcessed(span);\n }\n\n public recordSpan(span: ReadableSpan): void {\n this._standardMetrics?.recordSpan(span);\n this._liveMetrics?.recordSpan(span);\n this._performanceCounters?.recordSpan(span);\n }\n\n public recordLog(logRecord: SdkLogRecord): void {\n this._standardMetrics?.recordLog(logRecord);\n this._liveMetrics?.recordLog(logRecord);\n this._performanceCounters?.recordLog(logRecord);\n }\n\n /**\n * Shutdown handler\n */\n // eslint-disable-next-line @typescript-eslint/require-await\n public async shutdown(): Promise<void> {\n this._standardMetrics?.shutdown();\n this._liveMetrics?.shutdown();\n this._performanceCounters?.shutdown();\n }\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/metrics/handler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AzureMonitorMetricExporter } from \"@azure/monitor-opentelemetry-exporter\";\nimport type { PeriodicExportingMetricReaderOptions, ViewOptions } from \"@opentelemetry/sdk-metrics\";\nimport { PeriodicExportingMetricReader } from \"@opentelemetry/sdk-metrics\";\nimport type { SdkLogRecord } from \"@opentelemetry/sdk-logs\";\nimport type { InternalConfig } from \"../shared/config.js\";\nimport { StandardMetrics } from \"./standardMetrics.js\";\nimport type { ReadableSpan, Span } from \"@opentelemetry/sdk-trace-base\";\nimport { APPLICATION_INSIGHTS_NO_STANDARD_METRICS } from \"./types.js\";\nimport { LiveMetrics } from \"./quickpulse/liveMetrics.js\";\nimport { PerformanceCounterMetrics } from \"./performanceCounters.js\";\n\n/**\n * Azure Monitor OpenTelemetry Metric Handler\n */\nexport class MetricHandler {\n private _azureExporter: AzureMonitorMetricExporter;\n private _metricReader: PeriodicExportingMetricReader;\n private _standardMetrics?: StandardMetrics;\n private _performanceCounters?: PerformanceCounterMetrics;\n private _liveMetrics?: LiveMetrics;\n private _config: InternalConfig;\n private _views: ViewOptions[];\n\n /**\n * Initializes a new instance of the MetricHandler class.\n * @param config - Distro configuration.\n * @param options - Metric Handler options.\n */\n constructor(config: InternalConfig) {\n const defaultInterval = 60000;\n this._config = config;\n // Adding Views of instrumentations will allow customer to add Metric Readers after, and get access to previously created metrics using the views shared state\n this._views = [];\n if (config.instrumentationOptions.azureSdk?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-azure-sdk\" });\n }\n if (config.instrumentationOptions.http?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-http\" });\n }\n if (config.instrumentationOptions.mongoDb?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-mongodb\" });\n }\n if (config.instrumentationOptions.mySql?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-mysql\" });\n }\n if (config.instrumentationOptions.postgreSql?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-pg\" });\n }\n if (\n config.instrumentationOptions.redis?.enabled ||\n config.instrumentationOptions.redis4?.enabled\n ) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-redis\" });\n }\n this._azureExporter = new AzureMonitorMetricExporter(this._config.azureMonitorExporterOptions);\n const metricReaderOptions: PeriodicExportingMetricReaderOptions = {\n exporter: this._azureExporter as any,\n exportIntervalMillis: this._config.metricExportIntervalMillis || defaultInterval,\n };\n this._metricReader = new PeriodicExportingMetricReader(metricReaderOptions);\n\n if (\n this._config.enableStandardMetrics &&\n !process.env[APPLICATION_INSIGHTS_NO_STANDARD_METRICS]\n ) {\n this._standardMetrics = new StandardMetrics(this._config);\n }\n if (this._config.enableLiveMetrics) {\n this._liveMetrics = new LiveMetrics(this._config);\n }\n if (this._config.enablePerformanceCounters) {\n this._performanceCounters = new PerformanceCounterMetrics(this._config);\n }\n }\n\n public getMetricReader(): PeriodicExportingMetricReader {\n return this._metricReader;\n }\n\n public getViews(): ViewOptions[] {\n return this._views;\n }\n\n public markSpanAsProcessed(span: Span): void {\n this._standardMetrics?.markSpanAsProcessed(span);\n }\n\n public recordSpan(span: ReadableSpan): void {\n this._standardMetrics?.recordSpan(span);\n this._liveMetrics?.recordSpan(span);\n this._performanceCounters?.recordSpan(span);\n }\n\n public recordLog(logRecord: SdkLogRecord): void {\n this._standardMetrics?.recordLog(logRecord);\n this._liveMetrics?.recordLog(logRecord);\n this._performanceCounters?.recordLog(logRecord);\n }\n\n /**\n * Shutdown handler\n */\n // eslint-disable-next-line @typescript-eslint/require-await\n public async shutdown(): Promise<void> {\n this._standardMetrics?.shutdown();\n this._liveMetrics?.shutdown();\n this._performanceCounters?.shutdown();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/traces/handler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAYnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;OAIG;gBACS,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;IAyBzD,UAAU,IAAI,OAAO;IAIrB,qBAAqB,IAAI,kBAAkB;IAI3C,4BAA4B,IAAI,yBAAyB;IAIzD,mBAAmB,IAAI,eAAe,EAAE;IAI/C;;OAEG;IAEU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAuDpC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/traces/handler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAWnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;OAIG;gBACS,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;IAyBzD,UAAU,IAAI,OAAO;IAIrB,qBAAqB,IAAI,kBAAkB;IAI3C,4BAA4B,IAAI,yBAAyB;IAIzD,mBAAmB,IAAI,eAAe,EAAE;IAI/C;;OAEG;IAEU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAqDpC"}
@@ -11,7 +11,6 @@ const instrumentation_mongodb_1 = require("@opentelemetry/instrumentation-mongod
11
11
  const instrumentation_mysql_1 = require("@opentelemetry/instrumentation-mysql");
12
12
  const instrumentation_pg_1 = require("@opentelemetry/instrumentation-pg");
13
13
  const instrumentation_redis_1 = require("@opentelemetry/instrumentation-redis");
14
- const instrumentation_redis_4_1 = require("@opentelemetry/instrumentation-redis-4");
15
14
  const common_js_1 = require("../utils/common.js");
16
15
  const spanProcessor_js_1 = require("./spanProcessor.js");
17
16
  const azureFnHook_js_1 = require("./azureFnHook.js");
@@ -111,12 +110,10 @@ class TraceHandler {
111
110
  if (this._config.instrumentationOptions.postgreSql?.enabled) {
112
111
  this._instrumentations.push(new instrumentation_pg_1.PgInstrumentation(this._config.instrumentationOptions.postgreSql));
113
112
  }
114
- if (this._config.instrumentationOptions.redis?.enabled) {
113
+ if (this._config.instrumentationOptions.redis?.enabled ||
114
+ this._config.instrumentationOptions.redis4?.enabled) {
115
115
  this._instrumentations.push(new instrumentation_redis_1.RedisInstrumentation(this._config.instrumentationOptions.redis));
116
116
  }
117
- if (this._config.instrumentationOptions.redis4?.enabled) {
118
- this._instrumentations.push(new instrumentation_redis_4_1.RedisInstrumentation(this._config.instrumentationOptions.redis4));
119
- }
120
117
  }
121
118
  }
122
119
  exports.TraceHandler = TraceHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/traces/handler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RequestOptions } from \"node:http\";\nimport { createAzureSdkInstrumentation } from \"@azure/opentelemetry-instrumentation-azure-sdk\";\nimport {\n AzureMonitorTraceExporter,\n RateLimitedSampler,\n} from \"@azure/monitor-opentelemetry-exporter\";\nimport type { BufferConfig, Sampler } from \"@opentelemetry/sdk-trace-base\";\nimport { BatchSpanProcessor } from \"@opentelemetry/sdk-trace-base\";\nimport type {\n HttpInstrumentationConfig,\n IgnoreOutgoingRequestFunction,\n} from \"@opentelemetry/instrumentation-http\";\nimport { HttpInstrumentation } from \"@opentelemetry/instrumentation-http\";\nimport { MongoDBInstrumentation } from \"@opentelemetry/instrumentation-mongodb\";\nimport { MySQLInstrumentation } from \"@opentelemetry/instrumentation-mysql\";\nimport { PgInstrumentation } from \"@opentelemetry/instrumentation-pg\";\nimport { RedisInstrumentation } from \"@opentelemetry/instrumentation-redis\";\nimport { RedisInstrumentation as Redis4Instrumentation } from \"@opentelemetry/instrumentation-redis-4\";\n\nimport type { InternalConfig } from \"../shared/config.js\";\nimport type { MetricHandler } from \"../metrics/handler.js\";\nimport { ignoreOutgoingRequestHook } from \"../utils/common.js\";\nimport { AzureMonitorSpanProcessor } from \"./spanProcessor.js\";\nimport { AzureFunctionsHook } from \"./azureFnHook.js\";\nimport type { Instrumentation } from \"@opentelemetry/instrumentation\";\nimport { ApplicationInsightsSampler } from \"./sampler.js\";\n\n/**\n * Azure Monitor OpenTelemetry Trace Handler\n */\nexport class TraceHandler {\n private _batchSpanProcessor: BatchSpanProcessor;\n private _azureSpanProcessor: AzureMonitorSpanProcessor;\n private _azureExporter: AzureMonitorTraceExporter;\n private _instrumentations: Instrumentation[];\n private _config: InternalConfig;\n private _metricHandler: MetricHandler;\n private _azureFunctionsHook: AzureFunctionsHook;\n private _sampler: Sampler;\n\n /**\n * Initializes a new instance of the TraceHandler class.\n * @param _config - Configuration.\n * @param _metricHandler - MetricHandler.\n */\n constructor(config: InternalConfig, metricHandler: MetricHandler) {\n this._config = config;\n this._metricHandler = metricHandler;\n this._instrumentations = [];\n // Check sampler precedence\n if (this._config.tracesPerSecond && this._config.tracesPerSecond >= 0) {\n // If tracesPerSecond is set, use RateLimitedSampler\n this._sampler = new RateLimitedSampler(this._config.tracesPerSecond);\n } else {\n // Otherwise, use PercentageSampler with samplingRatio\n this._sampler = new ApplicationInsightsSampler(this._config.samplingRatio);\n }\n this._azureExporter = new AzureMonitorTraceExporter(this._config.azureMonitorExporterOptions);\n const bufferConfig: BufferConfig = {\n maxExportBatchSize: 512,\n scheduledDelayMillis: 5000,\n exportTimeoutMillis: 30000,\n maxQueueSize: 2048,\n };\n this._batchSpanProcessor = new BatchSpanProcessor(this._azureExporter, bufferConfig);\n this._azureSpanProcessor = new AzureMonitorSpanProcessor(this._metricHandler);\n this._azureFunctionsHook = new AzureFunctionsHook();\n this._initializeInstrumentations();\n }\n\n public getSampler(): Sampler {\n return this._sampler;\n }\n\n public getBatchSpanProcessor(): BatchSpanProcessor {\n return this._batchSpanProcessor;\n }\n\n public getAzureMonitorSpanProcessor(): AzureMonitorSpanProcessor {\n return this._azureSpanProcessor;\n }\n\n public getInstrumentations(): Instrumentation[] {\n return this._instrumentations;\n }\n\n /**\n * Shutdown handler\n */\n // eslint-disable-next-line @typescript-eslint/require-await\n public async shutdown(): Promise<void> {\n this._azureFunctionsHook.shutdown();\n }\n\n /**\n * Start auto collection of telemetry\n */\n private _initializeInstrumentations(): void {\n if (this._config.instrumentationOptions.http?.enabled) {\n const httpinstrumentationOptions = this._config.instrumentationOptions\n .http as HttpInstrumentationConfig;\n const providedIgnoreOutgoingRequestHook =\n httpinstrumentationOptions.ignoreOutgoingRequestHook;\n const mergedIgnoreOutgoingRequestHook: IgnoreOutgoingRequestFunction = (\n request: RequestOptions,\n ) => {\n const result = ignoreOutgoingRequestHook(request);\n if (!result) {\n // Not internal call\n if (providedIgnoreOutgoingRequestHook) {\n // Provided hook in config\n return providedIgnoreOutgoingRequestHook(request);\n }\n }\n return result;\n };\n httpinstrumentationOptions.ignoreOutgoingRequestHook = mergedIgnoreOutgoingRequestHook;\n this._instrumentations.push(\n new HttpInstrumentation(this._config.instrumentationOptions.http),\n );\n }\n if (this._config.instrumentationOptions.azureSdk?.enabled) {\n this._instrumentations.push(\n createAzureSdkInstrumentation(this._config.instrumentationOptions.azureSdk),\n );\n }\n if (this._config.instrumentationOptions.mongoDb?.enabled) {\n this._instrumentations.push(\n new MongoDBInstrumentation(this._config.instrumentationOptions.mongoDb),\n );\n }\n if (this._config.instrumentationOptions.mySql?.enabled) {\n this._instrumentations.push(\n new MySQLInstrumentation(this._config.instrumentationOptions.mySql),\n );\n }\n if (this._config.instrumentationOptions.postgreSql?.enabled) {\n this._instrumentations.push(\n new PgInstrumentation(this._config.instrumentationOptions.postgreSql),\n );\n }\n if (this._config.instrumentationOptions.redis?.enabled) {\n this._instrumentations.push(\n new RedisInstrumentation(this._config.instrumentationOptions.redis),\n );\n }\n if (this._config.instrumentationOptions.redis4?.enabled) {\n this._instrumentations.push(\n new Redis4Instrumentation(this._config.instrumentationOptions.redis4),\n );\n }\n }\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/traces/handler.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,4GAA+F;AAC/F,0FAG+C;AAE/C,kEAAmE;AAKnE,8EAA0E;AAC1E,oFAAgF;AAChF,gFAA4E;AAC5E,0EAAsE;AACtE,gFAA4E;AAI5E,kDAA+D;AAC/D,yDAA+D;AAC/D,qDAAsD;AAEtD,6CAA0D;AAE1D;;GAEG;AACH,MAAa,YAAY;IACf,mBAAmB,CAAqB;IACxC,mBAAmB,CAA4B;IAC/C,cAAc,CAA4B;IAC1C,iBAAiB,CAAoB;IACrC,OAAO,CAAiB;IACxB,cAAc,CAAgB;IAC9B,mBAAmB,CAAqB;IACxC,QAAQ,CAAU;IAE1B;;;;OAIG;IACH,YAAY,MAAsB,EAAE,aAA4B;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;YACtE,oDAAoD;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,mDAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,uCAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,0DAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC9F,MAAM,YAAY,GAAiB;YACjC,kBAAkB,EAAE,GAAG;YACvB,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,mCAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,mBAAmB,GAAG,IAAI,4CAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9E,IAAI,CAAC,mBAAmB,GAAG,IAAI,mCAAkB,EAAE,CAAC;QACpD,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,qBAAqB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,4BAA4B;QACjC,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,4DAA4D;IACrD,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,2BAA2B;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACtD,MAAM,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB;iBACnE,IAAiC,CAAC;YACrC,MAAM,iCAAiC,GACrC,0BAA0B,CAAC,yBAAyB,CAAC;YACvD,MAAM,+BAA+B,GAAkC,CACrE,OAAuB,EACvB,EAAE;gBACF,MAAM,MAAM,GAAG,IAAA,qCAAyB,EAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,oBAAoB;oBACpB,IAAI,iCAAiC,EAAE,CAAC;wBACtC,0BAA0B;wBAC1B,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YACF,0BAA0B,CAAC,yBAAyB,GAAG,+BAA+B,CAAC;YACvF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,0CAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAClE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAA,uEAA6B,EAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,gDAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,4CAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,sCAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CACtE,CAAC;QACJ,CAAC;QACD,IACE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO;YAClD,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,EACnD,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,4CAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAxHD,oCAwHC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RequestOptions } from \"node:http\";\nimport { createAzureSdkInstrumentation } from \"@azure/opentelemetry-instrumentation-azure-sdk\";\nimport {\n AzureMonitorTraceExporter,\n RateLimitedSampler,\n} from \"@azure/monitor-opentelemetry-exporter\";\nimport type { BufferConfig, Sampler } from \"@opentelemetry/sdk-trace-base\";\nimport { BatchSpanProcessor } from \"@opentelemetry/sdk-trace-base\";\nimport type {\n HttpInstrumentationConfig,\n IgnoreOutgoingRequestFunction,\n} from \"@opentelemetry/instrumentation-http\";\nimport { HttpInstrumentation } from \"@opentelemetry/instrumentation-http\";\nimport { MongoDBInstrumentation } from \"@opentelemetry/instrumentation-mongodb\";\nimport { MySQLInstrumentation } from \"@opentelemetry/instrumentation-mysql\";\nimport { PgInstrumentation } from \"@opentelemetry/instrumentation-pg\";\nimport { RedisInstrumentation } from \"@opentelemetry/instrumentation-redis\";\n\nimport type { InternalConfig } from \"../shared/config.js\";\nimport type { MetricHandler } from \"../metrics/handler.js\";\nimport { ignoreOutgoingRequestHook } from \"../utils/common.js\";\nimport { AzureMonitorSpanProcessor } from \"./spanProcessor.js\";\nimport { AzureFunctionsHook } from \"./azureFnHook.js\";\nimport type { Instrumentation } from \"@opentelemetry/instrumentation\";\nimport { ApplicationInsightsSampler } from \"./sampler.js\";\n\n/**\n * Azure Monitor OpenTelemetry Trace Handler\n */\nexport class TraceHandler {\n private _batchSpanProcessor: BatchSpanProcessor;\n private _azureSpanProcessor: AzureMonitorSpanProcessor;\n private _azureExporter: AzureMonitorTraceExporter;\n private _instrumentations: Instrumentation[];\n private _config: InternalConfig;\n private _metricHandler: MetricHandler;\n private _azureFunctionsHook: AzureFunctionsHook;\n private _sampler: Sampler;\n\n /**\n * Initializes a new instance of the TraceHandler class.\n * @param _config - Configuration.\n * @param _metricHandler - MetricHandler.\n */\n constructor(config: InternalConfig, metricHandler: MetricHandler) {\n this._config = config;\n this._metricHandler = metricHandler;\n this._instrumentations = [];\n // Check sampler precedence\n if (this._config.tracesPerSecond && this._config.tracesPerSecond >= 0) {\n // If tracesPerSecond is set, use RateLimitedSampler\n this._sampler = new RateLimitedSampler(this._config.tracesPerSecond);\n } else {\n // Otherwise, use PercentageSampler with samplingRatio\n this._sampler = new ApplicationInsightsSampler(this._config.samplingRatio);\n }\n this._azureExporter = new AzureMonitorTraceExporter(this._config.azureMonitorExporterOptions);\n const bufferConfig: BufferConfig = {\n maxExportBatchSize: 512,\n scheduledDelayMillis: 5000,\n exportTimeoutMillis: 30000,\n maxQueueSize: 2048,\n };\n this._batchSpanProcessor = new BatchSpanProcessor(this._azureExporter, bufferConfig);\n this._azureSpanProcessor = new AzureMonitorSpanProcessor(this._metricHandler);\n this._azureFunctionsHook = new AzureFunctionsHook();\n this._initializeInstrumentations();\n }\n\n public getSampler(): Sampler {\n return this._sampler;\n }\n\n public getBatchSpanProcessor(): BatchSpanProcessor {\n return this._batchSpanProcessor;\n }\n\n public getAzureMonitorSpanProcessor(): AzureMonitorSpanProcessor {\n return this._azureSpanProcessor;\n }\n\n public getInstrumentations(): Instrumentation[] {\n return this._instrumentations;\n }\n\n /**\n * Shutdown handler\n */\n // eslint-disable-next-line @typescript-eslint/require-await\n public async shutdown(): Promise<void> {\n this._azureFunctionsHook.shutdown();\n }\n\n /**\n * Start auto collection of telemetry\n */\n private _initializeInstrumentations(): void {\n if (this._config.instrumentationOptions.http?.enabled) {\n const httpinstrumentationOptions = this._config.instrumentationOptions\n .http as HttpInstrumentationConfig;\n const providedIgnoreOutgoingRequestHook =\n httpinstrumentationOptions.ignoreOutgoingRequestHook;\n const mergedIgnoreOutgoingRequestHook: IgnoreOutgoingRequestFunction = (\n request: RequestOptions,\n ) => {\n const result = ignoreOutgoingRequestHook(request);\n if (!result) {\n // Not internal call\n if (providedIgnoreOutgoingRequestHook) {\n // Provided hook in config\n return providedIgnoreOutgoingRequestHook(request);\n }\n }\n return result;\n };\n httpinstrumentationOptions.ignoreOutgoingRequestHook = mergedIgnoreOutgoingRequestHook;\n this._instrumentations.push(\n new HttpInstrumentation(this._config.instrumentationOptions.http),\n );\n }\n if (this._config.instrumentationOptions.azureSdk?.enabled) {\n this._instrumentations.push(\n createAzureSdkInstrumentation(this._config.instrumentationOptions.azureSdk),\n );\n }\n if (this._config.instrumentationOptions.mongoDb?.enabled) {\n this._instrumentations.push(\n new MongoDBInstrumentation(this._config.instrumentationOptions.mongoDb),\n );\n }\n if (this._config.instrumentationOptions.mySql?.enabled) {\n this._instrumentations.push(\n new MySQLInstrumentation(this._config.instrumentationOptions.mySql),\n );\n }\n if (this._config.instrumentationOptions.postgreSql?.enabled) {\n this._instrumentations.push(\n new PgInstrumentation(this._config.instrumentationOptions.postgreSql),\n );\n }\n if (\n this._config.instrumentationOptions.redis?.enabled ||\n this._config.instrumentationOptions.redis4?.enabled\n ) {\n this._instrumentations.push(\n new RedisInstrumentation(this._config.instrumentationOptions.redis),\n );\n }\n }\n}\n"]}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.13"
8
+ "packageVersion": "7.53.3"
9
9
  }
10
10
  ]
11
11
  }
@@ -138,7 +138,7 @@ export interface BrowserSdkLoaderOptions {
138
138
  /** Browser SDK Loader Connection String */
139
139
  connectionString?: string;
140
140
  }
141
- export declare const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.14.0";
141
+ export declare const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.14.1";
142
142
  export declare const AZURE_MONITOR_STATSBEAT_FEATURES = "AZURE_MONITOR_STATSBEAT_FEATURES";
143
143
  export declare const AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
144
144
  export declare const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
@@ -16,7 +16,7 @@ exports.StatsbeatFeaturesMap = new Map([
16
16
  ["multiIkey", 128],
17
17
  ["rateLimitedSampler", 256],
18
18
  ]);
19
- exports.AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.14.0";
19
+ exports.AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.14.1";
20
20
  exports.AZURE_MONITOR_STATSBEAT_FEATURES = "AZURE_MONITOR_STATSBEAT_FEATURES";
21
21
  exports.AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
22
22
  exports.AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
@@ -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 } 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 undefined) */\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 (azureSdk, http, mongoDb, mySql, postgreSql, redis, redis4) */\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}\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 rateLimitedSampler?: 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 [\"rateLimitedSampler\", 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.14.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\";\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 * Enables the preview version of customer-facing SDK Stats.\n * @internal\n */\nexport const APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW =\n \"APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW\";\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}\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 } 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 undefined) */\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 (azureSdk, http, mongoDb, mySql, postgreSql, redis, redis4) */\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}\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 rateLimitedSampler?: 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 [\"rateLimitedSampler\", 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.14.1\";\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 * Enables the preview version of customer-facing SDK Stats.\n * @internal\n */\nexport const APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW =\n \"APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW\";\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}\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"]}
@@ -42,11 +42,9 @@ export class MetricHandler {
42
42
  if (config.instrumentationOptions.postgreSql?.enabled) {
43
43
  this._views.push({ meterName: "@opentelemetry/instrumentation-pg" });
44
44
  }
45
- if (config.instrumentationOptions.redis4?.enabled) {
46
- this._views.push({ meterName: "@opentelemetry/instrumentation-redis-4" });
47
- }
48
- if (config.instrumentationOptions.redis?.enabled) {
49
- this._views.push({ meterName: "@azure/opentelemetry-instrumentation-redis" });
45
+ if (config.instrumentationOptions.redis?.enabled ||
46
+ config.instrumentationOptions.redis4?.enabled) {
47
+ this._views.push({ meterName: "@opentelemetry/instrumentation-redis" });
50
48
  }
51
49
  this._azureExporter = new AzureMonitorMetricExporter(this._config.azureMonitorExporterOptions);
52
50
  const metricReaderOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/metrics/handler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AzureMonitorMetricExporter } from \"@azure/monitor-opentelemetry-exporter\";\nimport type { PeriodicExportingMetricReaderOptions, ViewOptions } from \"@opentelemetry/sdk-metrics\";\nimport { PeriodicExportingMetricReader } from \"@opentelemetry/sdk-metrics\";\nimport type { SdkLogRecord } from \"@opentelemetry/sdk-logs\";\nimport type { InternalConfig } from \"../shared/config.js\";\nimport { StandardMetrics } from \"./standardMetrics.js\";\nimport type { ReadableSpan, Span } from \"@opentelemetry/sdk-trace-base\";\nimport { APPLICATION_INSIGHTS_NO_STANDARD_METRICS } from \"./types.js\";\nimport { LiveMetrics } from \"./quickpulse/liveMetrics.js\";\nimport { PerformanceCounterMetrics } from \"./performanceCounters.js\";\n\n/**\n * Azure Monitor OpenTelemetry Metric Handler\n */\nexport class MetricHandler {\n private _azureExporter: AzureMonitorMetricExporter;\n private _metricReader: PeriodicExportingMetricReader;\n private _standardMetrics?: StandardMetrics;\n private _performanceCounters?: PerformanceCounterMetrics;\n private _liveMetrics?: LiveMetrics;\n private _config: InternalConfig;\n private _views: ViewOptions[];\n\n /**\n * Initializes a new instance of the MetricHandler class.\n * @param config - Distro configuration.\n * @param options - Metric Handler options.\n */\n constructor(config: InternalConfig) {\n const defaultInterval = 60000;\n this._config = config;\n // Adding Views of instrumentations will allow customer to add Metric Readers after, and get access to previously created metrics using the views shared state\n this._views = [];\n if (config.instrumentationOptions.azureSdk?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-azure-sdk\" });\n }\n if (config.instrumentationOptions.http?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-http\" });\n }\n if (config.instrumentationOptions.mongoDb?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-mongodb\" });\n }\n if (config.instrumentationOptions.mySql?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-mysql\" });\n }\n if (config.instrumentationOptions.postgreSql?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-pg\" });\n }\n if (config.instrumentationOptions.redis4?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-redis-4\" });\n }\n if (config.instrumentationOptions.redis?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-redis\" });\n }\n this._azureExporter = new AzureMonitorMetricExporter(this._config.azureMonitorExporterOptions);\n const metricReaderOptions: PeriodicExportingMetricReaderOptions = {\n exporter: this._azureExporter as any,\n exportIntervalMillis: this._config.metricExportIntervalMillis || defaultInterval,\n };\n this._metricReader = new PeriodicExportingMetricReader(metricReaderOptions);\n\n if (\n this._config.enableStandardMetrics &&\n !process.env[APPLICATION_INSIGHTS_NO_STANDARD_METRICS]\n ) {\n this._standardMetrics = new StandardMetrics(this._config);\n }\n if (this._config.enableLiveMetrics) {\n this._liveMetrics = new LiveMetrics(this._config);\n }\n if (this._config.enablePerformanceCounters) {\n this._performanceCounters = new PerformanceCounterMetrics(this._config);\n }\n }\n\n public getMetricReader(): PeriodicExportingMetricReader {\n return this._metricReader;\n }\n\n public getViews(): ViewOptions[] {\n return this._views;\n }\n\n public markSpanAsProcessed(span: Span): void {\n this._standardMetrics?.markSpanAsProcessed(span);\n }\n\n public recordSpan(span: ReadableSpan): void {\n this._standardMetrics?.recordSpan(span);\n this._liveMetrics?.recordSpan(span);\n this._performanceCounters?.recordSpan(span);\n }\n\n public recordLog(logRecord: SdkLogRecord): void {\n this._standardMetrics?.recordLog(logRecord);\n this._liveMetrics?.recordLog(logRecord);\n this._performanceCounters?.recordLog(logRecord);\n }\n\n /**\n * Shutdown handler\n */\n // eslint-disable-next-line @typescript-eslint/require-await\n public async shutdown(): Promise<void> {\n this._standardMetrics?.shutdown();\n this._liveMetrics?.shutdown();\n this._performanceCounters?.shutdown();\n }\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/metrics/handler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AzureMonitorMetricExporter } from \"@azure/monitor-opentelemetry-exporter\";\nimport type { PeriodicExportingMetricReaderOptions, ViewOptions } from \"@opentelemetry/sdk-metrics\";\nimport { PeriodicExportingMetricReader } from \"@opentelemetry/sdk-metrics\";\nimport type { SdkLogRecord } from \"@opentelemetry/sdk-logs\";\nimport type { InternalConfig } from \"../shared/config.js\";\nimport { StandardMetrics } from \"./standardMetrics.js\";\nimport type { ReadableSpan, Span } from \"@opentelemetry/sdk-trace-base\";\nimport { APPLICATION_INSIGHTS_NO_STANDARD_METRICS } from \"./types.js\";\nimport { LiveMetrics } from \"./quickpulse/liveMetrics.js\";\nimport { PerformanceCounterMetrics } from \"./performanceCounters.js\";\n\n/**\n * Azure Monitor OpenTelemetry Metric Handler\n */\nexport class MetricHandler {\n private _azureExporter: AzureMonitorMetricExporter;\n private _metricReader: PeriodicExportingMetricReader;\n private _standardMetrics?: StandardMetrics;\n private _performanceCounters?: PerformanceCounterMetrics;\n private _liveMetrics?: LiveMetrics;\n private _config: InternalConfig;\n private _views: ViewOptions[];\n\n /**\n * Initializes a new instance of the MetricHandler class.\n * @param config - Distro configuration.\n * @param options - Metric Handler options.\n */\n constructor(config: InternalConfig) {\n const defaultInterval = 60000;\n this._config = config;\n // Adding Views of instrumentations will allow customer to add Metric Readers after, and get access to previously created metrics using the views shared state\n this._views = [];\n if (config.instrumentationOptions.azureSdk?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-azure-sdk\" });\n }\n if (config.instrumentationOptions.http?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-http\" });\n }\n if (config.instrumentationOptions.mongoDb?.enabled) {\n this._views.push({ meterName: \"@azure/opentelemetry-instrumentation-mongodb\" });\n }\n if (config.instrumentationOptions.mySql?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-mysql\" });\n }\n if (config.instrumentationOptions.postgreSql?.enabled) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-pg\" });\n }\n if (\n config.instrumentationOptions.redis?.enabled ||\n config.instrumentationOptions.redis4?.enabled\n ) {\n this._views.push({ meterName: \"@opentelemetry/instrumentation-redis\" });\n }\n this._azureExporter = new AzureMonitorMetricExporter(this._config.azureMonitorExporterOptions);\n const metricReaderOptions: PeriodicExportingMetricReaderOptions = {\n exporter: this._azureExporter as any,\n exportIntervalMillis: this._config.metricExportIntervalMillis || defaultInterval,\n };\n this._metricReader = new PeriodicExportingMetricReader(metricReaderOptions);\n\n if (\n this._config.enableStandardMetrics &&\n !process.env[APPLICATION_INSIGHTS_NO_STANDARD_METRICS]\n ) {\n this._standardMetrics = new StandardMetrics(this._config);\n }\n if (this._config.enableLiveMetrics) {\n this._liveMetrics = new LiveMetrics(this._config);\n }\n if (this._config.enablePerformanceCounters) {\n this._performanceCounters = new PerformanceCounterMetrics(this._config);\n }\n }\n\n public getMetricReader(): PeriodicExportingMetricReader {\n return this._metricReader;\n }\n\n public getViews(): ViewOptions[] {\n return this._views;\n }\n\n public markSpanAsProcessed(span: Span): void {\n this._standardMetrics?.markSpanAsProcessed(span);\n }\n\n public recordSpan(span: ReadableSpan): void {\n this._standardMetrics?.recordSpan(span);\n this._liveMetrics?.recordSpan(span);\n this._performanceCounters?.recordSpan(span);\n }\n\n public recordLog(logRecord: SdkLogRecord): void {\n this._standardMetrics?.recordLog(logRecord);\n this._liveMetrics?.recordLog(logRecord);\n this._performanceCounters?.recordLog(logRecord);\n }\n\n /**\n * Shutdown handler\n */\n // eslint-disable-next-line @typescript-eslint/require-await\n public async shutdown(): Promise<void> {\n this._standardMetrics?.shutdown();\n this._liveMetrics?.shutdown();\n this._performanceCounters?.shutdown();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/traces/handler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAYnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;OAIG;gBACS,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;IAyBzD,UAAU,IAAI,OAAO;IAIrB,qBAAqB,IAAI,kBAAkB;IAI3C,4BAA4B,IAAI,yBAAyB;IAIzD,mBAAmB,IAAI,eAAe,EAAE;IAI/C;;OAEG;IAEU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAuDpC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/traces/handler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAWnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;OAIG;gBACS,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;IAyBzD,UAAU,IAAI,OAAO;IAIrB,qBAAqB,IAAI,kBAAkB;IAI3C,4BAA4B,IAAI,yBAAyB;IAIzD,mBAAmB,IAAI,eAAe,EAAE;IAI/C;;OAEG;IAEU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAqDpC"}
@@ -8,7 +8,6 @@ import { MongoDBInstrumentation } from "@opentelemetry/instrumentation-mongodb";
8
8
  import { MySQLInstrumentation } from "@opentelemetry/instrumentation-mysql";
9
9
  import { PgInstrumentation } from "@opentelemetry/instrumentation-pg";
10
10
  import { RedisInstrumentation } from "@opentelemetry/instrumentation-redis";
11
- import { RedisInstrumentation as Redis4Instrumentation } from "@opentelemetry/instrumentation-redis-4";
12
11
  import { ignoreOutgoingRequestHook } from "../utils/common.js";
13
12
  import { AzureMonitorSpanProcessor } from "./spanProcessor.js";
14
13
  import { AzureFunctionsHook } from "./azureFnHook.js";
@@ -108,12 +107,10 @@ export class TraceHandler {
108
107
  if (this._config.instrumentationOptions.postgreSql?.enabled) {
109
108
  this._instrumentations.push(new PgInstrumentation(this._config.instrumentationOptions.postgreSql));
110
109
  }
111
- if (this._config.instrumentationOptions.redis?.enabled) {
110
+ if (this._config.instrumentationOptions.redis?.enabled ||
111
+ this._config.instrumentationOptions.redis4?.enabled) {
112
112
  this._instrumentations.push(new RedisInstrumentation(this._config.instrumentationOptions.redis));
113
113
  }
114
- if (this._config.instrumentationOptions.redis4?.enabled) {
115
- this._instrumentations.push(new Redis4Instrumentation(this._config.instrumentationOptions.redis4));
116
- }
117
114
  }
118
115
  }
119
116
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/traces/handler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RequestOptions } from \"node:http\";\nimport { createAzureSdkInstrumentation } from \"@azure/opentelemetry-instrumentation-azure-sdk\";\nimport {\n AzureMonitorTraceExporter,\n RateLimitedSampler,\n} from \"@azure/monitor-opentelemetry-exporter\";\nimport type { BufferConfig, Sampler } from \"@opentelemetry/sdk-trace-base\";\nimport { BatchSpanProcessor } from \"@opentelemetry/sdk-trace-base\";\nimport type {\n HttpInstrumentationConfig,\n IgnoreOutgoingRequestFunction,\n} from \"@opentelemetry/instrumentation-http\";\nimport { HttpInstrumentation } from \"@opentelemetry/instrumentation-http\";\nimport { MongoDBInstrumentation } from \"@opentelemetry/instrumentation-mongodb\";\nimport { MySQLInstrumentation } from \"@opentelemetry/instrumentation-mysql\";\nimport { PgInstrumentation } from \"@opentelemetry/instrumentation-pg\";\nimport { RedisInstrumentation } from \"@opentelemetry/instrumentation-redis\";\nimport { RedisInstrumentation as Redis4Instrumentation } from \"@opentelemetry/instrumentation-redis-4\";\n\nimport type { InternalConfig } from \"../shared/config.js\";\nimport type { MetricHandler } from \"../metrics/handler.js\";\nimport { ignoreOutgoingRequestHook } from \"../utils/common.js\";\nimport { AzureMonitorSpanProcessor } from \"./spanProcessor.js\";\nimport { AzureFunctionsHook } from \"./azureFnHook.js\";\nimport type { Instrumentation } from \"@opentelemetry/instrumentation\";\nimport { ApplicationInsightsSampler } from \"./sampler.js\";\n\n/**\n * Azure Monitor OpenTelemetry Trace Handler\n */\nexport class TraceHandler {\n private _batchSpanProcessor: BatchSpanProcessor;\n private _azureSpanProcessor: AzureMonitorSpanProcessor;\n private _azureExporter: AzureMonitorTraceExporter;\n private _instrumentations: Instrumentation[];\n private _config: InternalConfig;\n private _metricHandler: MetricHandler;\n private _azureFunctionsHook: AzureFunctionsHook;\n private _sampler: Sampler;\n\n /**\n * Initializes a new instance of the TraceHandler class.\n * @param _config - Configuration.\n * @param _metricHandler - MetricHandler.\n */\n constructor(config: InternalConfig, metricHandler: MetricHandler) {\n this._config = config;\n this._metricHandler = metricHandler;\n this._instrumentations = [];\n // Check sampler precedence\n if (this._config.tracesPerSecond && this._config.tracesPerSecond >= 0) {\n // If tracesPerSecond is set, use RateLimitedSampler\n this._sampler = new RateLimitedSampler(this._config.tracesPerSecond);\n } else {\n // Otherwise, use PercentageSampler with samplingRatio\n this._sampler = new ApplicationInsightsSampler(this._config.samplingRatio);\n }\n this._azureExporter = new AzureMonitorTraceExporter(this._config.azureMonitorExporterOptions);\n const bufferConfig: BufferConfig = {\n maxExportBatchSize: 512,\n scheduledDelayMillis: 5000,\n exportTimeoutMillis: 30000,\n maxQueueSize: 2048,\n };\n this._batchSpanProcessor = new BatchSpanProcessor(this._azureExporter, bufferConfig);\n this._azureSpanProcessor = new AzureMonitorSpanProcessor(this._metricHandler);\n this._azureFunctionsHook = new AzureFunctionsHook();\n this._initializeInstrumentations();\n }\n\n public getSampler(): Sampler {\n return this._sampler;\n }\n\n public getBatchSpanProcessor(): BatchSpanProcessor {\n return this._batchSpanProcessor;\n }\n\n public getAzureMonitorSpanProcessor(): AzureMonitorSpanProcessor {\n return this._azureSpanProcessor;\n }\n\n public getInstrumentations(): Instrumentation[] {\n return this._instrumentations;\n }\n\n /**\n * Shutdown handler\n */\n // eslint-disable-next-line @typescript-eslint/require-await\n public async shutdown(): Promise<void> {\n this._azureFunctionsHook.shutdown();\n }\n\n /**\n * Start auto collection of telemetry\n */\n private _initializeInstrumentations(): void {\n if (this._config.instrumentationOptions.http?.enabled) {\n const httpinstrumentationOptions = this._config.instrumentationOptions\n .http as HttpInstrumentationConfig;\n const providedIgnoreOutgoingRequestHook =\n httpinstrumentationOptions.ignoreOutgoingRequestHook;\n const mergedIgnoreOutgoingRequestHook: IgnoreOutgoingRequestFunction = (\n request: RequestOptions,\n ) => {\n const result = ignoreOutgoingRequestHook(request);\n if (!result) {\n // Not internal call\n if (providedIgnoreOutgoingRequestHook) {\n // Provided hook in config\n return providedIgnoreOutgoingRequestHook(request);\n }\n }\n return result;\n };\n httpinstrumentationOptions.ignoreOutgoingRequestHook = mergedIgnoreOutgoingRequestHook;\n this._instrumentations.push(\n new HttpInstrumentation(this._config.instrumentationOptions.http),\n );\n }\n if (this._config.instrumentationOptions.azureSdk?.enabled) {\n this._instrumentations.push(\n createAzureSdkInstrumentation(this._config.instrumentationOptions.azureSdk),\n );\n }\n if (this._config.instrumentationOptions.mongoDb?.enabled) {\n this._instrumentations.push(\n new MongoDBInstrumentation(this._config.instrumentationOptions.mongoDb),\n );\n }\n if (this._config.instrumentationOptions.mySql?.enabled) {\n this._instrumentations.push(\n new MySQLInstrumentation(this._config.instrumentationOptions.mySql),\n );\n }\n if (this._config.instrumentationOptions.postgreSql?.enabled) {\n this._instrumentations.push(\n new PgInstrumentation(this._config.instrumentationOptions.postgreSql),\n );\n }\n if (this._config.instrumentationOptions.redis?.enabled) {\n this._instrumentations.push(\n new RedisInstrumentation(this._config.instrumentationOptions.redis),\n );\n }\n if (this._config.instrumentationOptions.redis4?.enabled) {\n this._instrumentations.push(\n new Redis4Instrumentation(this._config.instrumentationOptions.redis4),\n );\n }\n }\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/traces/handler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RequestOptions } from \"node:http\";\nimport { createAzureSdkInstrumentation } from \"@azure/opentelemetry-instrumentation-azure-sdk\";\nimport {\n AzureMonitorTraceExporter,\n RateLimitedSampler,\n} from \"@azure/monitor-opentelemetry-exporter\";\nimport type { BufferConfig, Sampler } from \"@opentelemetry/sdk-trace-base\";\nimport { BatchSpanProcessor } from \"@opentelemetry/sdk-trace-base\";\nimport type {\n HttpInstrumentationConfig,\n IgnoreOutgoingRequestFunction,\n} from \"@opentelemetry/instrumentation-http\";\nimport { HttpInstrumentation } from \"@opentelemetry/instrumentation-http\";\nimport { MongoDBInstrumentation } from \"@opentelemetry/instrumentation-mongodb\";\nimport { MySQLInstrumentation } from \"@opentelemetry/instrumentation-mysql\";\nimport { PgInstrumentation } from \"@opentelemetry/instrumentation-pg\";\nimport { RedisInstrumentation } from \"@opentelemetry/instrumentation-redis\";\n\nimport type { InternalConfig } from \"../shared/config.js\";\nimport type { MetricHandler } from \"../metrics/handler.js\";\nimport { ignoreOutgoingRequestHook } from \"../utils/common.js\";\nimport { AzureMonitorSpanProcessor } from \"./spanProcessor.js\";\nimport { AzureFunctionsHook } from \"./azureFnHook.js\";\nimport type { Instrumentation } from \"@opentelemetry/instrumentation\";\nimport { ApplicationInsightsSampler } from \"./sampler.js\";\n\n/**\n * Azure Monitor OpenTelemetry Trace Handler\n */\nexport class TraceHandler {\n private _batchSpanProcessor: BatchSpanProcessor;\n private _azureSpanProcessor: AzureMonitorSpanProcessor;\n private _azureExporter: AzureMonitorTraceExporter;\n private _instrumentations: Instrumentation[];\n private _config: InternalConfig;\n private _metricHandler: MetricHandler;\n private _azureFunctionsHook: AzureFunctionsHook;\n private _sampler: Sampler;\n\n /**\n * Initializes a new instance of the TraceHandler class.\n * @param _config - Configuration.\n * @param _metricHandler - MetricHandler.\n */\n constructor(config: InternalConfig, metricHandler: MetricHandler) {\n this._config = config;\n this._metricHandler = metricHandler;\n this._instrumentations = [];\n // Check sampler precedence\n if (this._config.tracesPerSecond && this._config.tracesPerSecond >= 0) {\n // If tracesPerSecond is set, use RateLimitedSampler\n this._sampler = new RateLimitedSampler(this._config.tracesPerSecond);\n } else {\n // Otherwise, use PercentageSampler with samplingRatio\n this._sampler = new ApplicationInsightsSampler(this._config.samplingRatio);\n }\n this._azureExporter = new AzureMonitorTraceExporter(this._config.azureMonitorExporterOptions);\n const bufferConfig: BufferConfig = {\n maxExportBatchSize: 512,\n scheduledDelayMillis: 5000,\n exportTimeoutMillis: 30000,\n maxQueueSize: 2048,\n };\n this._batchSpanProcessor = new BatchSpanProcessor(this._azureExporter, bufferConfig);\n this._azureSpanProcessor = new AzureMonitorSpanProcessor(this._metricHandler);\n this._azureFunctionsHook = new AzureFunctionsHook();\n this._initializeInstrumentations();\n }\n\n public getSampler(): Sampler {\n return this._sampler;\n }\n\n public getBatchSpanProcessor(): BatchSpanProcessor {\n return this._batchSpanProcessor;\n }\n\n public getAzureMonitorSpanProcessor(): AzureMonitorSpanProcessor {\n return this._azureSpanProcessor;\n }\n\n public getInstrumentations(): Instrumentation[] {\n return this._instrumentations;\n }\n\n /**\n * Shutdown handler\n */\n // eslint-disable-next-line @typescript-eslint/require-await\n public async shutdown(): Promise<void> {\n this._azureFunctionsHook.shutdown();\n }\n\n /**\n * Start auto collection of telemetry\n */\n private _initializeInstrumentations(): void {\n if (this._config.instrumentationOptions.http?.enabled) {\n const httpinstrumentationOptions = this._config.instrumentationOptions\n .http as HttpInstrumentationConfig;\n const providedIgnoreOutgoingRequestHook =\n httpinstrumentationOptions.ignoreOutgoingRequestHook;\n const mergedIgnoreOutgoingRequestHook: IgnoreOutgoingRequestFunction = (\n request: RequestOptions,\n ) => {\n const result = ignoreOutgoingRequestHook(request);\n if (!result) {\n // Not internal call\n if (providedIgnoreOutgoingRequestHook) {\n // Provided hook in config\n return providedIgnoreOutgoingRequestHook(request);\n }\n }\n return result;\n };\n httpinstrumentationOptions.ignoreOutgoingRequestHook = mergedIgnoreOutgoingRequestHook;\n this._instrumentations.push(\n new HttpInstrumentation(this._config.instrumentationOptions.http),\n );\n }\n if (this._config.instrumentationOptions.azureSdk?.enabled) {\n this._instrumentations.push(\n createAzureSdkInstrumentation(this._config.instrumentationOptions.azureSdk),\n );\n }\n if (this._config.instrumentationOptions.mongoDb?.enabled) {\n this._instrumentations.push(\n new MongoDBInstrumentation(this._config.instrumentationOptions.mongoDb),\n );\n }\n if (this._config.instrumentationOptions.mySql?.enabled) {\n this._instrumentations.push(\n new MySQLInstrumentation(this._config.instrumentationOptions.mySql),\n );\n }\n if (this._config.instrumentationOptions.postgreSql?.enabled) {\n this._instrumentations.push(\n new PgInstrumentation(this._config.instrumentationOptions.postgreSql),\n );\n }\n if (\n this._config.instrumentationOptions.redis?.enabled ||\n this._config.instrumentationOptions.redis4?.enabled\n ) {\n this._instrumentations.push(\n new RedisInstrumentation(this._config.instrumentationOptions.redis),\n );\n }\n }\n}\n"]}
@@ -138,7 +138,7 @@ export interface BrowserSdkLoaderOptions {
138
138
  /** Browser SDK Loader Connection String */
139
139
  connectionString?: string;
140
140
  }
141
- export declare const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.14.0";
141
+ export declare const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.14.1";
142
142
  export declare const AZURE_MONITOR_STATSBEAT_FEATURES = "AZURE_MONITOR_STATSBEAT_FEATURES";
143
143
  export declare const AZURE_MONITOR_PREFIX = "AZURE_MONITOR_PREFIX";
144
144
  export declare const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH";
package/dist/esm/types.js CHANGED
@@ -13,7 +13,7 @@ export const StatsbeatFeaturesMap = new Map([
13
13
  ["multiIkey", 128],
14
14
  ["rateLimitedSampler", 256],
15
15
  ]);
16
- export const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.14.0";
16
+ export const AZURE_MONITOR_OPENTELEMETRY_VERSION = "1.14.1";
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";
@@ -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 } 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 undefined) */\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 (azureSdk, http, mongoDb, mySql, postgreSql, redis, redis4) */\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}\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 rateLimitedSampler?: 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 [\"rateLimitedSampler\", 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.14.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\";\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 * Enables the preview version of customer-facing SDK Stats.\n * @internal\n */\nexport const APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW =\n \"APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW\";\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}\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 } 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 undefined) */\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 (azureSdk, http, mongoDb, mySql, postgreSql, redis, redis4) */\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}\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 rateLimitedSampler?: 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 [\"rateLimitedSampler\", 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.14.1\";\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 * Enables the preview version of customer-facing SDK Stats.\n * @internal\n */\nexport const APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW =\n \"APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW\";\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}\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"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@azure/monitor-opentelemetry",
3
3
  "author": "Microsoft Corporation",
4
4
  "sdk-type": "client",
5
- "version": "1.14.0",
5
+ "version": "1.14.1-alpha.20251113.1",
6
6
  "description": "Azure Monitor OpenTelemetry (Node.js)",
7
7
  "main": "./dist/commonjs/index.js",
8
8
  "module": "./dist/esm/index.js",
@@ -32,30 +32,29 @@
32
32
  }
33
33
  },
34
34
  "devDependencies": {
35
- "@azure/functions": "^4.5.0",
35
+ "@azure/functions": "^4.9.0",
36
36
  "@azure/functions-old": "npm:@azure/functions@3.5.1",
37
37
  "@opentelemetry/exporter-metrics-otlp-http": "^0.204.0",
38
- "@types/node": "^20.19.0",
39
- "@vitest/coverage-istanbul": "^3.2.3",
40
- "dotenv": "^16.0.0",
41
- "eslint": "^9.33.0",
42
- "typescript": "~5.8.3",
43
- "vitest": "^3.2.3",
38
+ "@types/node": "^20.19.24",
39
+ "@vitest/browser-playwright": "^4.0.8",
40
+ "@vitest/coverage-istanbul": "^4.0.8",
41
+ "cross-env": "^7.0.3",
42
+ "dotenv": "^16.6.1",
43
+ "eslint": "^9.39.1",
44
+ "prettier": "^3.6.2",
45
+ "rimraf": "^6.1.0",
46
+ "tshy": "^3.0.3",
47
+ "typescript": "~5.9.3",
48
+ "vitest": "^4.0.8",
44
49
  "@azure-tools/test-utils-vitest": "^2.0.1",
45
50
  "@azure/dev-tool": "^1.0.0",
46
51
  "@azure/eslint-plugin-azure-sdk": "^3.0.0"
47
52
  },
48
53
  "dependencies": {
49
- "@azure/core-auth": "^1.9.0",
50
- "@azure/core-client": "^1.9.2",
51
- "@azure/core-rest-pipeline": "^1.18.2",
52
- "@azure/logger": "^1.1.4",
53
- "@azure/monitor-opentelemetry-exporter": "1.0.0-beta.35",
54
- "@azure/opentelemetry-instrumentation-azure-sdk": "^1.0.0-beta.7",
55
- "@microsoft/applicationinsights-web-snippet": "^1.2.1",
54
+ "@microsoft/applicationinsights-web-snippet": "^1.2.3",
56
55
  "@opentelemetry/api": "^1.9.0",
57
56
  "@opentelemetry/api-logs": "^0.204.0",
58
- "@opentelemetry/core": "^2.1.0",
57
+ "@opentelemetry/core": "^2.2.0",
59
58
  "@opentelemetry/instrumentation": "^0.204.0",
60
59
  "@opentelemetry/instrumentation-bunyan": "^0.50.0",
61
60
  "@opentelemetry/instrumentation-http": "^0.204.0",
@@ -63,18 +62,23 @@
63
62
  "@opentelemetry/instrumentation-mysql": "^0.50.0",
64
63
  "@opentelemetry/instrumentation-pg": "^0.57.0",
65
64
  "@opentelemetry/instrumentation-redis": "^0.53.0",
66
- "@opentelemetry/instrumentation-redis-4": "^0.49.0",
67
65
  "@opentelemetry/instrumentation-winston": "^0.49.0",
68
66
  "@opentelemetry/resource-detector-azure": "^0.7.0",
69
- "@opentelemetry/resources": "^2.1.0",
67
+ "@opentelemetry/resources": "^2.2.0",
70
68
  "@opentelemetry/sdk-logs": "^0.204.0",
71
- "@opentelemetry/sdk-metrics": "^2.1.0",
69
+ "@opentelemetry/sdk-metrics": "^2.2.0",
72
70
  "@opentelemetry/sdk-node": "^0.204.0",
73
- "@opentelemetry/sdk-trace-base": "^2.1.0",
74
- "@opentelemetry/sdk-trace-node": "^2.1.0",
75
- "@opentelemetry/semantic-conventions": "^1.32.0",
71
+ "@opentelemetry/sdk-trace-base": "^2.2.0",
72
+ "@opentelemetry/sdk-trace-node": "^2.2.0",
73
+ "@opentelemetry/semantic-conventions": "^1.38.0",
76
74
  "@opentelemetry/winston-transport": "^0.15.0",
77
- "tslib": "^2.8.1"
75
+ "tslib": "^2.8.1",
76
+ "@azure/core-client": "^1.10.2-alpha.20251113.1",
77
+ "@azure/core-auth": "^1.10.2-alpha.20251113.1",
78
+ "@azure/logger": "^1.3.1-alpha.20251113.1",
79
+ "@azure/opentelemetry-instrumentation-azure-sdk": "^1.0.0-beta.10",
80
+ "@azure/monitor-opentelemetry-exporter": "1.0.0-alpha.20251113.1",
81
+ "@azure/core-rest-pipeline": "^1.22.2-alpha.20251113.1"
78
82
  },
79
83
  "sideEffects": false,
80
84
  "keywords": [
@@ -115,11 +119,11 @@
115
119
  "scripts": {
116
120
  "build": "npm run clean && dev-tool run build-package && dev-tool run extract-api",
117
121
  "build:samples": "tsc -p tsconfig.samples.json",
118
- "check-format": "dev-tool run vendored prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
119
- "clean": "dev-tool run vendored rimraf --glob dist dist-* temp types *.tgz *.log",
122
+ "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
123
+ "clean": "rimraf --glob dist dist-* temp types *.tgz *.log",
120
124
  "execute:samples": "dev-tool samples run samples-dev",
121
125
  "extract-api": "dev-tool run build-package && dev-tool run extract-api",
122
- "format": "dev-tool run vendored prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
126
+ "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
123
127
  "generate:client": "autorest --typescript ./swagger/README.md",
124
128
  "lint": "eslint package.json src test",
125
129
  "lint:fix": "eslint package.json src test --fix --fix-type [problem,suggestion]",