@microsoft/agents-a365-observability 0.1.0-preview.95 → 0.2.0-preview.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.
- package/dist/cjs/ObservabilityBuilder.d.ts +24 -1
- package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -1
- package/dist/cjs/ObservabilityBuilder.js +39 -12
- package/dist/cjs/ObservabilityBuilder.js.map +1 -1
- package/dist/cjs/ObservabilityManager.d.ts.map +1 -1
- package/dist/cjs/ObservabilityManager.js +3 -0
- package/dist/cjs/ObservabilityManager.js.map +1 -1
- package/dist/cjs/configuration/ObservabilityConfiguration.d.ts +19 -0
- package/dist/cjs/configuration/ObservabilityConfiguration.d.ts.map +1 -0
- package/dist/cjs/configuration/ObservabilityConfiguration.js +60 -0
- package/dist/cjs/configuration/ObservabilityConfiguration.js.map +1 -0
- package/dist/cjs/configuration/ObservabilityConfigurationOptions.d.ts +58 -0
- package/dist/cjs/configuration/ObservabilityConfigurationOptions.d.ts.map +1 -0
- package/dist/cjs/configuration/ObservabilityConfigurationOptions.js +5 -0
- package/dist/cjs/configuration/ObservabilityConfigurationOptions.js.map +1 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.d.ts +22 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.d.ts.map +1 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.js +73 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.js.map +1 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts +71 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts.map +1 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.js +5 -0
- package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.js.map +1 -0
- package/dist/cjs/configuration/index.d.ts +16 -0
- package/dist/cjs/configuration/index.d.ts.map +1 -0
- package/dist/cjs/configuration/index.js +35 -0
- package/dist/cjs/configuration/index.js.map +1 -0
- package/dist/cjs/index.d.ts +11 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +45 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/PerRequestProcessorInternalOverrides.d.ts +4 -0
- package/dist/cjs/internal/PerRequestProcessorInternalOverrides.d.ts.map +1 -0
- package/dist/cjs/internal/PerRequestProcessorInternalOverrides.js +15 -0
- package/dist/cjs/internal/PerRequestProcessorInternalOverrides.js.map +1 -0
- package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts +10 -3
- package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts.map +1 -1
- package/dist/cjs/tracing/PerRequestSpanProcessor.js +14 -23
- package/dist/cjs/tracing/PerRequestSpanProcessor.js.map +1 -1
- package/dist/cjs/tracing/constants.d.ts +35 -35
- package/dist/cjs/tracing/constants.d.ts.map +1 -1
- package/dist/cjs/tracing/constants.js +42 -40
- package/dist/cjs/tracing/constants.js.map +1 -1
- package/dist/cjs/tracing/context/parent-span-context.d.ts +11 -2
- package/dist/cjs/tracing/context/parent-span-context.d.ts.map +1 -1
- package/dist/cjs/tracing/context/parent-span-context.js +10 -5
- package/dist/cjs/tracing/context/parent-span-context.js.map +1 -1
- package/dist/cjs/tracing/context/token-context.d.ts +14 -0
- package/dist/cjs/tracing/context/token-context.d.ts.map +1 -1
- package/dist/cjs/tracing/context/token-context.js +35 -2
- package/dist/cjs/tracing/context/token-context.js.map +1 -1
- package/dist/cjs/tracing/context/trace-context-propagation.d.ts +68 -0
- package/dist/cjs/tracing/context/trace-context-propagation.d.ts.map +1 -0
- package/dist/cjs/tracing/context/trace-context-propagation.js +85 -0
- package/dist/cjs/tracing/context/trace-context-propagation.js.map +1 -0
- package/dist/cjs/tracing/contracts.d.ts +229 -62
- package/dist/cjs/tracing/contracts.d.ts.map +1 -1
- package/dist/cjs/tracing/contracts.js +39 -18
- package/dist/cjs/tracing/contracts.js.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts +9 -4
- package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365Exporter.js +53 -46
- package/dist/cjs/tracing/exporter/Agent365Exporter.js.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts +8 -5
- package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js +11 -7
- package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/cjs/tracing/exporter/ExporterEventNames.d.ts +20 -0
- package/dist/cjs/tracing/exporter/ExporterEventNames.d.ts.map +1 -0
- package/dist/cjs/tracing/exporter/ExporterEventNames.js +26 -0
- package/dist/cjs/tracing/exporter/ExporterEventNames.js.map +1 -0
- package/dist/cjs/tracing/exporter/utils.d.ts +24 -11
- package/dist/cjs/tracing/exporter/utils.d.ts.map +1 -1
- package/dist/cjs/tracing/exporter/utils.js +354 -33
- package/dist/cjs/tracing/exporter/utils.js.map +1 -1
- package/dist/cjs/tracing/message-utils.d.ts +36 -0
- package/dist/cjs/tracing/message-utils.d.ts.map +1 -0
- package/dist/cjs/tracing/message-utils.js +90 -0
- package/dist/cjs/tracing/message-utils.js.map +1 -0
- package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts +32 -44
- package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
- package/dist/cjs/tracing/middleware/BaggageBuilder.js +49 -62
- package/dist/cjs/tracing/middleware/BaggageBuilder.js.map +1 -1
- package/dist/cjs/tracing/processors/SpanProcessor.d.ts.map +1 -1
- package/dist/cjs/tracing/processors/SpanProcessor.js +12 -3
- package/dist/cjs/tracing/processors/SpanProcessor.js.map +1 -1
- package/dist/cjs/tracing/processors/util.d.ts.map +1 -1
- package/dist/cjs/tracing/processors/util.js +16 -22
- package/dist/cjs/tracing/processors/util.js.map +1 -1
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts +10 -11
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js +26 -20
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts +20 -24
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/InferenceScope.js +53 -48
- package/dist/cjs/tracing/scopes/InferenceScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts +17 -12
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js +55 -54
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts +43 -12
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +114 -30
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/OutputScope.d.ts +33 -0
- package/dist/cjs/tracing/scopes/OutputScope.d.ts.map +1 -0
- package/dist/cjs/tracing/scopes/OutputScope.js +80 -0
- package/dist/cjs/tracing/scopes/OutputScope.js.map +1 -0
- package/dist/cjs/tracing/util.d.ts +14 -1
- package/dist/cjs/tracing/util.d.ts.map +1 -1
- package/dist/cjs/tracing/util.js +38 -7
- package/dist/cjs/tracing/util.js.map +1 -1
- package/dist/cjs/utils/logging.d.ts +45 -2
- package/dist/cjs/utils/logging.d.ts.map +1 -1
- package/dist/cjs/utils/logging.js +53 -79
- package/dist/cjs/utils/logging.js.map +1 -1
- package/dist/cjs/version.d.ts +2 -0
- package/dist/cjs/version.d.ts.map +1 -0
- package/dist/cjs/version.js +5 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/ObservabilityBuilder.d.ts +24 -1
- package/dist/esm/ObservabilityBuilder.d.ts.map +1 -1
- package/dist/esm/ObservabilityBuilder.js +41 -14
- package/dist/esm/ObservabilityBuilder.js.map +1 -1
- package/dist/esm/ObservabilityManager.d.ts.map +1 -1
- package/dist/esm/ObservabilityManager.js +3 -0
- package/dist/esm/ObservabilityManager.js.map +1 -1
- package/dist/esm/configuration/ObservabilityConfiguration.d.ts +19 -0
- package/dist/esm/configuration/ObservabilityConfiguration.d.ts.map +1 -0
- package/dist/esm/configuration/ObservabilityConfiguration.js +56 -0
- package/dist/esm/configuration/ObservabilityConfiguration.js.map +1 -0
- package/dist/esm/configuration/ObservabilityConfigurationOptions.d.ts +58 -0
- package/dist/esm/configuration/ObservabilityConfigurationOptions.d.ts.map +1 -0
- package/dist/esm/configuration/ObservabilityConfigurationOptions.js +4 -0
- package/dist/esm/configuration/ObservabilityConfigurationOptions.js.map +1 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.d.ts +22 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.d.ts.map +1 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.js +69 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.js.map +1 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts +71 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts.map +1 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.js +4 -0
- package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.js.map +1 -0
- package/dist/esm/configuration/index.d.ts +16 -0
- package/dist/esm/configuration/index.d.ts.map +1 -0
- package/dist/esm/configuration/index.js +18 -0
- package/dist/esm/configuration/index.js.map +1 -0
- package/dist/esm/index.d.ts +11 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +17 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/PerRequestProcessorInternalOverrides.d.ts +4 -0
- package/dist/esm/internal/PerRequestProcessorInternalOverrides.d.ts.map +1 -0
- package/dist/esm/internal/PerRequestProcessorInternalOverrides.js +11 -0
- package/dist/esm/internal/PerRequestProcessorInternalOverrides.js.map +1 -0
- package/dist/esm/tracing/PerRequestSpanProcessor.d.ts +10 -3
- package/dist/esm/tracing/PerRequestSpanProcessor.d.ts.map +1 -1
- package/dist/esm/tracing/PerRequestSpanProcessor.js +14 -23
- package/dist/esm/tracing/PerRequestSpanProcessor.js.map +1 -1
- package/dist/esm/tracing/constants.d.ts +35 -35
- package/dist/esm/tracing/constants.d.ts.map +1 -1
- package/dist/esm/tracing/constants.js +42 -40
- package/dist/esm/tracing/constants.js.map +1 -1
- package/dist/esm/tracing/context/parent-span-context.d.ts +11 -2
- package/dist/esm/tracing/context/parent-span-context.d.ts.map +1 -1
- package/dist/esm/tracing/context/parent-span-context.js +10 -5
- package/dist/esm/tracing/context/parent-span-context.js.map +1 -1
- package/dist/esm/tracing/context/token-context.d.ts +14 -0
- package/dist/esm/tracing/context/token-context.d.ts.map +1 -1
- package/dist/esm/tracing/context/token-context.js +34 -2
- package/dist/esm/tracing/context/token-context.js.map +1 -1
- package/dist/esm/tracing/context/trace-context-propagation.d.ts +68 -0
- package/dist/esm/tracing/context/trace-context-propagation.d.ts.map +1 -0
- package/dist/esm/tracing/context/trace-context-propagation.js +79 -0
- package/dist/esm/tracing/context/trace-context-propagation.js.map +1 -0
- package/dist/esm/tracing/contracts.d.ts +229 -62
- package/dist/esm/tracing/contracts.d.ts.map +1 -1
- package/dist/esm/tracing/contracts.js +38 -17
- package/dist/esm/tracing/contracts.js.map +1 -1
- package/dist/esm/tracing/exporter/Agent365Exporter.d.ts +9 -4
- package/dist/esm/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/esm/tracing/exporter/Agent365Exporter.js +54 -47
- package/dist/esm/tracing/exporter/Agent365Exporter.js.map +1 -1
- package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts +8 -5
- package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/esm/tracing/exporter/Agent365ExporterOptions.js +11 -7
- package/dist/esm/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/esm/tracing/exporter/ExporterEventNames.d.ts +20 -0
- package/dist/esm/tracing/exporter/ExporterEventNames.d.ts.map +1 -0
- package/dist/esm/tracing/exporter/ExporterEventNames.js +23 -0
- package/dist/esm/tracing/exporter/ExporterEventNames.js.map +1 -0
- package/dist/esm/tracing/exporter/utils.d.ts +24 -11
- package/dist/esm/tracing/exporter/utils.d.ts.map +1 -1
- package/dist/esm/tracing/exporter/utils.js +352 -32
- package/dist/esm/tracing/exporter/utils.js.map +1 -1
- package/dist/esm/tracing/message-utils.d.ts +36 -0
- package/dist/esm/tracing/message-utils.d.ts.map +1 -0
- package/dist/esm/tracing/message-utils.js +82 -0
- package/dist/esm/tracing/message-utils.js.map +1 -0
- package/dist/esm/tracing/middleware/BaggageBuilder.d.ts +32 -44
- package/dist/esm/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
- package/dist/esm/tracing/middleware/BaggageBuilder.js +49 -62
- package/dist/esm/tracing/middleware/BaggageBuilder.js.map +1 -1
- package/dist/esm/tracing/processors/SpanProcessor.d.ts.map +1 -1
- package/dist/esm/tracing/processors/SpanProcessor.js +12 -3
- package/dist/esm/tracing/processors/SpanProcessor.js.map +1 -1
- package/dist/esm/tracing/processors/util.d.ts.map +1 -1
- package/dist/esm/tracing/processors/util.js +16 -22
- package/dist/esm/tracing/processors/util.js.map +1 -1
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts +10 -11
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/ExecuteToolScope.js +26 -20
- package/dist/esm/tracing/scopes/ExecuteToolScope.js.map +1 -1
- package/dist/esm/tracing/scopes/InferenceScope.d.ts +20 -24
- package/dist/esm/tracing/scopes/InferenceScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/InferenceScope.js +53 -48
- package/dist/esm/tracing/scopes/InferenceScope.js.map +1 -1
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts +17 -12
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/InvokeAgentScope.js +55 -54
- package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts +43 -12
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js +115 -31
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/esm/tracing/scopes/OutputScope.d.ts +33 -0
- package/dist/esm/tracing/scopes/OutputScope.d.ts.map +1 -0
- package/dist/esm/tracing/scopes/OutputScope.js +76 -0
- package/dist/esm/tracing/scopes/OutputScope.js.map +1 -0
- package/dist/esm/tracing/util.d.ts +14 -1
- package/dist/esm/tracing/util.d.ts.map +1 -1
- package/dist/esm/tracing/util.js +37 -7
- package/dist/esm/tracing/util.js.map +1 -1
- package/dist/esm/utils/logging.d.ts +45 -2
- package/dist/esm/utils/logging.d.ts.map +1 -1
- package/dist/esm/utils/logging.js +52 -79
- package/dist/esm/utils/logging.js.map +1 -1
- package/dist/esm/version.d.ts +2 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +9 -9
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { RuntimeConfiguration } from '@microsoft/agents-a365-runtime';
|
|
4
|
+
// Default constants
|
|
5
|
+
const PROD_OBSERVABILITY_SCOPE = 'https://api.powerplatform.com/.default';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for observability package.
|
|
8
|
+
* Inherits runtime settings and adds observability-specific settings.
|
|
9
|
+
*/
|
|
10
|
+
export class ObservabilityConfiguration extends RuntimeConfiguration {
|
|
11
|
+
get observabilityOverrides() {
|
|
12
|
+
return this.overrides;
|
|
13
|
+
}
|
|
14
|
+
constructor(overrides) {
|
|
15
|
+
super(overrides);
|
|
16
|
+
}
|
|
17
|
+
// Inherited: clusterCategory, isDevelopmentEnvironment, isNodeEnvDevelopment
|
|
18
|
+
/**
|
|
19
|
+
* Gets the observability authentication scopes.
|
|
20
|
+
* Used by AgenticTokenCache for observability service authentication.
|
|
21
|
+
*/
|
|
22
|
+
get observabilityAuthenticationScopes() {
|
|
23
|
+
const result = this.observabilityOverrides.observabilityAuthenticationScopes?.();
|
|
24
|
+
if (result !== undefined) {
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
const override = process.env.A365_OBSERVABILITY_SCOPES_OVERRIDE;
|
|
28
|
+
if (override?.trim()) {
|
|
29
|
+
return override.trim().split(/\s+/);
|
|
30
|
+
}
|
|
31
|
+
return [PROD_OBSERVABILITY_SCOPE];
|
|
32
|
+
}
|
|
33
|
+
get isObservabilityExporterEnabled() {
|
|
34
|
+
const result = this.observabilityOverrides.isObservabilityExporterEnabled?.();
|
|
35
|
+
if (result !== undefined)
|
|
36
|
+
return result;
|
|
37
|
+
return RuntimeConfiguration.parseEnvBoolean(process.env.ENABLE_A365_OBSERVABILITY_EXPORTER);
|
|
38
|
+
}
|
|
39
|
+
get observabilityDomainOverride() {
|
|
40
|
+
const result = this.observabilityOverrides.observabilityDomainOverride?.();
|
|
41
|
+
if (result !== undefined) {
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
const override = process.env.A365_OBSERVABILITY_DOMAIN_OVERRIDE;
|
|
45
|
+
if (override?.trim()) {
|
|
46
|
+
return override.trim().replace(/\/+$/, '');
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
get observabilityLogLevel() {
|
|
51
|
+
return this.observabilityOverrides.observabilityLogLevel?.()
|
|
52
|
+
?? process.env.A365_OBSERVABILITY_LOG_LEVEL
|
|
53
|
+
?? 'none';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=ObservabilityConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityConfiguration.js","sourceRoot":"","sources":["../../../src/configuration/ObservabilityConfiguration.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,oBAAoB;AACpB,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAE1E;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;IAClE,IAAc,sBAAsB;QAClC,OAAO,IAAI,CAAC,SAA8C,CAAC;IAC7D,CAAC;IAED,YAAY,SAA6C;QACvD,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,IAAI,iCAAiC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,iCAAiC,EAAE,EAAE,CAAC;QACjF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;QAChE,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,8BAA8B;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,8BAA8B,EAAE,EAAE,CAAC;QAC9E,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,OAAO,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,2BAA2B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,EAAE,EAAE,CAAC;QAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;QAChE,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,EAAE;eACvD,OAAO,CAAC,GAAG,CAAC,4BAA4B;eACxC,MAAM,CAAC;IACd,CAAC;CAEF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { RuntimeConfigurationOptions } from '@microsoft/agents-a365-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* Observability configuration options - extends runtime options.
|
|
4
|
+
* All overrides are functions called on each property access.
|
|
5
|
+
*
|
|
6
|
+
* Inherited from RuntimeConfigurationOptions:
|
|
7
|
+
* - clusterCategory
|
|
8
|
+
* - isNodeEnvDevelopment
|
|
9
|
+
*
|
|
10
|
+
* Note: `isDevelopmentEnvironment` is a derived getter on the configuration class
|
|
11
|
+
* (based on clusterCategory), not an overridable option.
|
|
12
|
+
*/
|
|
13
|
+
export type ObservabilityConfigurationOptions = RuntimeConfigurationOptions & {
|
|
14
|
+
/**
|
|
15
|
+
* Override for observability authentication scopes.
|
|
16
|
+
* Used by AgenticTokenCache for observability service authentication.
|
|
17
|
+
*
|
|
18
|
+
* @returns Array of OAuth scopes for observability service authentication.
|
|
19
|
+
* @envvar A365_OBSERVABILITY_SCOPES_OVERRIDE - Space-separated list of scopes.
|
|
20
|
+
* @default ['https://api.powerplatform.com/.default']
|
|
21
|
+
*/
|
|
22
|
+
observabilityAuthenticationScopes?: () => string[];
|
|
23
|
+
/**
|
|
24
|
+
* Override to enable/disable the Agent365 observability span exporter.
|
|
25
|
+
* When enabled, spans are exported to the Agent365 observability service.
|
|
26
|
+
*
|
|
27
|
+
* @returns `true` to enable the exporter, `false` to disable.
|
|
28
|
+
* @envvar ENABLE_A365_OBSERVABILITY_EXPORTER - 'true', '1', 'yes', 'on' to enable.
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
isObservabilityExporterEnabled?: () => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Override for the custom observability domain/endpoint.
|
|
34
|
+
* Trailing slashes are automatically removed.
|
|
35
|
+
*
|
|
36
|
+
* @returns Custom domain URL string, or `null` for no override.
|
|
37
|
+
* @envvar A365_OBSERVABILITY_DOMAIN_OVERRIDE - Full URL of custom endpoint.
|
|
38
|
+
* @default null
|
|
39
|
+
*/
|
|
40
|
+
observabilityDomainOverride?: () => string | null;
|
|
41
|
+
/**
|
|
42
|
+
* Override for the internal SDK log level.
|
|
43
|
+
* Controls which log messages are output by the observability SDK's internal logger.
|
|
44
|
+
*
|
|
45
|
+
* Supported values (pipe-separated for multiple):
|
|
46
|
+
* - 'none' - No logging (default)
|
|
47
|
+
* - 'info' - Information messages
|
|
48
|
+
* - 'warn' - Warning messages
|
|
49
|
+
* - 'error' - Error messages
|
|
50
|
+
* - 'info|warn|error' - All messages
|
|
51
|
+
*
|
|
52
|
+
* @returns Log level string.
|
|
53
|
+
* @envvar A365_OBSERVABILITY_LOG_LEVEL
|
|
54
|
+
* @default 'none'
|
|
55
|
+
*/
|
|
56
|
+
observabilityLogLevel?: () => string;
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=ObservabilityConfigurationOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityConfigurationOptions.d.ts","sourceRoot":"","sources":["../../../src/configuration/ObservabilityConfigurationOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iCAAiC,GAAG,2BAA2B,GAAG;IAC5E;;;;;;;OAOG;IACH,iCAAiC,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAEnD;;;;;;;OAOG;IACH,8BAA8B,CAAC,EAAE,MAAM,OAAO,CAAC;IAE/C;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAElD;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityConfigurationOptions.js","sourceRoot":"","sources":["../../../src/configuration/ObservabilityConfigurationOptions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RuntimeConfiguration } from '@microsoft/agents-a365-runtime';
|
|
2
|
+
import { PerRequestSpanProcessorConfigurationOptions } from './PerRequestSpanProcessorConfigurationOptions';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for PerRequestSpanProcessor.
|
|
5
|
+
* Inherits runtime settings (clusterCategory, isNodeEnvDevelopment) and adds
|
|
6
|
+
* per-request processor guardrails.
|
|
7
|
+
*
|
|
8
|
+
* This is separated from ObservabilityConfiguration because PerRequestSpanProcessor
|
|
9
|
+
* is used only in specific scenarios and these settings should not be exposed
|
|
10
|
+
* in the common ObservabilityConfiguration.
|
|
11
|
+
*/
|
|
12
|
+
export declare class PerRequestSpanProcessorConfiguration extends RuntimeConfiguration {
|
|
13
|
+
protected get perRequestOverrides(): PerRequestSpanProcessorConfigurationOptions;
|
|
14
|
+
constructor(overrides?: PerRequestSpanProcessorConfigurationOptions);
|
|
15
|
+
get isPerRequestExportEnabled(): boolean;
|
|
16
|
+
get perRequestMaxTraces(): number;
|
|
17
|
+
get perRequestMaxSpansPerTrace(): number;
|
|
18
|
+
get perRequestMaxConcurrentExports(): number;
|
|
19
|
+
get perRequestFlushGraceMs(): number;
|
|
20
|
+
get perRequestMaxTraceAgeMs(): number;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=PerRequestSpanProcessorConfiguration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerRequestSpanProcessorConfiguration.d.ts","sourceRoot":"","sources":["../../../src/configuration/PerRequestSpanProcessorConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,2CAA2C,EAAE,MAAM,+CAA+C,CAAC;AAU5G;;;;;;;;GAQG;AACH,qBAAa,oCAAqC,SAAQ,oBAAoB;IAC5E,SAAS,KAAK,mBAAmB,IAAI,2CAA2C,CAY/E;gBAEW,SAAS,CAAC,EAAE,2CAA2C;IAInE,IAAI,yBAAyB,IAAI,OAAO,CAIvC;IAED,IAAI,mBAAmB,IAAI,MAAM,CAIhC;IAED,IAAI,0BAA0B,IAAI,MAAM,CAIvC;IAED,IAAI,8BAA8B,IAAI,MAAM,CAI3C;IAED,IAAI,sBAAsB,IAAI,MAAM,CAInC;IAED,IAAI,uBAAuB,IAAI,MAAM,CAIpC;CACF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { RuntimeConfiguration } from '@microsoft/agents-a365-runtime';
|
|
4
|
+
import { getPerRequestProcessorInternalOverrides } from '../internal/PerRequestProcessorInternalOverrides';
|
|
5
|
+
/** Guardrails to prevent unbounded memory growth / export bursts. Used for PerRequestSpanProcessor only. */
|
|
6
|
+
const DEFAULT_MAX_BUFFERED_TRACES = 1000;
|
|
7
|
+
const DEFAULT_MAX_SPANS_PER_TRACE = 5000;
|
|
8
|
+
const DEFAULT_MAX_CONCURRENT_EXPORTS = 20;
|
|
9
|
+
const DEFAULT_FLUSH_GRACE_MS = 250;
|
|
10
|
+
const DEFAULT_MAX_TRACE_AGE_MS = 30 * 60 * 1000; // 30 minutes
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for PerRequestSpanProcessor.
|
|
13
|
+
* Inherits runtime settings (clusterCategory, isNodeEnvDevelopment) and adds
|
|
14
|
+
* per-request processor guardrails.
|
|
15
|
+
*
|
|
16
|
+
* This is separated from ObservabilityConfiguration because PerRequestSpanProcessor
|
|
17
|
+
* is used only in specific scenarios and these settings should not be exposed
|
|
18
|
+
* in the common ObservabilityConfiguration.
|
|
19
|
+
*/
|
|
20
|
+
export class PerRequestSpanProcessorConfiguration extends RuntimeConfiguration {
|
|
21
|
+
get perRequestOverrides() {
|
|
22
|
+
const internal = getPerRequestProcessorInternalOverrides();
|
|
23
|
+
const instanceOverrides = this.overrides;
|
|
24
|
+
return {
|
|
25
|
+
...(instanceOverrides ?? {}),
|
|
26
|
+
...(internal?.isPerRequestExportEnabled !== undefined && { isPerRequestExportEnabled: internal.isPerRequestExportEnabled }),
|
|
27
|
+
...(internal?.perRequestMaxTraces !== undefined && { perRequestMaxTraces: internal.perRequestMaxTraces }),
|
|
28
|
+
...(internal?.perRequestMaxSpansPerTrace !== undefined && { perRequestMaxSpansPerTrace: internal.perRequestMaxSpansPerTrace }),
|
|
29
|
+
...(internal?.perRequestMaxConcurrentExports !== undefined && { perRequestMaxConcurrentExports: internal.perRequestMaxConcurrentExports }),
|
|
30
|
+
...(internal?.perRequestFlushGraceMs !== undefined && { perRequestFlushGraceMs: internal.perRequestFlushGraceMs }),
|
|
31
|
+
...(internal?.perRequestMaxTraceAgeMs !== undefined && { perRequestMaxTraceAgeMs: internal.perRequestMaxTraceAgeMs }),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
constructor(overrides) {
|
|
35
|
+
super(overrides);
|
|
36
|
+
}
|
|
37
|
+
get isPerRequestExportEnabled() {
|
|
38
|
+
const result = this.perRequestOverrides.isPerRequestExportEnabled?.();
|
|
39
|
+
if (result !== undefined)
|
|
40
|
+
return result;
|
|
41
|
+
return RuntimeConfiguration.parseEnvBoolean(process.env.ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT);
|
|
42
|
+
}
|
|
43
|
+
get perRequestMaxTraces() {
|
|
44
|
+
const value = this.perRequestOverrides.perRequestMaxTraces?.()
|
|
45
|
+
?? RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_MAX_TRACES, DEFAULT_MAX_BUFFERED_TRACES);
|
|
46
|
+
return value > 0 ? value : DEFAULT_MAX_BUFFERED_TRACES;
|
|
47
|
+
}
|
|
48
|
+
get perRequestMaxSpansPerTrace() {
|
|
49
|
+
const value = this.perRequestOverrides.perRequestMaxSpansPerTrace?.()
|
|
50
|
+
?? RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_MAX_SPANS_PER_TRACE, DEFAULT_MAX_SPANS_PER_TRACE);
|
|
51
|
+
return value > 0 ? value : DEFAULT_MAX_SPANS_PER_TRACE;
|
|
52
|
+
}
|
|
53
|
+
get perRequestMaxConcurrentExports() {
|
|
54
|
+
const value = this.perRequestOverrides.perRequestMaxConcurrentExports?.()
|
|
55
|
+
?? RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_MAX_CONCURRENT_EXPORTS, DEFAULT_MAX_CONCURRENT_EXPORTS);
|
|
56
|
+
return value > 0 ? value : DEFAULT_MAX_CONCURRENT_EXPORTS;
|
|
57
|
+
}
|
|
58
|
+
get perRequestFlushGraceMs() {
|
|
59
|
+
const value = this.perRequestOverrides.perRequestFlushGraceMs?.()
|
|
60
|
+
?? RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_FLUSH_GRACE_MS, DEFAULT_FLUSH_GRACE_MS);
|
|
61
|
+
return value > 0 ? value : DEFAULT_FLUSH_GRACE_MS;
|
|
62
|
+
}
|
|
63
|
+
get perRequestMaxTraceAgeMs() {
|
|
64
|
+
const value = this.perRequestOverrides.perRequestMaxTraceAgeMs?.()
|
|
65
|
+
?? RuntimeConfiguration.parseEnvInt(process.env.A365_PER_REQUEST_MAX_TRACE_AGE_MS, DEFAULT_MAX_TRACE_AGE_MS);
|
|
66
|
+
return value > 0 ? value : DEFAULT_MAX_TRACE_AGE_MS;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=PerRequestSpanProcessorConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerRequestSpanProcessorConfiguration.js","sourceRoot":"","sources":["../../../src/configuration/PerRequestSpanProcessorConfiguration.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAE3G,4GAA4G;AAC5G,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAC1C,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAE9D;;;;;;;;GAQG;AACH,MAAM,OAAO,oCAAqC,SAAQ,oBAAoB;IAC5E,IAAc,mBAAmB;QAC/B,MAAM,QAAQ,GAAG,uCAAuC,EAAE,CAAC;QAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAoE,CAAC;QACpG,OAAO;YACL,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,EAAE,yBAAyB,KAAK,SAAS,IAAI,EAAE,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB,EAAE,CAAC;YAC3H,GAAG,CAAC,QAAQ,EAAE,mBAAmB,KAAK,SAAS,IAAI,EAAE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACzG,GAAG,CAAC,QAAQ,EAAE,0BAA0B,KAAK,SAAS,IAAI,EAAE,0BAA0B,EAAE,QAAQ,CAAC,0BAA0B,EAAE,CAAC;YAC9H,GAAG,CAAC,QAAQ,EAAE,8BAA8B,KAAK,SAAS,IAAI,EAAE,8BAA8B,EAAE,QAAQ,CAAC,8BAA8B,EAAE,CAAC;YAC1I,GAAG,CAAC,QAAQ,EAAE,sBAAsB,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YAClH,GAAG,CAAC,QAAQ,EAAE,uBAAuB,KAAK,SAAS,IAAI,EAAE,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC;SACtH,CAAC;IACJ,CAAC;IAED,YAAY,SAAuD;QACjE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,yBAAyB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,EAAE,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,OAAO,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,mBAAmB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,EAAE;eACzD,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,2BAA2B,CAAC,CAAC;QAC5G,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACzD,CAAC;IAED,IAAI,0BAA0B;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,EAAE;eAChE,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,2BAA2B,CAAC,CAAC;QACrH,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACzD,CAAC;IAED,IAAI,8BAA8B;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,EAAE;eACpE,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,8BAA8B,CAAC,CAAC;QAC3H,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,CAAC;IAC5D,CAAC;IAED,IAAI,sBAAsB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,EAAE;eAC5D,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,sBAAsB,CAAC,CAAC;QAC3G,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACpD,CAAC;IAED,IAAI,uBAAuB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,EAAE;eAC7D,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,wBAAwB,CAAC,CAAC;QAC/G,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { RuntimeConfigurationOptions } from '@microsoft/agents-a365-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration options for PerRequestSpanProcessor - extends runtime options.
|
|
4
|
+
* All overrides are functions called on each property access.
|
|
5
|
+
*
|
|
6
|
+
* Inherited from RuntimeConfigurationOptions:
|
|
7
|
+
* - clusterCategory, isNodeEnvDevelopment
|
|
8
|
+
*/
|
|
9
|
+
export type PerRequestSpanProcessorConfigurationOptions = RuntimeConfigurationOptions & {
|
|
10
|
+
/**
|
|
11
|
+
* Override to enable/disable per-request export mode.
|
|
12
|
+
* When enabled, spans are buffered per-request and exported when the request completes,
|
|
13
|
+
* rather than using a batch processor.
|
|
14
|
+
*
|
|
15
|
+
* @returns `true` to enable per-request export, `false` for batch export.
|
|
16
|
+
* @envvar ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT - 'true', '1', 'yes', 'on' to enable.
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
19
|
+
isPerRequestExportEnabled?: () => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Override for maximum number of traces to buffer in per-request export mode.
|
|
22
|
+
* When this limit is reached, oldest traces are dropped.
|
|
23
|
+
* Values <= 0 are ignored and the default is used.
|
|
24
|
+
*
|
|
25
|
+
* @returns Maximum number of buffered traces.
|
|
26
|
+
* @envvar A365_PER_REQUEST_MAX_TRACES
|
|
27
|
+
* @default 1000
|
|
28
|
+
*/
|
|
29
|
+
perRequestMaxTraces?: () => number;
|
|
30
|
+
/**
|
|
31
|
+
* Override for maximum number of spans per trace in per-request export mode.
|
|
32
|
+
* Traces with more spans than this limit will have excess spans dropped.
|
|
33
|
+
* Values <= 0 are ignored and the default is used.
|
|
34
|
+
*
|
|
35
|
+
* @returns Maximum spans per trace.
|
|
36
|
+
* @envvar A365_PER_REQUEST_MAX_SPANS_PER_TRACE
|
|
37
|
+
* @default 5000
|
|
38
|
+
*/
|
|
39
|
+
perRequestMaxSpansPerTrace?: () => number;
|
|
40
|
+
/**
|
|
41
|
+
* Override for maximum concurrent export operations in per-request export mode.
|
|
42
|
+
* Limits the number of parallel HTTP requests to the observability service.
|
|
43
|
+
* Values <= 0 are ignored and the default is used.
|
|
44
|
+
*
|
|
45
|
+
* @returns Maximum concurrent exports.
|
|
46
|
+
* @envvar A365_PER_REQUEST_MAX_CONCURRENT_EXPORTS
|
|
47
|
+
* @default 20
|
|
48
|
+
*/
|
|
49
|
+
perRequestMaxConcurrentExports?: () => number;
|
|
50
|
+
/**
|
|
51
|
+
* Override for grace period (ms) to wait for child spans after root span ends.
|
|
52
|
+
* After the root span ends, the processor waits this long for remaining children
|
|
53
|
+
* before flushing the trace. Values <= 0 are ignored and the default is used.
|
|
54
|
+
*
|
|
55
|
+
* @returns Flush grace period in milliseconds.
|
|
56
|
+
* @envvar A365_PER_REQUEST_FLUSH_GRACE_MS
|
|
57
|
+
* @default 250
|
|
58
|
+
*/
|
|
59
|
+
perRequestFlushGraceMs?: () => number;
|
|
60
|
+
/**
|
|
61
|
+
* Override for maximum age (ms) for a trace before forcing flush.
|
|
62
|
+
* Traces older than this are flushed regardless of whether all spans have ended.
|
|
63
|
+
* Values <= 0 are ignored and the default is used.
|
|
64
|
+
*
|
|
65
|
+
* @returns Maximum trace age in milliseconds.
|
|
66
|
+
* @envvar A365_PER_REQUEST_MAX_TRACE_AGE_MS
|
|
67
|
+
* @default 1800000 (30 minutes)
|
|
68
|
+
*/
|
|
69
|
+
perRequestMaxTraceAgeMs?: () => number;
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=PerRequestSpanProcessorConfigurationOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerRequestSpanProcessorConfigurationOptions.d.ts","sourceRoot":"","sources":["../../../src/configuration/PerRequestSpanProcessorConfigurationOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,MAAM,2CAA2C,GAAG,2BAA2B,GAAG;IACtF;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC;IAE1C;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;IAEnC;;;;;;;;OAQG;IACH,0BAA0B,CAAC,EAAE,MAAM,MAAM,CAAC;IAE1C;;;;;;;;OAQG;IACH,8BAA8B,CAAC,EAAE,MAAM,MAAM,CAAC;IAE9C;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,MAAM,MAAM,CAAC;IAEtC;;;;;;;;OAQG;IACH,uBAAuB,CAAC,EAAE,MAAM,MAAM,CAAC;CACxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerRequestSpanProcessorConfigurationOptions.js","sourceRoot":"","sources":["../../../src/configuration/PerRequestSpanProcessorConfigurationOptions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DefaultConfigurationProvider } from '@microsoft/agents-a365-runtime';
|
|
2
|
+
import { ObservabilityConfiguration } from './ObservabilityConfiguration';
|
|
3
|
+
import { PerRequestSpanProcessorConfiguration } from './PerRequestSpanProcessorConfiguration';
|
|
4
|
+
export * from './ObservabilityConfigurationOptions';
|
|
5
|
+
export * from './ObservabilityConfiguration';
|
|
6
|
+
export * from './PerRequestSpanProcessorConfigurationOptions';
|
|
7
|
+
export * from './PerRequestSpanProcessorConfiguration';
|
|
8
|
+
/**
|
|
9
|
+
* Shared default provider for ObservabilityConfiguration.
|
|
10
|
+
*/
|
|
11
|
+
export declare const defaultObservabilityConfigurationProvider: DefaultConfigurationProvider<ObservabilityConfiguration>;
|
|
12
|
+
/**
|
|
13
|
+
* Shared default provider for PerRequestSpanProcessorConfiguration.
|
|
14
|
+
*/
|
|
15
|
+
export declare const defaultPerRequestSpanProcessorConfigurationProvider: DefaultConfigurationProvider<PerRequestSpanProcessorConfiguration>;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAE9F,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,yCAAyC,0DACoB,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,mDAAmD,oEACoB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { DefaultConfigurationProvider } from '@microsoft/agents-a365-runtime';
|
|
4
|
+
import { ObservabilityConfiguration } from './ObservabilityConfiguration';
|
|
5
|
+
import { PerRequestSpanProcessorConfiguration } from './PerRequestSpanProcessorConfiguration';
|
|
6
|
+
export * from './ObservabilityConfigurationOptions';
|
|
7
|
+
export * from './ObservabilityConfiguration';
|
|
8
|
+
export * from './PerRequestSpanProcessorConfigurationOptions';
|
|
9
|
+
export * from './PerRequestSpanProcessorConfiguration';
|
|
10
|
+
/**
|
|
11
|
+
* Shared default provider for ObservabilityConfiguration.
|
|
12
|
+
*/
|
|
13
|
+
export const defaultObservabilityConfigurationProvider = new DefaultConfigurationProvider(() => new ObservabilityConfiguration());
|
|
14
|
+
/**
|
|
15
|
+
* Shared default provider for PerRequestSpanProcessorConfiguration.
|
|
16
|
+
*/
|
|
17
|
+
export const defaultPerRequestSpanProcessorConfigurationProvider = new DefaultConfigurationProvider(() => new PerRequestSpanProcessorConfiguration());
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/configuration/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAE9F,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GACpD,IAAI,4BAA4B,CAAC,GAAG,EAAE,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,MAAM,mDAAmD,GAC9D,IAAI,4BAA4B,CAAC,GAAG,EAAE,CAAC,IAAI,oCAAoC,EAAE,CAAC,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -2,13 +2,21 @@ export { ObservabilityManager } from './ObservabilityManager';
|
|
|
2
2
|
export { ObservabilityBuilder as Builder, BuilderOptions } from './ObservabilityBuilder';
|
|
3
3
|
export { Agent365ExporterOptions } from './tracing/exporter/Agent365ExporterOptions';
|
|
4
4
|
export { OpenTelemetryConstants } from './tracing/constants';
|
|
5
|
+
export { ExporterEventNames } from './tracing/exporter/ExporterEventNames';
|
|
5
6
|
export { BaggageBuilder, BaggageScope } from './tracing/middleware/BaggageBuilder';
|
|
6
|
-
export { runWithExportToken, getExportToken } from './tracing/context/token-context';
|
|
7
|
+
export { runWithExportToken, updateExportToken, getExportToken } from './tracing/context/token-context';
|
|
7
8
|
export { ParentSpanRef, runWithParentSpanRef, createContextWithParentSpanRef } from './tracing/context/parent-span-context';
|
|
8
|
-
export {
|
|
9
|
+
export { HeadersCarrier, ParentContext, injectContextToHeaders, extractContextFromHeaders, runWithExtractedTraceContext } from './tracing/context/trace-context-propagation';
|
|
10
|
+
export { InvocationRole, Channel, Request, AgentDetails, ToolCallDetails, InvokeAgentScopeDetails, UserDetails, CallerDetails, EnhancedAgentDetails, ServiceEndpoint, InferenceDetails, InferenceOperationType, InferenceResponse, OutputResponse, SpanDetails, MessageRole, FinishReason, Modality, TextPart, ToolCallRequestPart, ToolCallResponsePart, ReasoningPart, BlobPart, FilePart, UriPart, ServerToolCallPart, ServerToolCallResponsePart, GenericServerToolCall, GenericServerToolCallResponse, GenericPart, MessagePart, ChatMessage, OutputMessage, InputMessages, OutputMessages, InputMessagesParam, OutputMessagesParam, ResponseMessagesParam, A365_MESSAGE_SCHEMA_VERSION, } from './tracing/contracts';
|
|
9
11
|
export { OpenTelemetryScope } from './tracing/scopes/OpenTelemetryScope';
|
|
10
12
|
export { ExecuteToolScope } from './tracing/scopes/ExecuteToolScope';
|
|
11
13
|
export { InvokeAgentScope } from './tracing/scopes/InvokeAgentScope';
|
|
12
14
|
export { InferenceScope } from './tracing/scopes/InferenceScope';
|
|
13
|
-
export {
|
|
15
|
+
export { OutputScope } from './tracing/scopes/OutputScope';
|
|
16
|
+
export { logger, setLogger, getLogger, resetLogger, formatError } from './utils/logging';
|
|
17
|
+
export type { ILogger } from './utils/logging';
|
|
18
|
+
export { safeSerializeToJson } from './tracing/util';
|
|
19
|
+
export { serializeMessages, normalizeInputMessages, normalizeOutputMessages } from './tracing/message-utils';
|
|
20
|
+
export { isPerRequestExportEnabled, MAX_SPAN_SIZE_BYTES } from './tracing/exporter/utils';
|
|
21
|
+
export * from './configuration';
|
|
14
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGxG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAG5H,OAAO,EACL,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EACL,cAAc,EACd,OAAO,EACP,OAAO,EACP,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,aAAa,EAEb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,WAAW,EAEX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,6BAA6B,EAC7B,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzF,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAG7G,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG1F,cAAc,iBAAiB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,24 +1,36 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
// ------------------------------------------------------------------------------
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
4
3
|
// Main SDK classes
|
|
5
4
|
export { ObservabilityManager } from './ObservabilityManager';
|
|
6
5
|
export { ObservabilityBuilder as Builder } from './ObservabilityBuilder';
|
|
7
6
|
export { Agent365ExporterOptions } from './tracing/exporter/Agent365ExporterOptions';
|
|
8
7
|
// Tracing constants
|
|
9
8
|
export { OpenTelemetryConstants } from './tracing/constants';
|
|
9
|
+
export { ExporterEventNames } from './tracing/exporter/ExporterEventNames';
|
|
10
10
|
// Baggage builder
|
|
11
11
|
export { BaggageBuilder, BaggageScope } from './tracing/middleware/BaggageBuilder';
|
|
12
12
|
// Per-request export utilities
|
|
13
|
-
export { runWithExportToken, getExportToken } from './tracing/context/token-context';
|
|
13
|
+
export { runWithExportToken, updateExportToken, getExportToken } from './tracing/context/token-context';
|
|
14
14
|
// Parent span context utilities
|
|
15
15
|
export { runWithParentSpanRef, createContextWithParentSpanRef } from './tracing/context/parent-span-context';
|
|
16
|
+
// Trace context propagation utilities (W3C traceparent/tracestate)
|
|
17
|
+
export { injectContextToHeaders, extractContextFromHeaders, runWithExtractedTraceContext } from './tracing/context/trace-context-propagation';
|
|
16
18
|
// Contracts and interfaces
|
|
17
|
-
export {
|
|
19
|
+
export { InvocationRole, InferenceOperationType,
|
|
20
|
+
// OTEL gen-ai message format types
|
|
21
|
+
MessageRole, FinishReason, Modality, A365_MESSAGE_SCHEMA_VERSION, } from './tracing/contracts';
|
|
18
22
|
// Scopes
|
|
19
23
|
export { OpenTelemetryScope } from './tracing/scopes/OpenTelemetryScope';
|
|
20
24
|
export { ExecuteToolScope } from './tracing/scopes/ExecuteToolScope';
|
|
21
25
|
export { InvokeAgentScope } from './tracing/scopes/InvokeAgentScope';
|
|
22
26
|
export { InferenceScope } from './tracing/scopes/InferenceScope';
|
|
27
|
+
export { OutputScope } from './tracing/scopes/OutputScope';
|
|
23
28
|
export { logger, setLogger, getLogger, resetLogger, formatError } from './utils/logging';
|
|
29
|
+
export { safeSerializeToJson } from './tracing/util';
|
|
30
|
+
// Message utilities
|
|
31
|
+
export { serializeMessages, normalizeInputMessages, normalizeOutputMessages } from './tracing/message-utils';
|
|
32
|
+
// Exporter utilities
|
|
33
|
+
export { isPerRequestExportEnabled, MAX_SPAN_SIZE_BYTES } from './tracing/exporter/utils';
|
|
34
|
+
// Configuration
|
|
35
|
+
export * from './configuration';
|
|
24
36
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,mBAAmB;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,oBAAoB;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnF,+BAA+B;AAC/B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAExG,gCAAgC;AAChC,OAAO,EAAiB,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAE5H,mEAAmE;AACnE,OAAO,EAGL,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,6CAA6C,CAAC;AAErD,2BAA2B;AAC3B,OAAO,EACL,cAAc,EAYd,sBAAsB;AAItB,mCAAmC;AACnC,WAAW,EACX,YAAY,EACZ,QAAQ,EAqBR,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE7G,qBAAqB;AACrB,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,gBAAgB;AAChB,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PerRequestSpanProcessorConfigurationOptions } from '../configuration/PerRequestSpanProcessorConfigurationOptions';
|
|
2
|
+
export declare function setPerRequestProcessorInternalOverrides(value?: PerRequestSpanProcessorConfigurationOptions): void;
|
|
3
|
+
export declare function getPerRequestProcessorInternalOverrides(): PerRequestSpanProcessorConfigurationOptions | undefined;
|
|
4
|
+
//# sourceMappingURL=PerRequestProcessorInternalOverrides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerRequestProcessorInternalOverrides.d.ts","sourceRoot":"","sources":["../../../src/internal/PerRequestProcessorInternalOverrides.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2CAA2C,EAAE,MAAM,8DAA8D,CAAC;AAKhI,wBAAgB,uCAAuC,CAAC,KAAK,CAAC,EAAE,2CAA2C,QAE1G;AAED,wBAAgB,uCAAuC,IAAI,2CAA2C,GAAG,SAAS,CAEjH"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
let overrides;
|
|
4
|
+
// Only for tests / internal usage
|
|
5
|
+
export function setPerRequestProcessorInternalOverrides(value) {
|
|
6
|
+
overrides = value;
|
|
7
|
+
}
|
|
8
|
+
export function getPerRequestProcessorInternalOverrides() {
|
|
9
|
+
return overrides;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=PerRequestProcessorInternalOverrides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerRequestProcessorInternalOverrides.js","sourceRoot":"","sources":["../../../src/internal/PerRequestProcessorInternalOverrides.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,IAAI,SAAkE,CAAC;AAEvE,kCAAkC;AAClC,MAAM,UAAU,uCAAuC,CAAC,KAAmD;IACzG,SAAS,GAAG,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uCAAuC;IACrD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type Context } from '@opentelemetry/api';
|
|
2
2
|
import type { ReadableSpan, SpanProcessor, SpanExporter } from '@opentelemetry/sdk-trace-base';
|
|
3
|
+
import { IConfigurationProvider } from '@microsoft/agents-a365-runtime';
|
|
4
|
+
import { PerRequestSpanProcessorConfiguration } from '../configuration';
|
|
3
5
|
/**
|
|
4
6
|
* Buffers spans per trace and exports once the request completes.
|
|
5
7
|
* Token is not stored; we export under the saved request Context so that getExportToken()
|
|
@@ -7,17 +9,22 @@ import type { ReadableSpan, SpanProcessor, SpanExporter } from '@opentelemetry/s
|
|
|
7
9
|
*/
|
|
8
10
|
export declare class PerRequestSpanProcessor implements SpanProcessor {
|
|
9
11
|
private readonly exporter;
|
|
10
|
-
private readonly flushGraceMs;
|
|
11
|
-
private readonly maxTraceAgeMs;
|
|
12
12
|
private traces;
|
|
13
13
|
private sweepTimer?;
|
|
14
14
|
private isSweeping;
|
|
15
15
|
private readonly maxBufferedTraces;
|
|
16
16
|
private readonly maxSpansPerTrace;
|
|
17
17
|
private readonly maxConcurrentExports;
|
|
18
|
+
private readonly flushGraceMs;
|
|
19
|
+
private readonly maxTraceAgeMs;
|
|
18
20
|
private inFlightExports;
|
|
19
21
|
private exportWaiters;
|
|
20
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Construct a PerRequestSpanProcessor.
|
|
24
|
+
* @param exporter The span exporter to use.
|
|
25
|
+
* @param configProvider Optional configuration provider. Defaults to defaultPerRequestSpanProcessorConfigurationProvider if not specified.
|
|
26
|
+
*/
|
|
27
|
+
constructor(exporter: SpanExporter, configProvider?: IConfigurationProvider<PerRequestSpanProcessorConfiguration>);
|
|
21
28
|
onStart(span: ReadableSpan, ctx: Context): void;
|
|
22
29
|
onEnd(span: ReadableSpan): void;
|
|
23
30
|
forceFlush(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerRequestSpanProcessor.d.ts","sourceRoot":"","sources":["../../../src/tracing/PerRequestSpanProcessor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"PerRequestSpanProcessor.d.ts","sourceRoot":"","sources":["../../../src/tracing/PerRequestSpanProcessor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,oCAAoC,EAAuD,MAAM,kBAAkB,CAAC;AAoB7H;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAoBzD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAnB3B,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAyB;IAE9C;;;;OAIG;gBAEgB,QAAQ,EAAE,YAAY,EACvC,cAAc,CAAC,EAAE,sBAAsB,CAAC,oCAAoC,CAAC;IAW/E,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IA6C/C,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IA4CzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,oBAAoB;YAOd,KAAK;YAmCL,UAAU;YA4DV,iBAAiB;IAe/B,OAAO,CAAC,iBAAiB;CAM1B"}
|
|
@@ -4,21 +4,7 @@
|
|
|
4
4
|
// ------------------------------------------------------------------------------
|
|
5
5
|
import { context } from '@opentelemetry/api';
|
|
6
6
|
import logger from '../utils/logging';
|
|
7
|
-
|
|
8
|
-
const DEFAULT_FLUSH_GRACE_MS = 250;
|
|
9
|
-
/** Default maximum age (ms) for a trace before forcing flush */
|
|
10
|
-
const DEFAULT_MAX_TRACE_AGE_MS = 30 * 60 * 1000; // 30 minutes
|
|
11
|
-
/** Guardrails to prevent unbounded memory growth / export bursts */
|
|
12
|
-
const DEFAULT_MAX_BUFFERED_TRACES = 1000;
|
|
13
|
-
const DEFAULT_MAX_SPANS_PER_TRACE = 5000;
|
|
14
|
-
const DEFAULT_MAX_CONCURRENT_EXPORTS = 20;
|
|
15
|
-
function readEnvInt(name, fallback) {
|
|
16
|
-
const raw = process.env[name];
|
|
17
|
-
if (!raw)
|
|
18
|
-
return fallback;
|
|
19
|
-
const parsed = Number.parseInt(raw, 10);
|
|
20
|
-
return Number.isFinite(parsed) ? parsed : fallback;
|
|
21
|
-
}
|
|
7
|
+
import { defaultPerRequestSpanProcessorConfigurationProvider } from '../configuration';
|
|
22
8
|
function isRootSpan(span) {
|
|
23
9
|
return !span.parentSpanContext;
|
|
24
10
|
}
|
|
@@ -28,19 +14,24 @@ function isRootSpan(span) {
|
|
|
28
14
|
* can read the token from the active OpenTelemetry Context at export time.
|
|
29
15
|
*/
|
|
30
16
|
export class PerRequestSpanProcessor {
|
|
31
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Construct a PerRequestSpanProcessor.
|
|
19
|
+
* @param exporter The span exporter to use.
|
|
20
|
+
* @param configProvider Optional configuration provider. Defaults to defaultPerRequestSpanProcessorConfigurationProvider if not specified.
|
|
21
|
+
*/
|
|
22
|
+
constructor(exporter, configProvider) {
|
|
32
23
|
this.exporter = exporter;
|
|
33
|
-
this.flushGraceMs = flushGraceMs;
|
|
34
|
-
this.maxTraceAgeMs = maxTraceAgeMs;
|
|
35
24
|
this.traces = new Map();
|
|
36
25
|
this.isSweeping = false;
|
|
37
26
|
this.inFlightExports = 0;
|
|
38
27
|
this.exportWaiters = [];
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.maxBufferedTraces =
|
|
42
|
-
this.maxSpansPerTrace =
|
|
43
|
-
this.maxConcurrentExports =
|
|
28
|
+
const effectiveConfigProvider = configProvider ?? defaultPerRequestSpanProcessorConfigurationProvider;
|
|
29
|
+
const config = effectiveConfigProvider.getConfiguration();
|
|
30
|
+
this.maxBufferedTraces = config.perRequestMaxTraces;
|
|
31
|
+
this.maxSpansPerTrace = config.perRequestMaxSpansPerTrace;
|
|
32
|
+
this.maxConcurrentExports = config.perRequestMaxConcurrentExports;
|
|
33
|
+
this.flushGraceMs = config.perRequestFlushGraceMs;
|
|
34
|
+
this.maxTraceAgeMs = config.perRequestMaxTraceAgeMs;
|
|
44
35
|
}
|
|
45
36
|
onStart(span, ctx) {
|
|
46
37
|
const traceId = span.spanContext().traceId;
|