@microsoft/opentelemetry 1.0.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -71
- package/dist/commonjs/a365/configuration/A365Configuration.d.ts +3 -0
- package/dist/commonjs/a365/configuration/A365Configuration.d.ts.map +1 -1
- package/dist/commonjs/a365/configuration/A365Configuration.js +8 -3
- package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +10 -1
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
- package/dist/commonjs/a365/constants.d.ts +134 -3
- package/dist/commonjs/a365/constants.d.ts.map +1 -1
- package/dist/commonjs/a365/constants.js +141 -2
- package/dist/commonjs/a365/constants.js.map +1 -1
- package/dist/commonjs/a365/contracts.d.ts +246 -8
- package/dist/commonjs/a365/contracts.d.ts.map +1 -1
- package/dist/commonjs/a365/contracts.js +81 -3
- package/dist/commonjs/a365/contracts.js.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +33 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.js +134 -3
- package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +28 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +2 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/commonjs/a365/exporter/AgentIdentity.d.ts +17 -0
- package/dist/commonjs/a365/exporter/AgentIdentity.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/AgentIdentity.js +5 -0
- package/dist/commonjs/a365/exporter/AgentIdentity.js.map +1 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts +3 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/ExporterEventNames.js +3 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.js.map +1 -1
- package/dist/commonjs/a365/exporter/TokenResolverContext.d.ts +18 -0
- package/dist/commonjs/a365/exporter/TokenResolverContext.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/TokenResolverContext.js +5 -0
- package/dist/commonjs/a365/exporter/TokenResolverContext.js.map +1 -0
- package/dist/commonjs/a365/exporter/index.d.ts +3 -1
- package/dist/commonjs/a365/exporter/index.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/index.js.map +1 -1
- package/dist/commonjs/a365/exporter/utils.d.ts +5 -0
- package/dist/commonjs/a365/exporter/utils.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/utils.js +23 -25
- package/dist/commonjs/a365/exporter/utils.js.map +1 -1
- package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts +24 -0
- package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts.map +1 -1
- package/dist/commonjs/a365/hosting/agenticTokenCache.js +40 -3
- package/dist/commonjs/a365/hosting/agenticTokenCache.js.map +1 -1
- package/dist/commonjs/a365/hosting/index.d.ts +1 -1
- package/dist/commonjs/a365/hosting/index.d.ts.map +1 -1
- package/dist/commonjs/a365/hosting/index.js +2 -1
- package/dist/commonjs/a365/hosting/index.js.map +1 -1
- package/dist/commonjs/a365/hosting/scopeUtils.js +1 -1
- package/dist/commonjs/a365/hosting/scopeUtils.js.map +1 -1
- package/dist/commonjs/a365/hosting/turnContextUtils.d.ts +6 -1
- package/dist/commonjs/a365/hosting/turnContextUtils.d.ts.map +1 -1
- package/dist/commonjs/a365/hosting/turnContextUtils.js +31 -5
- package/dist/commonjs/a365/hosting/turnContextUtils.js.map +1 -1
- package/dist/commonjs/a365/hosting/types.d.ts +48 -2
- package/dist/commonjs/a365/hosting/types.d.ts.map +1 -1
- package/dist/commonjs/a365/index.d.ts +5 -5
- package/dist/commonjs/a365/index.d.ts.map +1 -1
- package/dist/commonjs/a365/index.js +8 -2
- package/dist/commonjs/a365/index.js.map +1 -1
- package/dist/commonjs/a365/message-utils.d.ts +10 -5
- package/dist/commonjs/a365/message-utils.d.ts.map +1 -1
- package/dist/commonjs/a365/message-utils.js +27 -24
- package/dist/commonjs/a365/message-utils.js.map +1 -1
- package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts +3 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts.map +1 -1
- package/dist/commonjs/a365/processors/A365SpanProcessor.js +12 -4
- package/dist/commonjs/a365/processors/A365SpanProcessor.js.map +1 -1
- package/dist/commonjs/a365/scopes/ApplyGuardrailScope.d.ts +45 -0
- package/dist/commonjs/a365/scopes/ApplyGuardrailScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/ApplyGuardrailScope.js +132 -0
- package/dist/commonjs/a365/scopes/ApplyGuardrailScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts +8 -2
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.js +9 -1
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/commonjs/a365/scopes/OutputScope.d.ts.map +1 -1
- package/dist/commonjs/a365/scopes/OutputScope.js +2 -4
- package/dist/commonjs/a365/scopes/OutputScope.js.map +1 -1
- package/dist/commonjs/a365/scopes/index.d.ts +1 -0
- package/dist/commonjs/a365/scopes/index.d.ts.map +1 -1
- package/dist/commonjs/a365/scopes/index.js +3 -1
- package/dist/commonjs/a365/scopes/index.js.map +1 -1
- package/dist/commonjs/azureMonitor/index.d.ts +6 -6
- package/dist/commonjs/azureMonitor/index.d.ts.map +1 -1
- package/dist/commonjs/azureMonitor/index.js +3 -3
- package/dist/commonjs/azureMonitor/index.js.map +1 -1
- package/dist/commonjs/azureMonitor/logs/handler.d.ts +3 -3
- package/dist/commonjs/azureMonitor/logs/handler.js +3 -3
- package/dist/commonjs/azureMonitor/metrics/handler.d.ts +1 -1
- package/dist/commonjs/azureMonitor/metrics/handler.js +1 -1
- package/dist/commonjs/azureMonitor/metrics/performanceCounters.d.ts +2 -2
- package/dist/commonjs/azureMonitor/metrics/performanceCounters.js +2 -2
- package/dist/commonjs/azureMonitor/metrics/quickpulse/filtering/validator.js +2 -2
- package/dist/commonjs/azureMonitor/metrics/quickpulse/filtering/validator.js.map +1 -1
- package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.d.ts +4 -4
- package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
- package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.js +27 -15
- package/dist/commonjs/azureMonitor/metrics/quickpulse/liveMetrics.js.map +1 -1
- package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.js +1 -1
- package/dist/commonjs/azureMonitor/metrics/quickpulse/utils.js.map +1 -1
- package/dist/commonjs/azureMonitor/metrics/standardMetrics.d.ts +1 -1
- package/dist/commonjs/azureMonitor/metrics/standardMetrics.js +1 -1
- package/dist/commonjs/distro/autoAttach.js +2 -2
- package/dist/commonjs/distro/autoAttach.js.map +1 -1
- package/dist/commonjs/distro/distro.d.ts +2 -2
- package/dist/commonjs/distro/distro.d.ts.map +1 -1
- package/dist/commonjs/distro/distro.js +70 -36
- package/dist/commonjs/distro/distro.js.map +1 -1
- package/dist/commonjs/distro/instrumentations.d.ts +2 -2
- package/dist/commonjs/distro/instrumentations.js +2 -2
- package/dist/commonjs/distro/loader.d.ts +1 -1
- package/dist/commonjs/distro/loader.js +1 -1
- package/dist/commonjs/genai/index.d.ts +1 -0
- package/dist/commonjs/genai/index.d.ts.map +1 -1
- package/dist/commonjs/genai/index.js +9 -0
- package/dist/commonjs/genai/index.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js +11 -54
- package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts +3 -3
- package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/tracer.js +31 -9
- package/dist/commonjs/genai/instrumentations/langchain/tracer.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/utils.d.ts +6 -0
- package/dist/commonjs/genai/instrumentations/langchain/utils.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/utils.js +159 -21
- package/dist/commonjs/genai/instrumentations/langchain/utils.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/utils.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/utils.js +9 -4
- package/dist/commonjs/genai/instrumentations/openai/utils.js.map +1 -1
- package/dist/commonjs/genai/mainAgent/constants.d.ts +21 -0
- package/dist/commonjs/genai/mainAgent/constants.d.ts.map +1 -0
- package/dist/commonjs/genai/mainAgent/constants.js +26 -0
- package/dist/commonjs/genai/mainAgent/constants.js.map +1 -0
- package/dist/commonjs/genai/mainAgent/index.d.ts +3 -0
- package/dist/commonjs/genai/mainAgent/index.d.ts.map +1 -0
- package/dist/commonjs/genai/mainAgent/index.js +15 -0
- package/dist/commonjs/genai/mainAgent/index.js.map +1 -0
- package/dist/commonjs/genai/mainAgent/processor.d.ts +64 -0
- package/dist/commonjs/genai/mainAgent/processor.d.ts.map +1 -0
- package/dist/commonjs/genai/mainAgent/processor.js +150 -0
- package/dist/commonjs/genai/mainAgent/processor.js.map +1 -0
- package/dist/commonjs/genai/semconv.d.ts +3 -0
- package/dist/commonjs/genai/semconv.d.ts.map +1 -1
- package/dist/commonjs/genai/semconv.js +4 -1
- package/dist/commonjs/genai/semconv.js.map +1 -1
- package/dist/commonjs/index.d.ts +4 -3
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +16 -2
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/otlp/handler.d.ts.map +1 -1
- package/dist/commonjs/otlp/handler.js +3 -6
- package/dist/commonjs/otlp/handler.js.map +1 -1
- package/dist/commonjs/sdkstats/constants.d.ts +45 -0
- package/dist/commonjs/sdkstats/constants.d.ts.map +1 -0
- package/dist/commonjs/sdkstats/constants.js +77 -0
- package/dist/commonjs/sdkstats/constants.js.map +1 -0
- package/dist/commonjs/sdkstats/index.d.ts +6 -3
- package/dist/commonjs/sdkstats/index.d.ts.map +1 -1
- package/dist/commonjs/sdkstats/index.js +22 -4
- package/dist/commonjs/sdkstats/index.js.map +1 -1
- package/dist/commonjs/sdkstats/manager.d.ts +7 -3
- package/dist/commonjs/sdkstats/manager.d.ts.map +1 -1
- package/dist/commonjs/sdkstats/manager.js +100 -27
- package/dist/commonjs/sdkstats/manager.js.map +1 -1
- package/dist/commonjs/sdkstats/metrics.d.ts +46 -2
- package/dist/commonjs/sdkstats/metrics.d.ts.map +1 -1
- package/dist/commonjs/sdkstats/metrics.js +117 -14
- package/dist/commonjs/sdkstats/metrics.js.map +1 -1
- package/dist/commonjs/sdkstats/networkStats.d.ts +79 -0
- package/dist/commonjs/sdkstats/networkStats.d.ts.map +1 -0
- package/dist/commonjs/sdkstats/networkStats.js +191 -0
- package/dist/commonjs/sdkstats/networkStats.js.map +1 -0
- package/dist/commonjs/sdkstats/state.d.ts +10 -10
- package/dist/commonjs/sdkstats/state.d.ts.map +1 -1
- package/dist/commonjs/sdkstats/state.js +4 -4
- package/dist/commonjs/sdkstats/state.js.map +1 -1
- package/dist/commonjs/shared/config.d.ts +1 -1
- package/dist/commonjs/shared/config.js +1 -1
- package/dist/commonjs/types.d.ts +18 -18
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +89 -89
- package/dist/commonjs/types.js.map +1 -1
- package/dist/commonjs/utils/index.d.ts +1 -1
- package/dist/commonjs/utils/index.d.ts.map +1 -1
- package/dist/commonjs/utils/index.js +2 -2
- package/dist/commonjs/utils/index.js.map +1 -1
- package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.d.ts +1 -1
- package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.js +11 -11
- package/dist/commonjs/utils/opentelemetryInstrumentationPatcher.js.map +1 -1
- package/dist/commonjs/utils/sdkStats.d.ts +15 -0
- package/dist/commonjs/utils/sdkStats.d.ts.map +1 -0
- package/dist/commonjs/utils/sdkStats.js +138 -0
- package/dist/commonjs/utils/sdkStats.js.map +1 -0
- package/dist/esm/a365/configuration/A365Configuration.d.ts +3 -0
- package/dist/esm/a365/configuration/A365Configuration.d.ts.map +1 -1
- package/dist/esm/a365/configuration/A365Configuration.js +8 -3
- package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
- package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +10 -1
- package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -1
- package/dist/esm/a365/constants.d.ts +134 -3
- package/dist/esm/a365/constants.d.ts.map +1 -1
- package/dist/esm/a365/constants.js +141 -2
- package/dist/esm/a365/constants.js.map +1 -1
- package/dist/esm/a365/contracts.d.ts +246 -8
- package/dist/esm/a365/contracts.d.ts.map +1 -1
- package/dist/esm/a365/contracts.js +80 -2
- package/dist/esm/a365/contracts.js.map +1 -1
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts +33 -1
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/esm/a365/exporter/Agent365Exporter.js +135 -4
- package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +28 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js +2 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/esm/a365/exporter/AgentIdentity.d.ts +17 -0
- package/dist/esm/a365/exporter/AgentIdentity.d.ts.map +1 -0
- package/dist/esm/a365/exporter/AgentIdentity.js +4 -0
- package/dist/esm/a365/exporter/AgentIdentity.js.map +1 -0
- package/dist/esm/a365/exporter/ExporterEventNames.d.ts +3 -0
- package/dist/esm/a365/exporter/ExporterEventNames.d.ts.map +1 -1
- package/dist/esm/a365/exporter/ExporterEventNames.js +3 -0
- package/dist/esm/a365/exporter/ExporterEventNames.js.map +1 -1
- package/dist/esm/a365/exporter/TokenResolverContext.d.ts +18 -0
- package/dist/esm/a365/exporter/TokenResolverContext.d.ts.map +1 -0
- package/dist/esm/a365/exporter/TokenResolverContext.js +4 -0
- package/dist/esm/a365/exporter/TokenResolverContext.js.map +1 -0
- package/dist/esm/a365/exporter/index.d.ts +3 -1
- package/dist/esm/a365/exporter/index.d.ts.map +1 -1
- package/dist/esm/a365/exporter/index.js.map +1 -1
- package/dist/esm/a365/exporter/utils.d.ts +5 -0
- package/dist/esm/a365/exporter/utils.d.ts.map +1 -1
- package/dist/esm/a365/exporter/utils.js +22 -24
- package/dist/esm/a365/exporter/utils.js.map +1 -1
- package/dist/esm/a365/hosting/agenticTokenCache.d.ts +24 -0
- package/dist/esm/a365/hosting/agenticTokenCache.d.ts.map +1 -1
- package/dist/esm/a365/hosting/agenticTokenCache.js +40 -3
- package/dist/esm/a365/hosting/agenticTokenCache.js.map +1 -1
- package/dist/esm/a365/hosting/index.d.ts +1 -1
- package/dist/esm/a365/hosting/index.d.ts.map +1 -1
- package/dist/esm/a365/hosting/index.js +1 -1
- package/dist/esm/a365/hosting/index.js.map +1 -1
- package/dist/esm/a365/hosting/scopeUtils.js +2 -2
- package/dist/esm/a365/hosting/scopeUtils.js.map +1 -1
- package/dist/esm/a365/hosting/turnContextUtils.d.ts +6 -1
- package/dist/esm/a365/hosting/turnContextUtils.d.ts.map +1 -1
- package/dist/esm/a365/hosting/turnContextUtils.js +30 -5
- package/dist/esm/a365/hosting/turnContextUtils.js.map +1 -1
- package/dist/esm/a365/hosting/types.d.ts +48 -2
- package/dist/esm/a365/hosting/types.d.ts.map +1 -1
- package/dist/esm/a365/index.d.ts +5 -5
- package/dist/esm/a365/index.d.ts.map +1 -1
- package/dist/esm/a365/index.js +3 -3
- package/dist/esm/a365/index.js.map +1 -1
- package/dist/esm/a365/message-utils.d.ts +10 -5
- package/dist/esm/a365/message-utils.d.ts.map +1 -1
- package/dist/esm/a365/message-utils.js +28 -25
- package/dist/esm/a365/message-utils.js.map +1 -1
- package/dist/esm/a365/processors/A365SpanProcessor.d.ts +3 -0
- package/dist/esm/a365/processors/A365SpanProcessor.d.ts.map +1 -1
- package/dist/esm/a365/processors/A365SpanProcessor.js +12 -4
- package/dist/esm/a365/processors/A365SpanProcessor.js.map +1 -1
- package/dist/esm/a365/scopes/ApplyGuardrailScope.d.ts +45 -0
- package/dist/esm/a365/scopes/ApplyGuardrailScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/ApplyGuardrailScope.js +128 -0
- package/dist/esm/a365/scopes/ApplyGuardrailScope.js.map +1 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts +8 -2
- package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/esm/a365/scopes/OpenTelemetryScope.js +9 -1
- package/dist/esm/a365/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/esm/a365/scopes/OutputScope.d.ts.map +1 -1
- package/dist/esm/a365/scopes/OutputScope.js +2 -4
- package/dist/esm/a365/scopes/OutputScope.js.map +1 -1
- package/dist/esm/a365/scopes/index.d.ts +1 -0
- package/dist/esm/a365/scopes/index.d.ts.map +1 -1
- package/dist/esm/a365/scopes/index.js +1 -0
- package/dist/esm/a365/scopes/index.js.map +1 -1
- package/dist/esm/azureMonitor/index.d.ts +6 -6
- package/dist/esm/azureMonitor/index.d.ts.map +1 -1
- package/dist/esm/azureMonitor/index.js +2 -2
- package/dist/esm/azureMonitor/index.js.map +1 -1
- package/dist/esm/azureMonitor/logs/handler.d.ts +3 -3
- package/dist/esm/azureMonitor/logs/handler.js +3 -3
- package/dist/esm/azureMonitor/metrics/handler.d.ts +1 -1
- package/dist/esm/azureMonitor/metrics/handler.js +1 -1
- package/dist/esm/azureMonitor/metrics/performanceCounters.d.ts +2 -2
- package/dist/esm/azureMonitor/metrics/performanceCounters.js +2 -2
- package/dist/esm/azureMonitor/metrics/quickpulse/filtering/validator.js +2 -2
- package/dist/esm/azureMonitor/metrics/quickpulse/filtering/validator.js.map +1 -1
- package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.d.ts +4 -4
- package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
- package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.js +27 -15
- package/dist/esm/azureMonitor/metrics/quickpulse/liveMetrics.js.map +1 -1
- package/dist/esm/azureMonitor/metrics/quickpulse/utils.js +1 -1
- package/dist/esm/azureMonitor/metrics/quickpulse/utils.js.map +1 -1
- package/dist/esm/azureMonitor/metrics/standardMetrics.d.ts +1 -1
- package/dist/esm/azureMonitor/metrics/standardMetrics.js +1 -1
- package/dist/esm/distro/autoAttach.js +2 -2
- package/dist/esm/distro/autoAttach.js.map +1 -1
- package/dist/esm/distro/distro.d.ts +2 -2
- package/dist/esm/distro/distro.d.ts.map +1 -1
- package/dist/esm/distro/distro.js +62 -28
- package/dist/esm/distro/distro.js.map +1 -1
- package/dist/esm/distro/instrumentations.d.ts +2 -2
- package/dist/esm/distro/instrumentations.js +2 -2
- package/dist/esm/distro/loader.d.ts +1 -1
- package/dist/esm/distro/loader.js +1 -1
- package/dist/esm/genai/index.d.ts +1 -0
- package/dist/esm/genai/index.d.ts.map +1 -1
- package/dist/esm/genai/index.js +1 -0
- package/dist/esm/genai/index.js.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +1 -1
- package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js +11 -21
- package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/tracer.d.ts +3 -3
- package/dist/esm/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/tracer.js +31 -9
- package/dist/esm/genai/instrumentations/langchain/tracer.js.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/utils.d.ts +6 -0
- package/dist/esm/genai/instrumentations/langchain/utils.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/utils.js +155 -23
- package/dist/esm/genai/instrumentations/langchain/utils.js.map +1 -1
- package/dist/esm/genai/instrumentations/openai/utils.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/openai/utils.js +10 -5
- package/dist/esm/genai/instrumentations/openai/utils.js.map +1 -1
- package/dist/esm/genai/mainAgent/constants.d.ts +21 -0
- package/dist/esm/genai/mainAgent/constants.d.ts.map +1 -0
- package/dist/esm/genai/mainAgent/constants.js +23 -0
- package/dist/esm/genai/mainAgent/constants.js.map +1 -0
- package/dist/esm/genai/mainAgent/index.d.ts +3 -0
- package/dist/esm/genai/mainAgent/index.d.ts.map +1 -0
- package/dist/esm/genai/mainAgent/index.js +5 -0
- package/dist/esm/genai/mainAgent/index.js.map +1 -0
- package/dist/esm/genai/mainAgent/processor.d.ts +64 -0
- package/dist/esm/genai/mainAgent/processor.d.ts.map +1 -0
- package/dist/esm/genai/mainAgent/processor.js +145 -0
- package/dist/esm/genai/mainAgent/processor.js.map +1 -0
- package/dist/esm/genai/semconv.d.ts +3 -0
- package/dist/esm/genai/semconv.d.ts.map +1 -1
- package/dist/esm/genai/semconv.js +3 -0
- package/dist/esm/genai/semconv.js.map +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/otlp/handler.d.ts.map +1 -1
- package/dist/esm/otlp/handler.js +3 -6
- package/dist/esm/otlp/handler.js.map +1 -1
- package/dist/esm/sdkstats/constants.d.ts +45 -0
- package/dist/esm/sdkstats/constants.d.ts.map +1 -0
- package/dist/esm/sdkstats/constants.js +74 -0
- package/dist/esm/sdkstats/constants.js.map +1 -0
- package/dist/esm/sdkstats/index.d.ts +6 -3
- package/dist/esm/sdkstats/index.d.ts.map +1 -1
- package/dist/esm/sdkstats/index.js +4 -3
- package/dist/esm/sdkstats/index.js.map +1 -1
- package/dist/esm/sdkstats/manager.d.ts +7 -3
- package/dist/esm/sdkstats/manager.d.ts.map +1 -1
- package/dist/esm/sdkstats/manager.js +100 -27
- package/dist/esm/sdkstats/manager.js.map +1 -1
- package/dist/esm/sdkstats/metrics.d.ts +46 -2
- package/dist/esm/sdkstats/metrics.d.ts.map +1 -1
- package/dist/esm/sdkstats/metrics.js +117 -14
- package/dist/esm/sdkstats/metrics.js.map +1 -1
- package/dist/esm/sdkstats/networkStats.d.ts +79 -0
- package/dist/esm/sdkstats/networkStats.d.ts.map +1 -0
- package/dist/esm/sdkstats/networkStats.js +172 -0
- package/dist/esm/sdkstats/networkStats.js.map +1 -0
- package/dist/esm/sdkstats/state.d.ts +10 -10
- package/dist/esm/sdkstats/state.d.ts.map +1 -1
- package/dist/esm/sdkstats/state.js +4 -4
- package/dist/esm/sdkstats/state.js.map +1 -1
- package/dist/esm/shared/config.d.ts +1 -1
- package/dist/esm/shared/config.js +1 -1
- package/dist/esm/types.d.ts +18 -18
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +88 -88
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -1
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/opentelemetryInstrumentationPatcher.d.ts +1 -1
- package/dist/esm/utils/opentelemetryInstrumentationPatcher.js +12 -12
- package/dist/esm/utils/opentelemetryInstrumentationPatcher.js.map +1 -1
- package/dist/esm/utils/sdkStats.d.ts +15 -0
- package/dist/esm/utils/sdkStats.d.ts.map +1 -0
- package/dist/esm/utils/sdkStats.js +135 -0
- package/dist/esm/utils/sdkStats.js.map +1 -0
- package/package.json +38 -29
- package/dist/commonjs/utils/statsbeat.d.ts +0 -15
- package/dist/commonjs/utils/statsbeat.d.ts.map +0 -1
- package/dist/commonjs/utils/statsbeat.js +0 -127
- package/dist/commonjs/utils/statsbeat.js.map +0 -1
- package/dist/esm/utils/statsbeat.d.ts +0 -15
- package/dist/esm/utils/statsbeat.d.ts.map +0 -1
- package/dist/esm/utils/statsbeat.js +0 -124
- package/dist/esm/utils/statsbeat.js.map +0 -1
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
* caller-supplied `MeterProvider`.
|
|
9
9
|
*
|
|
10
10
|
* Mirrors `src/microsoft/opentelemetry/_sdkstats/_metrics.py` from the
|
|
11
|
-
* Python
|
|
11
|
+
* Python implementation.
|
|
12
12
|
*/
|
|
13
13
|
import os from "node:os";
|
|
14
14
|
import { MICROSOFT_OPENTELEMETRY_VERSION } from "../types.js";
|
|
15
15
|
import { getSdkStatsFeatureFlags, getSdkStatsInstrumentationFlags } from "./state.js";
|
|
16
|
+
import { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, drain, } from "./networkStats.js";
|
|
16
17
|
/**
|
|
17
18
|
* Feature SDKStats `type` dimension values, per the Application Insights
|
|
18
19
|
* SDKStats specification.
|
|
@@ -23,29 +24,116 @@ export const FEATURE_TYPE_FEATURE = 0;
|
|
|
23
24
|
export const FEATURE_TYPE_INSTRUMENTATION = 1;
|
|
24
25
|
const FEATURE_METRIC_NAME = "Feature";
|
|
25
26
|
const INSTRUMENTATION_METRIC_NAME = "Feature.instrumentations";
|
|
26
|
-
const
|
|
27
|
+
const SDKSTATS_LANGUAGE = "node";
|
|
28
|
+
const NETWORK_GAUGE_SPECS = [
|
|
29
|
+
{
|
|
30
|
+
metric: REQUEST_SUCCESS_NAME,
|
|
31
|
+
unit: "count",
|
|
32
|
+
description: "Number of successful HTTP exports per endpoint",
|
|
33
|
+
keyAttributes: ["endpoint", "host"],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
metric: REQUEST_FAILURE_NAME,
|
|
37
|
+
unit: "count",
|
|
38
|
+
description: "Number of failed HTTP exports per endpoint, broken down by status code",
|
|
39
|
+
keyAttributes: ["endpoint", "host", "statusCode"],
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
metric: REQUEST_DURATION_NAME,
|
|
43
|
+
unit: "ms",
|
|
44
|
+
description: "Average HTTP export request duration per endpoint",
|
|
45
|
+
keyAttributes: ["endpoint", "host"],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
metric: RETRY_COUNT_NAME,
|
|
49
|
+
unit: "count",
|
|
50
|
+
description: "Number of HTTP exports that returned a retryable status code",
|
|
51
|
+
keyAttributes: ["endpoint", "host", "statusCode"],
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
metric: THROTTLE_COUNT_NAME,
|
|
55
|
+
unit: "count",
|
|
56
|
+
description: "Number of HTTP exports that returned a throttling status code (402/439)",
|
|
57
|
+
keyAttributes: ["endpoint", "host", "statusCode"],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
metric: EXCEPTION_COUNT_NAME,
|
|
61
|
+
unit: "count",
|
|
62
|
+
description: "Number of HTTP exports that raised an exception (no HTTP response)",
|
|
63
|
+
keyAttributes: ["endpoint", "host", "exceptionType"],
|
|
64
|
+
},
|
|
65
|
+
];
|
|
27
66
|
/**
|
|
28
67
|
* Registers observable gauges that emit feature/instrumentation data
|
|
29
|
-
* derived from the global SDKStats state
|
|
68
|
+
* derived from the global SDKStats state, plus per-export network
|
|
69
|
+
* SDKStats counters drained from {@link ./networkStats.js}.
|
|
30
70
|
*/
|
|
31
71
|
export class SdkStatsMetrics {
|
|
32
72
|
commonAttributes;
|
|
33
|
-
constructor(
|
|
34
|
-
|
|
73
|
+
constructor(providerOrOptions, legacyOptions) {
|
|
74
|
+
let longMeterProvider;
|
|
75
|
+
let shortMeterProvider;
|
|
76
|
+
let distroVersion;
|
|
77
|
+
let networkOnly;
|
|
78
|
+
let cikey;
|
|
79
|
+
if ("shortMeterProvider" in providerOrOptions) {
|
|
80
|
+
// New options-object overload
|
|
81
|
+
longMeterProvider = providerOrOptions.longMeterProvider;
|
|
82
|
+
shortMeterProvider = providerOrOptions.shortMeterProvider;
|
|
83
|
+
distroVersion = providerOrOptions.distroVersion;
|
|
84
|
+
networkOnly = providerOrOptions.networkOnly ?? false;
|
|
85
|
+
cikey = providerOrOptions.cikey;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// Legacy single-provider overload (used by tests)
|
|
89
|
+
longMeterProvider = providerOrOptions;
|
|
90
|
+
shortMeterProvider = providerOrOptions;
|
|
91
|
+
distroVersion = legacyOptions?.distroVersion;
|
|
92
|
+
networkOnly = legacyOptions?.networkOnly ?? false;
|
|
93
|
+
cikey = legacyOptions?.cikey;
|
|
94
|
+
}
|
|
95
|
+
// Per spec/sdkstats.md the required customDimensions on every
|
|
96
|
+
// SDKStats observation are: rp, attach, runtimeVersion, os,
|
|
97
|
+
// language, version, cikey (plus endpoint/host on network gauges and
|
|
98
|
+
// statusCode/exceptionType where applicable). `cikey` falls back to
|
|
99
|
+
// "N/A" when unset.
|
|
35
100
|
this.commonAttributes = {
|
|
101
|
+
rp: "unknown",
|
|
102
|
+
attach: "Manual",
|
|
36
103
|
runtimeVersion: process.version,
|
|
37
104
|
os: os.type(),
|
|
38
|
-
language:
|
|
105
|
+
language: SDKSTATS_LANGUAGE,
|
|
39
106
|
version: distroVersion || MICROSOFT_OPENTELEMETRY_VERSION,
|
|
107
|
+
cikey: cikey || "N/A",
|
|
40
108
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
109
|
+
// Feature / instrumentation bitmask gauges are skipped when running
|
|
110
|
+
// alongside the Azure Monitor exporter's own SDKStats — that pipeline
|
|
111
|
+
// already emits them (with our feature bits bridged in via
|
|
112
|
+
// `_bridge_sdkstats_to_azure_monitor`) and would collide with these.
|
|
113
|
+
// These gauges are registered on the long-interval MeterProvider.
|
|
114
|
+
if (!networkOnly && longMeterProvider) {
|
|
115
|
+
const longMeter = longMeterProvider.getMeter("microsoft.opentelemetry.sdkstats");
|
|
116
|
+
const featureGauge = longMeter.createObservableGauge(FEATURE_METRIC_NAME, {
|
|
117
|
+
description: "SDKStats metric tracking enabled features",
|
|
118
|
+
});
|
|
119
|
+
featureGauge.addCallback(this.observeFeatures);
|
|
120
|
+
const instrumentationGauge = longMeter.createObservableGauge(INSTRUMENTATION_METRIC_NAME, {
|
|
121
|
+
description: "SDKStats metric tracking enabled instrumentations",
|
|
122
|
+
});
|
|
123
|
+
instrumentationGauge.addCallback(this.observeInstrumentations);
|
|
124
|
+
}
|
|
125
|
+
// Network SDKStats gauges — always registered on the short-interval
|
|
126
|
+
// MeterProvider. Each callback drains the counts accumulated by
|
|
127
|
+
// exporters between observations and emits one Observation per
|
|
128
|
+
// (endpoint, host) tuple.
|
|
129
|
+
const shortMeter = shortMeterProvider.getMeter("microsoft.opentelemetry.sdkstats.network");
|
|
130
|
+
for (const spec of NETWORK_GAUGE_SPECS) {
|
|
131
|
+
const gauge = shortMeter.createObservableGauge(spec.metric, {
|
|
132
|
+
unit: spec.unit,
|
|
133
|
+
description: spec.description,
|
|
134
|
+
});
|
|
135
|
+
gauge.addCallback(this.makeNetworkCallback(spec));
|
|
136
|
+
}
|
|
49
137
|
}
|
|
50
138
|
observeFeatures = (result) => {
|
|
51
139
|
const featureBits = getSdkStatsFeatureFlags();
|
|
@@ -73,5 +161,20 @@ export class SdkStatsMetrics {
|
|
|
73
161
|
type: FEATURE_TYPE_INSTRUMENTATION,
|
|
74
162
|
});
|
|
75
163
|
};
|
|
164
|
+
makeNetworkCallback(spec) {
|
|
165
|
+
return (result) => {
|
|
166
|
+
for (const [key, value] of drain(spec.metric)) {
|
|
167
|
+
const attrs = { ...this.commonAttributes };
|
|
168
|
+
for (let i = 0; i < spec.keyAttributes.length; i++) {
|
|
169
|
+
const name = spec.keyAttributes[i];
|
|
170
|
+
const part = key[i];
|
|
171
|
+
if (part !== undefined) {
|
|
172
|
+
attrs[name] = part;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
result.observe(value, attrs);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
}
|
|
76
179
|
}
|
|
77
180
|
//# sourceMappingURL=metrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/sdkstats/metrics.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/sdkstats/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network SDKStats accumulator for SDK self-telemetry.
|
|
3
|
+
*
|
|
4
|
+
* Per-export counters and timings for telemetry exporters. Exporters call
|
|
5
|
+
* the {@link recordSuccess} / {@link recordFailure} / {@link recordRetry} /
|
|
6
|
+
* {@link recordThrottle} / {@link recordException} / {@link recordDuration}
|
|
7
|
+
* functions after each transmit; the {@link SdkStatsMetrics}
|
|
8
|
+
* observable-gauge callbacks drain the accumulated counts on each export
|
|
9
|
+
* interval.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors `src/microsoft/opentelemetry/_sdkstats/_utils.py` from the Python
|
|
12
|
+
* implementation.
|
|
13
|
+
*/
|
|
14
|
+
import { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, type NetworkMetricName } from "./constants.js";
|
|
15
|
+
export { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, };
|
|
16
|
+
export type { NetworkMetricName };
|
|
17
|
+
/**
|
|
18
|
+
* Composite key for an aggregated network SDKStats counter.
|
|
19
|
+
*
|
|
20
|
+
* Per the Application Insights SDKStats spec the per-key dimensions are
|
|
21
|
+
* `endpoint` (category, e.g. "a365") and `host` (stamp-specific
|
|
22
|
+
* region or hostname), optionally followed by a third dimension —
|
|
23
|
+
* `statusCode` (failure/retry/throttle) or `exceptionType` (exception).
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export type NetworkKey = readonly string[];
|
|
28
|
+
export declare function recordSuccess(endpoint: string, host: string): void;
|
|
29
|
+
export declare function recordFailure(endpoint: string, host: string, statusCode: number | string): void;
|
|
30
|
+
export declare function recordRetry(endpoint: string, host: string, statusCode: number | string): void;
|
|
31
|
+
export declare function recordThrottle(endpoint: string, host: string, statusCode: number | string): void;
|
|
32
|
+
export declare function recordException(endpoint: string, host: string, exceptionType: string): void;
|
|
33
|
+
export declare function recordDuration(endpoint: string, host: string, durationMs: number): void;
|
|
34
|
+
/**
|
|
35
|
+
* Classification of an HTTP status code per the Application Insights
|
|
36
|
+
* SDKStats Network specification.
|
|
37
|
+
*
|
|
38
|
+
* - `success`: 200 (and 206 if all envelopes were accepted — handled by
|
|
39
|
+
* the caller, this helper only returns the bucket for a single response
|
|
40
|
+
* code).
|
|
41
|
+
* - `retry`: 401, 403, 408, 429, 500, 502, 503, 504.
|
|
42
|
+
* - `throttle`: 402, 439.
|
|
43
|
+
* - `failure`: everything else (excluding redirects 307/308 which are
|
|
44
|
+
* followed transparently and never reported).
|
|
45
|
+
*/
|
|
46
|
+
export type StatusCodeKind = "success" | "retry" | "throttle" | "failure" | "ignored";
|
|
47
|
+
export declare function classifyStatusCode(status: number): StatusCodeKind;
|
|
48
|
+
/**
|
|
49
|
+
* Compute the stamp-specific short host for the SDKStats `host` dimension.
|
|
50
|
+
*
|
|
51
|
+
* Mirrors `getShortHost` in the AzMon exporter's `NetworkStatsbeatMetrics` class
|
|
52
|
+
* but additionally strips any trailing port (`:4318`) so localhost-style
|
|
53
|
+
* URLs report a clean `localhost` instead of `localhost:4318`. Examples:
|
|
54
|
+
* `https://westus2-1.in.applicationinsights.azure.com` → `westus2`
|
|
55
|
+
* `http://localhost:4318/v1/traces` → `localhost`
|
|
56
|
+
* `https://collector.example.com:8080` → `collector`
|
|
57
|
+
* `https://my-otlp-collector.example.com` → `my-otlp-collector`
|
|
58
|
+
* For non-URL inputs, returns the hostname or the raw input on failure.
|
|
59
|
+
*
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
export declare function shortHost(input: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Atomically return and reset the counts for `metric`.
|
|
65
|
+
*
|
|
66
|
+
* Used by the observable-gauge callbacks so each observation reports only
|
|
67
|
+
* the delta accumulated during the export interval.
|
|
68
|
+
*
|
|
69
|
+
* For {@link REQUEST_DURATION_NAME} the reported value is the average of
|
|
70
|
+
* all durations recorded since the previous drain, per the spec
|
|
71
|
+
* ("Request_Duration ... avg request duration during the scheduled
|
|
72
|
+
* interval").
|
|
73
|
+
*/
|
|
74
|
+
export declare function drain(metric: NetworkMetricName): Map<NetworkKey, number>;
|
|
75
|
+
/**
|
|
76
|
+
* @internal Test-only: clear all network SDKStats counters.
|
|
77
|
+
*/
|
|
78
|
+
export declare function _resetAllForTest(): void;
|
|
79
|
+
//# sourceMappingURL=networkStats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkStats.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/networkStats.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAOH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EAIpB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,CAAC;AACF,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,MAAM,EAAE,CAAC;AA0C3C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAElE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE/F;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7F;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhG;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAE3F;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAUvF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAMjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwB/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAgBxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Network SDKStats accumulator for SDK self-telemetry.
|
|
5
|
+
*
|
|
6
|
+
* Per-export counters and timings for telemetry exporters. Exporters call
|
|
7
|
+
* the {@link recordSuccess} / {@link recordFailure} / {@link recordRetry} /
|
|
8
|
+
* {@link recordThrottle} / {@link recordException} / {@link recordDuration}
|
|
9
|
+
* functions after each transmit; the {@link SdkStatsMetrics}
|
|
10
|
+
* observable-gauge callbacks drain the accumulated counts on each export
|
|
11
|
+
* interval.
|
|
12
|
+
*
|
|
13
|
+
* Mirrors `src/microsoft/opentelemetry/_sdkstats/_utils.py` from the Python
|
|
14
|
+
* implementation.
|
|
15
|
+
*/
|
|
16
|
+
// Wire-format metric names and the set of HTTP status-code buckets used
|
|
17
|
+
// below live in `./constants.js` so the A365 exporter wrapper can
|
|
18
|
+
// share a single source of truth. Re-exported here for backwards
|
|
19
|
+
// compatibility with existing imports of these symbols from
|
|
20
|
+
// `./networkStats.js`.
|
|
21
|
+
import { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, RETRY_STATUSES, THROTTLE_STATUSES, IGNORED_STATUSES, } from "./constants.js";
|
|
22
|
+
export { REQUEST_SUCCESS_NAME, REQUEST_FAILURE_NAME, REQUEST_DURATION_NAME, RETRY_COUNT_NAME, THROTTLE_COUNT_NAME, EXCEPTION_COUNT_NAME, NETWORK_METRIC_NAMES, };
|
|
23
|
+
const REQUESTS_MAP = {
|
|
24
|
+
[REQUEST_SUCCESS_NAME]: new Map(),
|
|
25
|
+
[REQUEST_FAILURE_NAME]: new Map(),
|
|
26
|
+
[RETRY_COUNT_NAME]: new Map(),
|
|
27
|
+
[THROTTLE_COUNT_NAME]: new Map(),
|
|
28
|
+
[EXCEPTION_COUNT_NAME]: new Map(),
|
|
29
|
+
};
|
|
30
|
+
const DURATION_MAP = new Map();
|
|
31
|
+
// `Map` keys are compared by identity for arrays/objects, so we serialize
|
|
32
|
+
// the key tuple to a string. The `\u0000` separator can't appear in a URL
|
|
33
|
+
// hostname, HTTP status code, or exception-type string, so this is
|
|
34
|
+
// unambiguous.
|
|
35
|
+
const KEY_SEPARATOR = "\u0000";
|
|
36
|
+
function encodeKey(key) {
|
|
37
|
+
return key.join(KEY_SEPARATOR);
|
|
38
|
+
}
|
|
39
|
+
function decodeKey(encoded) {
|
|
40
|
+
return encoded.split(KEY_SEPARATOR);
|
|
41
|
+
}
|
|
42
|
+
function bump(metric, key, value = 1) {
|
|
43
|
+
const bucket = REQUESTS_MAP[metric];
|
|
44
|
+
const encoded = encodeKey(key);
|
|
45
|
+
bucket.set(encoded, (bucket.get(encoded) ?? 0) + value);
|
|
46
|
+
}
|
|
47
|
+
export function recordSuccess(endpoint, host) {
|
|
48
|
+
bump(REQUEST_SUCCESS_NAME, [endpoint, host]);
|
|
49
|
+
}
|
|
50
|
+
export function recordFailure(endpoint, host, statusCode) {
|
|
51
|
+
bump(REQUEST_FAILURE_NAME, [endpoint, host, String(statusCode)]);
|
|
52
|
+
}
|
|
53
|
+
export function recordRetry(endpoint, host, statusCode) {
|
|
54
|
+
bump(RETRY_COUNT_NAME, [endpoint, host, String(statusCode)]);
|
|
55
|
+
}
|
|
56
|
+
export function recordThrottle(endpoint, host, statusCode) {
|
|
57
|
+
bump(THROTTLE_COUNT_NAME, [endpoint, host, String(statusCode)]);
|
|
58
|
+
}
|
|
59
|
+
export function recordException(endpoint, host, exceptionType) {
|
|
60
|
+
bump(EXCEPTION_COUNT_NAME, [endpoint, host, exceptionType]);
|
|
61
|
+
}
|
|
62
|
+
export function recordDuration(endpoint, host, durationMs) {
|
|
63
|
+
if (!Number.isFinite(durationMs) || durationMs < 0)
|
|
64
|
+
return;
|
|
65
|
+
const encoded = encodeKey([endpoint, host]);
|
|
66
|
+
const existing = DURATION_MAP.get(encoded);
|
|
67
|
+
if (existing) {
|
|
68
|
+
existing.sum += durationMs;
|
|
69
|
+
existing.count += 1;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
DURATION_MAP.set(encoded, { sum: durationMs, count: 1 });
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export function classifyStatusCode(status) {
|
|
76
|
+
if (status >= 200 && status < 300 && status !== 206)
|
|
77
|
+
return "success";
|
|
78
|
+
if (IGNORED_STATUSES.has(status))
|
|
79
|
+
return "ignored";
|
|
80
|
+
if (THROTTLE_STATUSES.has(status))
|
|
81
|
+
return "throttle";
|
|
82
|
+
if (RETRY_STATUSES.has(status))
|
|
83
|
+
return "retry";
|
|
84
|
+
return "failure";
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Compute the stamp-specific short host for the SDKStats `host` dimension.
|
|
88
|
+
*
|
|
89
|
+
* Mirrors `getShortHost` in the AzMon exporter's `NetworkStatsbeatMetrics` class
|
|
90
|
+
* but additionally strips any trailing port (`:4318`) so localhost-style
|
|
91
|
+
* URLs report a clean `localhost` instead of `localhost:4318`. Examples:
|
|
92
|
+
* `https://westus2-1.in.applicationinsights.azure.com` → `westus2`
|
|
93
|
+
* `http://localhost:4318/v1/traces` → `localhost`
|
|
94
|
+
* `https://collector.example.com:8080` → `collector`
|
|
95
|
+
* `https://my-otlp-collector.example.com` → `my-otlp-collector`
|
|
96
|
+
* For non-URL inputs, returns the hostname or the raw input on failure.
|
|
97
|
+
*
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
export function shortHost(input) {
|
|
101
|
+
if (!input)
|
|
102
|
+
return "unknown";
|
|
103
|
+
let host = input;
|
|
104
|
+
try {
|
|
105
|
+
const hostRegex = /^https?:\/\/(?:www\.)?([^/.]+)/;
|
|
106
|
+
const res = hostRegex.exec(input);
|
|
107
|
+
if (res && res.length > 1) {
|
|
108
|
+
host = res[1];
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
try {
|
|
112
|
+
host = new URL(input).hostname || input;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
host = input;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
host = host.replace(".in.applicationinsights.azure.com", "");
|
|
119
|
+
// Strip Azure stamp suffix (e.g. westus2-1 → westus2)
|
|
120
|
+
host = host.replace(/-\d+$/, "");
|
|
121
|
+
const colon = host.indexOf(":");
|
|
122
|
+
if (colon > 0)
|
|
123
|
+
host = host.slice(0, colon);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
/* fall through */
|
|
127
|
+
}
|
|
128
|
+
return host;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Atomically return and reset the counts for `metric`.
|
|
132
|
+
*
|
|
133
|
+
* Used by the observable-gauge callbacks so each observation reports only
|
|
134
|
+
* the delta accumulated during the export interval.
|
|
135
|
+
*
|
|
136
|
+
* For {@link REQUEST_DURATION_NAME} the reported value is the average of
|
|
137
|
+
* all durations recorded since the previous drain, per the spec
|
|
138
|
+
* ("Request_Duration ... avg request duration during the scheduled
|
|
139
|
+
* interval").
|
|
140
|
+
*/
|
|
141
|
+
export function drain(metric) {
|
|
142
|
+
const snapshot = new Map();
|
|
143
|
+
if (metric === REQUEST_DURATION_NAME) {
|
|
144
|
+
for (const [encoded, acc] of DURATION_MAP) {
|
|
145
|
+
if (acc.count === 0)
|
|
146
|
+
continue;
|
|
147
|
+
snapshot.set(decodeKey(encoded), acc.sum / acc.count);
|
|
148
|
+
}
|
|
149
|
+
DURATION_MAP.clear();
|
|
150
|
+
return snapshot;
|
|
151
|
+
}
|
|
152
|
+
const bucket = REQUESTS_MAP[metric];
|
|
153
|
+
for (const [encoded, value] of bucket) {
|
|
154
|
+
snapshot.set(decodeKey(encoded), value);
|
|
155
|
+
}
|
|
156
|
+
bucket.clear();
|
|
157
|
+
return snapshot;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* @internal Test-only: clear all network SDKStats counters.
|
|
161
|
+
*/
|
|
162
|
+
export function _resetAllForTest() {
|
|
163
|
+
for (const name of NETWORK_METRIC_NAMES) {
|
|
164
|
+
if (name === REQUEST_DURATION_NAME) {
|
|
165
|
+
DURATION_MAP.clear();
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
REQUESTS_MAP[name].clear();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=networkStats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkStats.js","sourceRoot":"","sources":["../../../src/sdkstats/networkStats.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Feature and instrumentation flags are stored as bitmasks so they can be
|
|
5
5
|
* combined and reported efficiently. The bitmask values are intentionally
|
|
6
|
-
* compatible with the Azure Monitor Exporter
|
|
7
|
-
* Azure Monitor consumers see no behavioural change when
|
|
8
|
-
*
|
|
6
|
+
* compatible with the Azure Monitor Exporter SDKStats encoding so that
|
|
7
|
+
* Azure Monitor consumers see no behavioural change when our bits are
|
|
8
|
+
* bridged into the exporter's existing pipeline.
|
|
9
9
|
*
|
|
10
10
|
* Mirrors `src/microsoft/opentelemetry/_sdkstats/_state.py` from the
|
|
11
|
-
* Python
|
|
11
|
+
* Python implementation (microsoft/opentelemetry-distro-python#89).
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
13
|
+
import { SdkStatsFeature, SdkStatsInstrumentation } from "../types.js";
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
* {@link
|
|
15
|
+
* Microsoft OpenTelemetry specific feature flags, in addition to the
|
|
16
|
+
* {@link SdkStatsFeature} flags shared with the Azure Monitor exporter.
|
|
17
17
|
*
|
|
18
18
|
* These bit values intentionally start above the values used by
|
|
19
|
-
* {@link
|
|
19
|
+
* {@link SdkStatsFeature} so that the bits and exporter bits can be
|
|
20
20
|
* OR-combined into a single 64-bit mask without collision.
|
|
21
21
|
*/
|
|
22
22
|
export declare enum SdkStatsDistroFeature {
|
|
@@ -45,9 +45,9 @@ export declare const APPLICATIONINSIGHTS_STATSBEAT_DISABLED_ALL = "APPLICATIONIN
|
|
|
45
45
|
* Return `true` unless SDKStats has been disabled via env var.
|
|
46
46
|
*/
|
|
47
47
|
export declare function isSdkStatsEnabled(): boolean;
|
|
48
|
-
export declare function setSdkStatsFeature(flag:
|
|
48
|
+
export declare function setSdkStatsFeature(flag: SdkStatsFeature | SdkStatsDistroFeature): void;
|
|
49
49
|
export declare function getSdkStatsFeatureFlags(): number;
|
|
50
|
-
export declare function setSdkStatsInstrumentation(flag:
|
|
50
|
+
export declare function setSdkStatsInstrumentation(flag: SdkStatsInstrumentation): void;
|
|
51
51
|
export declare function getSdkStatsInstrumentationFlags(): number;
|
|
52
52
|
export declare function setSdkStatsShutdown(shutdown?: boolean): void;
|
|
53
53
|
export declare function getSdkStatsShutdown(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/state.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/sdkstats/state.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;;;;GAOG;AACH,oBAAY,qBAAqB;IAC/B,IAAI,IAAI;IACR,WAAW,MAAM;IACjB,WAAW,OAAO;IAClB,cAAc,OAAO;CACtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,qCAAqC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,0CAA0C,+CACT,CAAC;AAI/C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAS3C;AAYD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,qBAAqB,GAAG,IAAI,CAEtF;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAE9E;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,UAAO,GAAG,IAAI,CAEzD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* {@link
|
|
4
|
+
* Microsoft OpenTelemetry specific feature flags, in addition to the
|
|
5
|
+
* {@link SdkStatsFeature} flags shared with the Azure Monitor exporter.
|
|
6
6
|
*
|
|
7
7
|
* These bit values intentionally start above the values used by
|
|
8
|
-
* {@link
|
|
8
|
+
* {@link SdkStatsFeature} so that the bits and exporter bits can be
|
|
9
9
|
* OR-combined into a single 64-bit mask without collision.
|
|
10
10
|
*/
|
|
11
11
|
export var SdkStatsDistroFeature;
|
|
@@ -48,7 +48,7 @@ export function isSdkStatsEnabled() {
|
|
|
48
48
|
}
|
|
49
49
|
// ---------------------------------------------------------------------------
|
|
50
50
|
// Mutable global state — kept module-local to ensure a single source of truth
|
|
51
|
-
// across the
|
|
51
|
+
// across the process. Node.js executes JS in a single thread (modulo
|
|
52
52
|
// worker_threads), so no explicit locking is needed.
|
|
53
53
|
// ---------------------------------------------------------------------------
|
|
54
54
|
let _featureBits = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/sdkstats/state.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAiBlC;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iEAAQ,CAAA;IACR,iFAAiB,CAAA;IACjB,kFAAkB,CAAA;IAClB,wFAAqB,CAAA;AACvB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,4CAA4C,CAAC;AAE/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,KAAK,MAAM,MAAM,IAAI,CAAC,qBAAqB,EAAE,0CAA0C,CAAC,EAAE,CAAC;QACzF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/sdkstats/state.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAiBlC;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iEAAQ,CAAA;IACR,iFAAiB,CAAA;IACjB,kFAAkB,CAAA;IAClB,wFAAqB,CAAA;AACvB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,4CAA4C,CAAC;AAE/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,KAAK,MAAM,MAAM,IAAI,CAAC,qBAAqB,EAAE,0CAA0C,CAAC,EAAE,CAAC;QACzF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,qEAAqE;AACrE,qDAAqD;AACrD,8EAA8E;AAE9E,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,UAAU,kBAAkB,CAAC,IAA6C;IAC9E,YAAY,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAA6B;IACtE,oBAAoB,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAQ,GAAG,IAAI;IACjD,SAAS,GAAG,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,YAAY,GAAG,CAAC,CAAC;IACjB,oBAAoB,GAAG,CAAC,CAAC;IACzB,SAAS,GAAG,KAAK,CAAC;AACpB,CAAC"}
|
|
@@ -37,7 +37,7 @@ export declare class InternalConfig {
|
|
|
37
37
|
browserSdkLoaderOptions: BrowserSdkLoaderOptions;
|
|
38
38
|
/**
|
|
39
39
|
* Initializes a new instance of InternalConfig.
|
|
40
|
-
* Accepts MicrosoftOpenTelemetryOptions (
|
|
40
|
+
* Accepts MicrosoftOpenTelemetryOptions (top-level) — global options come
|
|
41
41
|
* from the top level, Azure Monitor-specific options from the azureMonitor key.
|
|
42
42
|
*/
|
|
43
43
|
constructor(options?: MicrosoftOpenTelemetryOptions);
|
|
@@ -42,7 +42,7 @@ export class InternalConfig {
|
|
|
42
42
|
browserSdkLoaderOptions;
|
|
43
43
|
/**
|
|
44
44
|
* Initializes a new instance of InternalConfig.
|
|
45
|
-
* Accepts MicrosoftOpenTelemetryOptions (
|
|
45
|
+
* Accepts MicrosoftOpenTelemetryOptions (top-level) — global options come
|
|
46
46
|
* from the top level, Azure Monitor-specific options from the azureMonitor key.
|
|
47
47
|
*/
|
|
48
48
|
constructor(options) {
|