@microsoft/agents-a365-observability 0.1.0-preview.95 → 0.2.0-preview.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/cjs/ObservabilityBuilder.d.ts +24 -1
  2. package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -1
  3. package/dist/cjs/ObservabilityBuilder.js +39 -12
  4. package/dist/cjs/ObservabilityBuilder.js.map +1 -1
  5. package/dist/cjs/ObservabilityManager.d.ts.map +1 -1
  6. package/dist/cjs/ObservabilityManager.js +3 -0
  7. package/dist/cjs/ObservabilityManager.js.map +1 -1
  8. package/dist/cjs/configuration/ObservabilityConfiguration.d.ts +19 -0
  9. package/dist/cjs/configuration/ObservabilityConfiguration.d.ts.map +1 -0
  10. package/dist/cjs/configuration/ObservabilityConfiguration.js +60 -0
  11. package/dist/cjs/configuration/ObservabilityConfiguration.js.map +1 -0
  12. package/dist/cjs/configuration/ObservabilityConfigurationOptions.d.ts +58 -0
  13. package/dist/cjs/configuration/ObservabilityConfigurationOptions.d.ts.map +1 -0
  14. package/dist/cjs/configuration/ObservabilityConfigurationOptions.js +5 -0
  15. package/dist/cjs/configuration/ObservabilityConfigurationOptions.js.map +1 -0
  16. package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.d.ts +22 -0
  17. package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.d.ts.map +1 -0
  18. package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.js +73 -0
  19. package/dist/cjs/configuration/PerRequestSpanProcessorConfiguration.js.map +1 -0
  20. package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts +71 -0
  21. package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts.map +1 -0
  22. package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.js +5 -0
  23. package/dist/cjs/configuration/PerRequestSpanProcessorConfigurationOptions.js.map +1 -0
  24. package/dist/cjs/configuration/index.d.ts +16 -0
  25. package/dist/cjs/configuration/index.d.ts.map +1 -0
  26. package/dist/cjs/configuration/index.js +35 -0
  27. package/dist/cjs/configuration/index.js.map +1 -0
  28. package/dist/cjs/index.d.ts +11 -3
  29. package/dist/cjs/index.d.ts.map +1 -1
  30. package/dist/cjs/index.js +45 -5
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/internal/PerRequestProcessorInternalOverrides.d.ts +4 -0
  33. package/dist/cjs/internal/PerRequestProcessorInternalOverrides.d.ts.map +1 -0
  34. package/dist/cjs/internal/PerRequestProcessorInternalOverrides.js +15 -0
  35. package/dist/cjs/internal/PerRequestProcessorInternalOverrides.js.map +1 -0
  36. package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts +10 -3
  37. package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts.map +1 -1
  38. package/dist/cjs/tracing/PerRequestSpanProcessor.js +14 -23
  39. package/dist/cjs/tracing/PerRequestSpanProcessor.js.map +1 -1
  40. package/dist/cjs/tracing/constants.d.ts +35 -35
  41. package/dist/cjs/tracing/constants.d.ts.map +1 -1
  42. package/dist/cjs/tracing/constants.js +42 -40
  43. package/dist/cjs/tracing/constants.js.map +1 -1
  44. package/dist/cjs/tracing/context/parent-span-context.d.ts +11 -2
  45. package/dist/cjs/tracing/context/parent-span-context.d.ts.map +1 -1
  46. package/dist/cjs/tracing/context/parent-span-context.js +10 -5
  47. package/dist/cjs/tracing/context/parent-span-context.js.map +1 -1
  48. package/dist/cjs/tracing/context/token-context.d.ts +14 -0
  49. package/dist/cjs/tracing/context/token-context.d.ts.map +1 -1
  50. package/dist/cjs/tracing/context/token-context.js +35 -2
  51. package/dist/cjs/tracing/context/token-context.js.map +1 -1
  52. package/dist/cjs/tracing/context/trace-context-propagation.d.ts +68 -0
  53. package/dist/cjs/tracing/context/trace-context-propagation.d.ts.map +1 -0
  54. package/dist/cjs/tracing/context/trace-context-propagation.js +85 -0
  55. package/dist/cjs/tracing/context/trace-context-propagation.js.map +1 -0
  56. package/dist/cjs/tracing/contracts.d.ts +229 -62
  57. package/dist/cjs/tracing/contracts.d.ts.map +1 -1
  58. package/dist/cjs/tracing/contracts.js +39 -18
  59. package/dist/cjs/tracing/contracts.js.map +1 -1
  60. package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts +9 -4
  61. package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
  62. package/dist/cjs/tracing/exporter/Agent365Exporter.js +53 -46
  63. package/dist/cjs/tracing/exporter/Agent365Exporter.js.map +1 -1
  64. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts +8 -5
  65. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  66. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js +11 -7
  67. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
  68. package/dist/cjs/tracing/exporter/ExporterEventNames.d.ts +20 -0
  69. package/dist/cjs/tracing/exporter/ExporterEventNames.d.ts.map +1 -0
  70. package/dist/cjs/tracing/exporter/ExporterEventNames.js +26 -0
  71. package/dist/cjs/tracing/exporter/ExporterEventNames.js.map +1 -0
  72. package/dist/cjs/tracing/exporter/utils.d.ts +24 -11
  73. package/dist/cjs/tracing/exporter/utils.d.ts.map +1 -1
  74. package/dist/cjs/tracing/exporter/utils.js +357 -34
  75. package/dist/cjs/tracing/exporter/utils.js.map +1 -1
  76. package/dist/cjs/tracing/message-utils.d.ts +36 -0
  77. package/dist/cjs/tracing/message-utils.d.ts.map +1 -0
  78. package/dist/cjs/tracing/message-utils.js +90 -0
  79. package/dist/cjs/tracing/message-utils.js.map +1 -0
  80. package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts +32 -44
  81. package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
  82. package/dist/cjs/tracing/middleware/BaggageBuilder.js +49 -62
  83. package/dist/cjs/tracing/middleware/BaggageBuilder.js.map +1 -1
  84. package/dist/cjs/tracing/processors/SpanProcessor.d.ts.map +1 -1
  85. package/dist/cjs/tracing/processors/SpanProcessor.js +12 -3
  86. package/dist/cjs/tracing/processors/SpanProcessor.js.map +1 -1
  87. package/dist/cjs/tracing/processors/util.d.ts.map +1 -1
  88. package/dist/cjs/tracing/processors/util.js +16 -22
  89. package/dist/cjs/tracing/processors/util.js.map +1 -1
  90. package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts +10 -11
  91. package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
  92. package/dist/cjs/tracing/scopes/ExecuteToolScope.js +26 -20
  93. package/dist/cjs/tracing/scopes/ExecuteToolScope.js.map +1 -1
  94. package/dist/cjs/tracing/scopes/InferenceScope.d.ts +20 -24
  95. package/dist/cjs/tracing/scopes/InferenceScope.d.ts.map +1 -1
  96. package/dist/cjs/tracing/scopes/InferenceScope.js +53 -48
  97. package/dist/cjs/tracing/scopes/InferenceScope.js.map +1 -1
  98. package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts +17 -12
  99. package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
  100. package/dist/cjs/tracing/scopes/InvokeAgentScope.js +55 -54
  101. package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -1
  102. package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts +43 -12
  103. package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
  104. package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +114 -30
  105. package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -1
  106. package/dist/cjs/tracing/scopes/OutputScope.d.ts +33 -0
  107. package/dist/cjs/tracing/scopes/OutputScope.d.ts.map +1 -0
  108. package/dist/cjs/tracing/scopes/OutputScope.js +80 -0
  109. package/dist/cjs/tracing/scopes/OutputScope.js.map +1 -0
  110. package/dist/cjs/tracing/util.d.ts +14 -1
  111. package/dist/cjs/tracing/util.d.ts.map +1 -1
  112. package/dist/cjs/tracing/util.js +38 -7
  113. package/dist/cjs/tracing/util.js.map +1 -1
  114. package/dist/cjs/utils/logging.d.ts +45 -2
  115. package/dist/cjs/utils/logging.d.ts.map +1 -1
  116. package/dist/cjs/utils/logging.js +53 -79
  117. package/dist/cjs/utils/logging.js.map +1 -1
  118. package/dist/cjs/version.d.ts +2 -0
  119. package/dist/cjs/version.d.ts.map +1 -0
  120. package/dist/cjs/version.js +5 -0
  121. package/dist/cjs/version.js.map +1 -0
  122. package/dist/esm/ObservabilityBuilder.d.ts +24 -1
  123. package/dist/esm/ObservabilityBuilder.d.ts.map +1 -1
  124. package/dist/esm/ObservabilityBuilder.js +41 -14
  125. package/dist/esm/ObservabilityBuilder.js.map +1 -1
  126. package/dist/esm/ObservabilityManager.d.ts.map +1 -1
  127. package/dist/esm/ObservabilityManager.js +3 -0
  128. package/dist/esm/ObservabilityManager.js.map +1 -1
  129. package/dist/esm/configuration/ObservabilityConfiguration.d.ts +19 -0
  130. package/dist/esm/configuration/ObservabilityConfiguration.d.ts.map +1 -0
  131. package/dist/esm/configuration/ObservabilityConfiguration.js +56 -0
  132. package/dist/esm/configuration/ObservabilityConfiguration.js.map +1 -0
  133. package/dist/esm/configuration/ObservabilityConfigurationOptions.d.ts +58 -0
  134. package/dist/esm/configuration/ObservabilityConfigurationOptions.d.ts.map +1 -0
  135. package/dist/esm/configuration/ObservabilityConfigurationOptions.js +4 -0
  136. package/dist/esm/configuration/ObservabilityConfigurationOptions.js.map +1 -0
  137. package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.d.ts +22 -0
  138. package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.d.ts.map +1 -0
  139. package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.js +69 -0
  140. package/dist/esm/configuration/PerRequestSpanProcessorConfiguration.js.map +1 -0
  141. package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts +71 -0
  142. package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.d.ts.map +1 -0
  143. package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.js +4 -0
  144. package/dist/esm/configuration/PerRequestSpanProcessorConfigurationOptions.js.map +1 -0
  145. package/dist/esm/configuration/index.d.ts +16 -0
  146. package/dist/esm/configuration/index.d.ts.map +1 -0
  147. package/dist/esm/configuration/index.js +18 -0
  148. package/dist/esm/configuration/index.js.map +1 -0
  149. package/dist/esm/index.d.ts +11 -3
  150. package/dist/esm/index.d.ts.map +1 -1
  151. package/dist/esm/index.js +17 -5
  152. package/dist/esm/index.js.map +1 -1
  153. package/dist/esm/internal/PerRequestProcessorInternalOverrides.d.ts +4 -0
  154. package/dist/esm/internal/PerRequestProcessorInternalOverrides.d.ts.map +1 -0
  155. package/dist/esm/internal/PerRequestProcessorInternalOverrides.js +11 -0
  156. package/dist/esm/internal/PerRequestProcessorInternalOverrides.js.map +1 -0
  157. package/dist/esm/tracing/PerRequestSpanProcessor.d.ts +10 -3
  158. package/dist/esm/tracing/PerRequestSpanProcessor.d.ts.map +1 -1
  159. package/dist/esm/tracing/PerRequestSpanProcessor.js +14 -23
  160. package/dist/esm/tracing/PerRequestSpanProcessor.js.map +1 -1
  161. package/dist/esm/tracing/constants.d.ts +35 -35
  162. package/dist/esm/tracing/constants.d.ts.map +1 -1
  163. package/dist/esm/tracing/constants.js +42 -40
  164. package/dist/esm/tracing/constants.js.map +1 -1
  165. package/dist/esm/tracing/context/parent-span-context.d.ts +11 -2
  166. package/dist/esm/tracing/context/parent-span-context.d.ts.map +1 -1
  167. package/dist/esm/tracing/context/parent-span-context.js +10 -5
  168. package/dist/esm/tracing/context/parent-span-context.js.map +1 -1
  169. package/dist/esm/tracing/context/token-context.d.ts +14 -0
  170. package/dist/esm/tracing/context/token-context.d.ts.map +1 -1
  171. package/dist/esm/tracing/context/token-context.js +34 -2
  172. package/dist/esm/tracing/context/token-context.js.map +1 -1
  173. package/dist/esm/tracing/context/trace-context-propagation.d.ts +68 -0
  174. package/dist/esm/tracing/context/trace-context-propagation.d.ts.map +1 -0
  175. package/dist/esm/tracing/context/trace-context-propagation.js +79 -0
  176. package/dist/esm/tracing/context/trace-context-propagation.js.map +1 -0
  177. package/dist/esm/tracing/contracts.d.ts +229 -62
  178. package/dist/esm/tracing/contracts.d.ts.map +1 -1
  179. package/dist/esm/tracing/contracts.js +38 -17
  180. package/dist/esm/tracing/contracts.js.map +1 -1
  181. package/dist/esm/tracing/exporter/Agent365Exporter.d.ts +9 -4
  182. package/dist/esm/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
  183. package/dist/esm/tracing/exporter/Agent365Exporter.js +54 -47
  184. package/dist/esm/tracing/exporter/Agent365Exporter.js.map +1 -1
  185. package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts +8 -5
  186. package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  187. package/dist/esm/tracing/exporter/Agent365ExporterOptions.js +11 -7
  188. package/dist/esm/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
  189. package/dist/esm/tracing/exporter/ExporterEventNames.d.ts +20 -0
  190. package/dist/esm/tracing/exporter/ExporterEventNames.d.ts.map +1 -0
  191. package/dist/esm/tracing/exporter/ExporterEventNames.js +23 -0
  192. package/dist/esm/tracing/exporter/ExporterEventNames.js.map +1 -0
  193. package/dist/esm/tracing/exporter/utils.d.ts +24 -11
  194. package/dist/esm/tracing/exporter/utils.d.ts.map +1 -1
  195. package/dist/esm/tracing/exporter/utils.js +355 -33
  196. package/dist/esm/tracing/exporter/utils.js.map +1 -1
  197. package/dist/esm/tracing/message-utils.d.ts +36 -0
  198. package/dist/esm/tracing/message-utils.d.ts.map +1 -0
  199. package/dist/esm/tracing/message-utils.js +82 -0
  200. package/dist/esm/tracing/message-utils.js.map +1 -0
  201. package/dist/esm/tracing/middleware/BaggageBuilder.d.ts +32 -44
  202. package/dist/esm/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
  203. package/dist/esm/tracing/middleware/BaggageBuilder.js +49 -62
  204. package/dist/esm/tracing/middleware/BaggageBuilder.js.map +1 -1
  205. package/dist/esm/tracing/processors/SpanProcessor.d.ts.map +1 -1
  206. package/dist/esm/tracing/processors/SpanProcessor.js +12 -3
  207. package/dist/esm/tracing/processors/SpanProcessor.js.map +1 -1
  208. package/dist/esm/tracing/processors/util.d.ts.map +1 -1
  209. package/dist/esm/tracing/processors/util.js +16 -22
  210. package/dist/esm/tracing/processors/util.js.map +1 -1
  211. package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts +10 -11
  212. package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
  213. package/dist/esm/tracing/scopes/ExecuteToolScope.js +26 -20
  214. package/dist/esm/tracing/scopes/ExecuteToolScope.js.map +1 -1
  215. package/dist/esm/tracing/scopes/InferenceScope.d.ts +20 -24
  216. package/dist/esm/tracing/scopes/InferenceScope.d.ts.map +1 -1
  217. package/dist/esm/tracing/scopes/InferenceScope.js +53 -48
  218. package/dist/esm/tracing/scopes/InferenceScope.js.map +1 -1
  219. package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts +17 -12
  220. package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
  221. package/dist/esm/tracing/scopes/InvokeAgentScope.js +55 -54
  222. package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -1
  223. package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts +43 -12
  224. package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
  225. package/dist/esm/tracing/scopes/OpenTelemetryScope.js +115 -31
  226. package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -1
  227. package/dist/esm/tracing/scopes/OutputScope.d.ts +33 -0
  228. package/dist/esm/tracing/scopes/OutputScope.d.ts.map +1 -0
  229. package/dist/esm/tracing/scopes/OutputScope.js +76 -0
  230. package/dist/esm/tracing/scopes/OutputScope.js.map +1 -0
  231. package/dist/esm/tracing/util.d.ts +14 -1
  232. package/dist/esm/tracing/util.d.ts.map +1 -1
  233. package/dist/esm/tracing/util.js +37 -7
  234. package/dist/esm/tracing/util.js.map +1 -1
  235. package/dist/esm/utils/logging.d.ts +45 -2
  236. package/dist/esm/utils/logging.d.ts.map +1 -1
  237. package/dist/esm/utils/logging.js +52 -79
  238. package/dist/esm/utils/logging.js.map +1 -1
  239. package/dist/esm/version.d.ts +2 -0
  240. package/dist/esm/version.d.ts.map +1 -0
  241. package/dist/esm/version.js +2 -0
  242. package/dist/esm/version.js.map +1 -0
  243. 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,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export {};
4
+ //# sourceMappingURL=ObservabilityConfigurationOptions.js.map
@@ -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":"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"}
@@ -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,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export {};
4
+ //# sourceMappingURL=PerRequestSpanProcessorConfigurationOptions.js.map
@@ -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"}
@@ -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 { ExecutionType, InvocationRole, SourceMetadata, AgentRequest, AgentDetails, TenantDetails, ToolCallDetails, InvokeAgentDetails, CallerDetails, EnhancedAgentDetails, ServiceEndpoint, InferenceDetails, InferenceOperationType, InferenceResponse } from './tracing/contracts';
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 { logger, setLogger, getLogger, resetLogger, ILogger, formatError } from './utils/logging';
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,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;AAG7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGrF,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAG5H,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EAClB,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,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
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
- // Copyright (c) Microsoft Corporation. All rights reserved.
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 { ExecutionType, InvocationRole, InferenceOperationType } from './tracing/contracts';
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;AAEjF,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;AAE7D,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnF,+BAA+B;AAC/B,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAErF,gCAAgC;AAChC,OAAO,EAAiB,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAE5H,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,cAAc,EAWd,sBAAsB,EAEvB,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,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
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
- constructor(exporter: SpanExporter, flushGraceMs?: number, maxTraceAgeMs?: number);
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;AAqC/F;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAazD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAdhC,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;IAE9C,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAyB;gBAG3B,QAAQ,EAAE,YAAY,EACtB,YAAY,GAAE,MAA+B,EAC7C,aAAa,GAAE,MAAiC;IASnE,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"}
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
- /** Default grace period (ms) to wait for child spans after root span ends */
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
- constructor(exporter, flushGraceMs = DEFAULT_FLUSH_GRACE_MS, maxTraceAgeMs = DEFAULT_MAX_TRACE_AGE_MS) {
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
- // Defaults are intentionally high but bounded; override via env vars if needed.
40
- // Set to 0 (or negative) to disable a guardrail.
41
- this.maxBufferedTraces = readEnvInt('A365_PER_REQUEST_MAX_TRACES', DEFAULT_MAX_BUFFERED_TRACES);
42
- this.maxSpansPerTrace = readEnvInt('A365_PER_REQUEST_MAX_SPANS_PER_TRACE', DEFAULT_MAX_SPANS_PER_TRACE);
43
- this.maxConcurrentExports = readEnvInt('A365_PER_REQUEST_MAX_CONCURRENT_EXPORTS', DEFAULT_MAX_CONCURRENT_EXPORTS);
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;