@microsoft/agents-a365-observability 0.1.0-preview.93 → 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.
Files changed (243) hide show
  1. package/dist/cjs/ObservabilityBuilder.d.ts +47 -1
  2. package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -1
  3. package/dist/cjs/ObservabilityBuilder.js +95 -15
  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 +48 -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 +354 -33
  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 +106 -5
  115. package/dist/cjs/utils/logging.d.ts.map +1 -1
  116. package/dist/cjs/utils/logging.js +120 -38
  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 +47 -1
  123. package/dist/esm/ObservabilityBuilder.d.ts.map +1 -1
  124. package/dist/esm/ObservabilityBuilder.js +63 -13
  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 +18 -6
  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 +352 -32
  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 +106 -5
  236. package/dist/esm/utils/logging.d.ts.map +1 -1
  237. package/dist/esm/utils/logging.js +115 -37
  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
@@ -39,26 +39,27 @@ var __importStar = (this && this.__importStar) || (function () {
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.Agent365Exporter = void 0;
41
41
  const core_1 = require("@opentelemetry/core");
42
- const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
43
42
  const utils_1 = require("./utils");
44
43
  const token_context_1 = require("../context/token-context");
45
44
  const logging_1 = __importStar(require("../../utils/logging"));
46
- const DEFAULT_HTTP_TIMEOUT_SECONDS = 30000; // 30 seconds in ms
45
+ const ExporterEventNames_1 = require("./ExporterEventNames");
47
46
  const DEFAULT_MAX_RETRIES = 3;
48
47
  /**
49
48
  * Observability span exporter for Agent365:
50
49
  * - Partitions spans by (tenantId, agentId)
51
50
  * - Builds OTLP-like JSON: resourceSpans -> scopeSpans -> spans
52
- * - POSTs per group to https://{endpoint}/maven/agent365/agents/{agentId}/traces?api-version=1
53
- * or, when useS2SEndpoint is true, https://{endpoint}/maven/agent365/service/agents/{agentId}/traces?api-version=1
51
+ * - POSTs per group to https://{endpoint}/observability/tenants/{tenantId}/otlp/agents/{agentId}/traces?api-version=1
52
+ * or, when useS2SEndpoint is true, https://{endpoint}/observabilityService/tenants/{tenantId}/otlp/agents/{agentId}/traces?api-version=1
54
53
  * - Adds Bearer token via token_resolver(agentId, tenantId)
55
54
  */
56
55
  class Agent365Exporter {
57
56
  /**
58
57
  * Initialize exporter with a fully constructed options instance.
59
- * If tokenResolver is missing, installs cache-backed resolver.
58
+ * @param options Exporter options controlling batching, timeouts, token acquisition and endpoint shape.
59
+ * @param configProvider Optional configuration provider. When supplied, the exporter uses it for
60
+ * configuration lookups (custom domain, domain override) instead of the default env-based provider.
60
61
  */
61
- constructor(options) {
62
+ constructor(options, configProvider) {
62
63
  this.closed = false;
63
64
  if (!options) {
64
65
  throw new Error('Agent365ExporterOptions must be provided (was null/undefined)');
@@ -67,6 +68,7 @@ class Agent365Exporter {
67
68
  throw new Error('Agent365Exporter tokenResolver must be provided for batch export');
68
69
  }
69
70
  this.options = options;
71
+ this.configProvider = configProvider;
70
72
  }
71
73
  /**
72
74
  * Export spans to Agent365 service
@@ -76,6 +78,7 @@ class Agent365Exporter {
76
78
  resultCallback({ code: core_1.ExportResultCode.FAILED });
77
79
  return;
78
80
  }
81
+ const startTime = Date.now();
79
82
  try {
80
83
  logging_1.default.info(`[Agent365Exporter] Exporting ${spans.length} spans`);
81
84
  const groups = (0, utils_1.partitionByIdentity)(spans);
@@ -95,13 +98,18 @@ class Agent365Exporter {
95
98
  promises.push(promise);
96
99
  }
97
100
  await Promise.all(promises);
98
- logging_1.default.info(`[Agent365Exporter] Export completed. Success: ${!anyFailure}`);
101
+ const duration = Date.now() - startTime;
102
+ const success = !anyFailure;
103
+ const message = success ? 'All spans exported successfully' : 'Not all spans exported successfully';
104
+ logging_1.default.event(ExporterEventNames_1.ExporterEventNames.EXPORT, success, duration, message);
99
105
  resultCallback({
100
- code: anyFailure ? core_1.ExportResultCode.FAILED : core_1.ExportResultCode.SUCCESS
106
+ code: success ? core_1.ExportResultCode.SUCCESS : core_1.ExportResultCode.FAILED
101
107
  });
102
108
  }
103
109
  catch (_error) {
104
110
  // Exporters should not raise; signal failure
111
+ const duration = Date.now() - startTime;
112
+ logging_1.default.event(ExporterEventNames_1.ExporterEventNames.EXPORT, false, duration, `Export failed with error: ${(0, logging_1.formatError)(_error)}`);
105
113
  resultCallback({ code: core_1.ExportResultCode.FAILED });
106
114
  }
107
115
  }
@@ -111,75 +119,74 @@ class Agent365Exporter {
111
119
  async exportGroup(identityKey, spans) {
112
120
  const { tenantId, agentId } = (0, utils_1.parseIdentityKey)(identityKey);
113
121
  logging_1.default.info(`[Agent365Exporter] Exporting ${spans.length} spans for tenantId: ${tenantId}, agentId: ${agentId}`);
122
+ const startTime = Date.now();
114
123
  const payload = this.buildExportRequest(spans);
115
124
  const body = JSON.stringify(payload);
116
- const usingCustomServiceEndpoint = (0, utils_1.useCustomDomainForObservability)();
117
- // Select endpoint path based on S2S flag
118
- const endpointRelativePath = this.options.useS2SEndpoint
119
- ? `/maven/agent365/service/agents/${agentId}/traces`
120
- : `/maven/agent365/agents/${agentId}/traces`;
125
+ // Select endpoint path based on S2S flag (includes tenantId in path)
126
+ const servicePrefix = this.options.useS2SEndpoint ? '/observabilityService' : '/observability';
127
+ const endpointRelativePath = `${servicePrefix}/tenants/${encodeURIComponent(tenantId)}/otlp/agents/${encodeURIComponent(agentId)}/traces`;
121
128
  let url;
122
- const domainOverride = (0, utils_1.getAgent365ObservabilityDomainOverride)();
129
+ const domainOverride = (0, utils_1.getAgent365ObservabilityDomainOverride)(this.configProvider);
123
130
  if (domainOverride) {
124
131
  url = `${domainOverride}${endpointRelativePath}?api-version=1`;
125
132
  }
126
- else if (usingCustomServiceEndpoint) {
133
+ else {
127
134
  const base = (0, utils_1.resolveAgent365Endpoint)(this.options.clusterCategory);
128
135
  url = `${base}${endpointRelativePath}?api-version=1`;
129
- logging_1.default.info(`[Agent365Exporter] Using custom domain endpoint: ${url}`);
130
- }
131
- else {
132
- // Default behavior: discover PPAPI gateway endpoint per-tenant
133
- const discovery = new agents_a365_runtime_1.PowerPlatformApiDiscovery(this.options.clusterCategory);
134
- const endpoint = discovery.getTenantIslandClusterEndpoint(tenantId);
135
- url = `https://${endpoint}${endpointRelativePath}?api-version=1`;
136
- logging_1.default.info(`[Agent365Exporter] Resolved endpoint: ${url}`);
136
+ logging_1.default.info(`[Agent365Exporter] Using default endpoint: ${url}`);
137
137
  }
138
138
  const headers = {
139
139
  'content-type': 'application/json'
140
140
  };
141
141
  let token = null;
142
+ let tokenNotResolvedReason = null;
142
143
  if ((0, utils_1.isPerRequestExportEnabled)()) {
143
144
  // For per-request export, get token from OTel Context
144
145
  token = (0, token_context_1.getExportToken)() ?? null;
145
146
  if (!token) {
146
- logging_1.default.error('[Agent365Exporter] No token available in OTel Context for per-request export');
147
+ tokenNotResolvedReason = 'No token available in OTel Context for per-request export';
147
148
  }
148
149
  }
149
150
  else {
150
151
  // For batch export, use tokenResolver
151
152
  if (!this.options.tokenResolver) {
152
- logging_1.default.error('[Agent365Exporter] tokenResolver is undefined, skip exporting');
153
- return;
154
- }
155
- const tokenResult = this.options.tokenResolver(agentId, tenantId);
156
- token = tokenResult instanceof Promise ? await tokenResult : tokenResult;
157
- if (token) {
158
- logging_1.default.info('[Agent365Exporter] Token resolved successfully via tokenResolver');
153
+ tokenNotResolvedReason = 'tokenResolver is undefined';
159
154
  }
160
155
  else {
161
- logging_1.default.error('[Agent365Exporter] No token resolved via tokenResolver');
156
+ const tokenResult = this.options.tokenResolver(agentId, tenantId);
157
+ token = tokenResult instanceof Promise ? await tokenResult : tokenResult;
158
+ if (token) {
159
+ logging_1.default.info('[Agent365Exporter] Token resolved successfully via tokenResolver');
160
+ }
161
+ else {
162
+ tokenNotResolvedReason = 'No token resolved via tokenResolver';
163
+ }
162
164
  }
163
165
  }
164
166
  if (token) {
165
167
  headers['authorization'] = `Bearer ${token}`;
166
168
  }
167
- // Add tenant id to headers when using custom domain
168
- if (usingCustomServiceEndpoint) {
169
- headers['x-ms-tenant-id'] = tenantId;
169
+ else {
170
+ const skipReason = tokenNotResolvedReason || 'Token not resolved for export request';
171
+ logging_1.default.event(ExporterEventNames_1.ExporterEventNames.EXPORT_GROUP, false, 0, `skip exporting: ${skipReason}`, { tenantId, agentId });
172
+ return;
170
173
  }
174
+ // Always include tenant id header
175
+ headers['x-ms-tenant-id'] = tenantId;
171
176
  // Basic retry loop
172
- const ok = await this.postWithRetries(url, body, headers);
177
+ const { ok, correlationId } = await this.postWithRetries(url, body, headers);
178
+ const duration = Date.now() - startTime;
173
179
  if (!ok) {
174
- logging_1.default.error('[Agent365Exporter] Failed to export spans');
180
+ logging_1.default.event(ExporterEventNames_1.ExporterEventNames.EXPORT_GROUP, false, duration, undefined, { tenantId, agentId, correlationId });
175
181
  throw new Error('Failed to export spans');
176
182
  }
177
- logging_1.default.info('[Agent365Exporter] Successfully exported spans');
183
+ logging_1.default.event(ExporterEventNames_1.ExporterEventNames.EXPORT_GROUP, true, duration, 'Spans exported successfully', { tenantId, agentId, correlationId });
178
184
  }
179
185
  /**
180
186
  * HTTP POST with retry logic
181
187
  */
182
188
  async postWithRetries(url, body, headers) {
189
+ let lastCorrelationId = 'unknown';
183
190
  for (let attempt = 0; attempt <= DEFAULT_MAX_RETRIES; attempt++) {
184
191
  let correlationId;
185
192
  try {
@@ -188,25 +195,25 @@ class Agent365Exporter {
188
195
  method: 'POST',
189
196
  headers,
190
197
  body,
191
- signal: AbortSignal.timeout(DEFAULT_HTTP_TIMEOUT_SECONDS)
198
+ signal: AbortSignal.timeout(this.options.httpRequestTimeoutMilliseconds)
192
199
  });
193
200
  correlationId = response?.headers?.get('x-ms-correlation-id') || response?.headers?.get('x-correlation-id') || 'unknown';
201
+ lastCorrelationId = correlationId;
194
202
  // 2xx => success
195
203
  if (response.status >= 200 && response.status < 300) {
196
- logging_1.default.info(`[Agent365Exporter] Success with status ${response.status}, correlation ID: ${correlationId}`);
197
- return true;
204
+ return { ok: true, correlationId };
198
205
  }
199
206
  // Retry transient errors
200
207
  if ([408, 429].includes(response.status) || (response.status >= 500 && response.status < 600)) {
201
208
  if (attempt < DEFAULT_MAX_RETRIES) {
202
- const sleepMs = 200 * (attempt + 1);
209
+ const sleepMs = 200 * (attempt + 1) + Math.floor(Math.random() * 100);
203
210
  logging_1.default.warn(`[Agent365Exporter] Transient error ${response.status}, correlation ID: ${correlationId}, retrying after ${sleepMs}ms`);
204
211
  await this.sleep(sleepMs);
205
212
  continue;
206
213
  }
207
214
  }
208
215
  logging_1.default.error(`[Agent365Exporter] Failed with status ${response.status}, correlation ID: ${correlationId}`);
209
- return false;
216
+ return { ok: false, correlationId };
210
217
  }
211
218
  catch (error) {
212
219
  logging_1.default.error('[Agent365Exporter] Request error:', (0, logging_1.formatError)(error));
@@ -216,10 +223,10 @@ class Agent365Exporter {
216
223
  await this.sleep(sleepMs);
217
224
  continue;
218
225
  }
219
- return false;
226
+ return { ok: false, correlationId: lastCorrelationId };
220
227
  }
221
228
  }
222
- return false;
229
+ return { ok: false, correlationId: lastCorrelationId };
223
230
  }
224
231
  /**
225
232
  * Sleep for specified milliseconds
@@ -238,7 +245,7 @@ class Agent365Exporter {
238
245
  const scope = sp.instrumentationScope || sp.instrumentationLibrary;
239
246
  const scopeKey = `${scope?.name || 'unknown'}:${scope?.version || ''}`;
240
247
  const existing = scopeMap.get(scopeKey) || [];
241
- existing.push(this.mapSpan(sp));
248
+ existing.push((0, utils_1.truncateSpan)(this.mapSpan(sp)));
242
249
  scopeMap.set(scopeKey, existing);
243
250
  }
244
251
  const scopeSpans = [];
@@ -1 +1 @@
1
- {"version":3,"file":"Agent365Exporter.js","sourceRoot":"","sources":["../../../../src/tracing/exporter/Agent365Exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent365Exporter.js","sourceRoot":"","sources":["../../../../src/tracing/exporter/Agent365Exporter.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,18 @@ export type TokenResolver = (agentId: string, tenantId: string) => string | null
11
11
  * These values tune batching, timeouts, token acquisition and endpoint shape. All properties have sensible
12
12
  * defaults so callers can usually construct without arguments and override selectively.
13
13
  *
14
- * @property {ClusterCategory | string} clusterCategory Environment / cluster category (e.g. "preprod", "prod", default to "prod").
14
+ * @property {ClusterCategory | string} clusterCategory Environment / cluster category (e.g. ClusterCategory.preprod, ClusterCategory.prod, default to ClusterCategory.prod).
15
15
  * @property {TokenResolver} [tokenResolver] Optional delegate to obtain an auth token. If omitted the exporter will
16
16
  * fall back to reading the cached token (AgenticTokenCacheInstance.getObservabilityToken).
17
- * @property {boolean} [useS2SEndpoint] When true, exporter will POST to the S2S path (/maven/agent365/service/agents/{agentId}/traces).
17
+ * @property {boolean} [useS2SEndpoint] When true, exporter will POST to the S2S path (/observabilityService/tenants/{tenantId}/otlp/agents/{agentId}/traces).
18
18
  * @property {number} maxQueueSize Maximum span queue size before drops occur (passed to BatchSpanProcessor).
19
19
  * @property {number} scheduledDelayMilliseconds Delay between automatic batch flush attempts.
20
- * @property {number} exporterTimeoutMilliseconds Per-export timeout (abort if exceeded).
20
+ * @property {number} exporterTimeoutMilliseconds Maximum time (ms) the BatchSpanProcessor waits for the entire export() call to complete before giving up. Covers partitioning, token resolution, and all HTTP retries.
21
+ * @property {number} httpRequestTimeoutMilliseconds Timeout (ms) for each individual HTTP request to the observability backend. Applies per fetch() call inside the retry loop; each retry gets a fresh timeout.
21
22
  * @property {number} maxExportBatchSize Maximum number of spans per export batch.
22
23
  */
23
24
  export declare class Agent365ExporterOptions {
24
- /** Environment / cluster category (e.g. "preprod", "prod"). */
25
+ /** Environment / cluster category (e.g. ClusterCategory.preprod, ClusterCategory.prod). */
25
26
  clusterCategory: ClusterCategory | string;
26
27
  /** Optional delegate to resolve auth token used by exporter */
27
28
  tokenResolver?: TokenResolver;
@@ -31,8 +32,10 @@ export declare class Agent365ExporterOptions {
31
32
  maxQueueSize: number;
32
33
  /** Delay (ms) between automatic batch flush attempts. */
33
34
  scheduledDelayMilliseconds: number;
34
- /** Per-export timeout in milliseconds. */
35
+ /** Maximum time (ms) the BatchSpanProcessor waits for the entire export() call to complete. */
35
36
  exporterTimeoutMilliseconds: number;
37
+ /** Timeout (ms) for each individual HTTP request to the observability backend. Each retry attempt gets a fresh timeout. */
38
+ httpRequestTimeoutMilliseconds: number;
36
39
  /** Maximum number of spans per export batch. */
37
40
  maxExportBatchSize: number;
38
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Agent365ExporterOptions.d.ts","sourceRoot":"","sources":["../../../../src/tracing/exporter/Agent365ExporterOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE1G;;;;;;;;;;;;;;GAcG;AACH,qBAAa,uBAAuB;IAClC,+DAA+D;IACxD,eAAe,EAAE,eAAe,GAAG,MAAM,CAAU;IAE1D,+DAA+D;IACxD,aAAa,CAAC,EAAE,aAAa,CAAC;IAErC,mDAAmD;IAC5C,cAAc,EAAE,OAAO,CAAS;IAEvC,4DAA4D;IACrD,YAAY,EAAE,MAAM,CAAQ;IAEnC,yDAAyD;IAClD,0BAA0B,EAAE,MAAM,CAAQ;IAEjD,0CAA0C;IACnC,2BAA2B,EAAE,MAAM,CAAS;IAEnD,gDAAgD;IACzC,kBAAkB,EAAE,MAAM,CAAO;CACzC"}
1
+ {"version":3,"file":"Agent365ExporterOptions.d.ts","sourceRoot":"","sources":["../../../../src/tracing/exporter/Agent365ExporterOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE1G;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAuB;IAClC,2FAA2F;IACpF,eAAe,EAAE,eAAe,GAAG,MAAM,CAAwB;IAExE,+DAA+D;IACxD,aAAa,CAAC,EAAE,aAAa,CAAC;IAErC,mDAAmD;IAC5C,cAAc,EAAE,OAAO,CAAS;IAEvC,4DAA4D;IACrD,YAAY,EAAE,MAAM,CAAQ;IAEnC,yDAAyD;IAClD,0BAA0B,EAAE,MAAM,CAAQ;IAEjD,+FAA+F;IACxF,2BAA2B,EAAE,MAAM,CAAS;IAEnD,2HAA2H;IACpH,8BAA8B,EAAE,MAAM,CAAS;IAEtD,gDAAgD;IACzC,kBAAkB,EAAE,MAAM,CAAO;CACzC"}
@@ -5,33 +5,37 @@
5
5
  // ------------------------------------------------------------------------------
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.Agent365ExporterOptions = void 0;
8
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
8
9
  /**
9
10
  * Options controlling the behavior of the Agent365 OpenTelemetry span exporter.
10
11
  *
11
12
  * These values tune batching, timeouts, token acquisition and endpoint shape. All properties have sensible
12
13
  * defaults so callers can usually construct without arguments and override selectively.
13
14
  *
14
- * @property {ClusterCategory | string} clusterCategory Environment / cluster category (e.g. "preprod", "prod", default to "prod").
15
+ * @property {ClusterCategory | string} clusterCategory Environment / cluster category (e.g. ClusterCategory.preprod, ClusterCategory.prod, default to ClusterCategory.prod).
15
16
  * @property {TokenResolver} [tokenResolver] Optional delegate to obtain an auth token. If omitted the exporter will
16
17
  * fall back to reading the cached token (AgenticTokenCacheInstance.getObservabilityToken).
17
- * @property {boolean} [useS2SEndpoint] When true, exporter will POST to the S2S path (/maven/agent365/service/agents/{agentId}/traces).
18
+ * @property {boolean} [useS2SEndpoint] When true, exporter will POST to the S2S path (/observabilityService/tenants/{tenantId}/otlp/agents/{agentId}/traces).
18
19
  * @property {number} maxQueueSize Maximum span queue size before drops occur (passed to BatchSpanProcessor).
19
20
  * @property {number} scheduledDelayMilliseconds Delay between automatic batch flush attempts.
20
- * @property {number} exporterTimeoutMilliseconds Per-export timeout (abort if exceeded).
21
+ * @property {number} exporterTimeoutMilliseconds Maximum time (ms) the BatchSpanProcessor waits for the entire export() call to complete before giving up. Covers partitioning, token resolution, and all HTTP retries.
22
+ * @property {number} httpRequestTimeoutMilliseconds Timeout (ms) for each individual HTTP request to the observability backend. Applies per fetch() call inside the retry loop; each retry gets a fresh timeout.
21
23
  * @property {number} maxExportBatchSize Maximum number of spans per export batch.
22
24
  */
23
25
  class Agent365ExporterOptions {
24
26
  constructor() {
25
- /** Environment / cluster category (e.g. "preprod", "prod"). */
26
- this.clusterCategory = 'prod';
27
+ /** Environment / cluster category (e.g. ClusterCategory.preprod, ClusterCategory.prod). */
28
+ this.clusterCategory = agents_a365_runtime_1.ClusterCategory.prod;
27
29
  /** When true, use S2S endpoint path for export. */
28
30
  this.useS2SEndpoint = false;
29
31
  /** Maximum span queue size before new spans are dropped. */
30
32
  this.maxQueueSize = 2048;
31
33
  /** Delay (ms) between automatic batch flush attempts. */
32
34
  this.scheduledDelayMilliseconds = 5000;
33
- /** Per-export timeout in milliseconds. */
34
- this.exporterTimeoutMilliseconds = 30000;
35
+ /** Maximum time (ms) the BatchSpanProcessor waits for the entire export() call to complete. */
36
+ this.exporterTimeoutMilliseconds = 90000;
37
+ /** Timeout (ms) for each individual HTTP request to the observability backend. Each retry attempt gets a fresh timeout. */
38
+ this.httpRequestTimeoutMilliseconds = 30000;
35
39
  /** Maximum number of spans per export batch. */
36
40
  this.maxExportBatchSize = 512;
37
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Agent365ExporterOptions.js","sourceRoot":"","sources":["../../../../src/tracing/exporter/Agent365ExporterOptions.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;AAUjF;;;;;;;;;;;;;;GAcG;AACH,MAAa,uBAAuB;IAApC;QACE,+DAA+D;QACxD,oBAAe,GAA6B,MAAM,CAAC;QAK1D,mDAAmD;QAC5C,mBAAc,GAAY,KAAK,CAAC;QAEvC,4DAA4D;QACrD,iBAAY,GAAW,IAAI,CAAC;QAEnC,yDAAyD;QAClD,+BAA0B,GAAW,IAAI,CAAC;QAEjD,0CAA0C;QACnC,gCAA2B,GAAW,KAAK,CAAC;QAEnD,gDAAgD;QACzC,uBAAkB,GAAW,GAAG,CAAC;IAC1C,CAAC;CAAA;AArBD,0DAqBC"}
1
+ {"version":3,"file":"Agent365ExporterOptions.js","sourceRoot":"","sources":["../../../../src/tracing/exporter/Agent365ExporterOptions.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;AAEjF,wEAAiE;AASjE;;;;;;;;;;;;;;;GAeG;AACH,MAAa,uBAAuB;IAApC;QACE,2FAA2F;QACpF,oBAAe,GAA6B,qCAAe,CAAC,IAAI,CAAC;QAKxE,mDAAmD;QAC5C,mBAAc,GAAY,KAAK,CAAC;QAEvC,4DAA4D;QACrD,iBAAY,GAAW,IAAI,CAAC;QAEnC,yDAAyD;QAClD,+BAA0B,GAAW,IAAI,CAAC;QAEjD,+FAA+F;QACxF,gCAA2B,GAAW,KAAK,CAAC;QAEnD,2HAA2H;QACpH,mCAA8B,GAAW,KAAK,CAAC;QAEtD,gDAAgD;QACzC,uBAAkB,GAAW,GAAG,CAAC;IAC1C,CAAC;CAAA;AAxBD,0DAwBC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Event names used by Agent365Exporter for logging and monitoring.
3
+ * These are low-cardinality event types to ensure efficient monitoring and aggregation.
4
+ */
5
+ export declare enum ExporterEventNames {
6
+ /**
7
+ * Overall export operation event - logs the entire batch export success/failure and duration
8
+ */
9
+ EXPORT = "agent365-export",
10
+ /**
11
+ * Group export operation event - logs individual tenant/agent group export success/failure and duration.
12
+ * Contextual information (tenantId, agentId, correlationId) should be passed in the details parameter.
13
+ */
14
+ EXPORT_GROUP = "export-group",
15
+ /**
16
+ * Tracked spans being skipped due to missing tenant or agent ID. Before export event, spans are partitioned by identity (tenant or agent ID) first.
17
+ */
18
+ EXPORT_PARTITION_SPAN_MISSING_IDENTITY = "export-partition-span-missing-identity"
19
+ }
20
+ //# sourceMappingURL=ExporterEventNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExporterEventNames.d.ts","sourceRoot":"","sources":["../../../../src/tracing/exporter/ExporterEventNames.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B;;OAEG;IACH,MAAM,oBAAoB;IAE1B;;;OAGG;IACH,YAAY,iBAAiB;IAE7B;;OAEG;IACH,sCAAsC,2CAA2C;CAClF"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ExporterEventNames = void 0;
6
+ /**
7
+ * Event names used by Agent365Exporter for logging and monitoring.
8
+ * These are low-cardinality event types to ensure efficient monitoring and aggregation.
9
+ */
10
+ var ExporterEventNames;
11
+ (function (ExporterEventNames) {
12
+ /**
13
+ * Overall export operation event - logs the entire batch export success/failure and duration
14
+ */
15
+ ExporterEventNames["EXPORT"] = "agent365-export";
16
+ /**
17
+ * Group export operation event - logs individual tenant/agent group export success/failure and duration.
18
+ * Contextual information (tenantId, agentId, correlationId) should be passed in the details parameter.
19
+ */
20
+ ExporterEventNames["EXPORT_GROUP"] = "export-group";
21
+ /**
22
+ * Tracked spans being skipped due to missing tenant or agent ID. Before export event, spans are partitioned by identity (tenant or agent ID) first.
23
+ */
24
+ ExporterEventNames["EXPORT_PARTITION_SPAN_MISSING_IDENTITY"] = "export-partition-span-missing-identity";
25
+ })(ExporterEventNames || (exports.ExporterEventNames = ExporterEventNames = {}));
26
+ //# sourceMappingURL=ExporterEventNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExporterEventNames.js","sourceRoot":"","sources":["../../../../src/tracing/exporter/ExporterEventNames.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC;;;GAGG;AACH,IAAY,kBAgBX;AAhBD,WAAY,kBAAkB;IAC5B;;OAEG;IACH,gDAA0B,CAAA;IAE1B;;;OAGG;IACH,mDAA6B,CAAA;IAE7B;;OAEG;IACH,uGAAiF,CAAA;AACnF,CAAC,EAhBW,kBAAkB,kCAAlB,kBAAkB,QAgB7B"}
@@ -1,6 +1,7 @@
1
1
  import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
2
  import { SpanKind, SpanStatusCode } from '@opentelemetry/api';
3
- import { ClusterCategory } from '@microsoft/agents-a365-runtime';
3
+ import { ClusterCategory, IConfigurationProvider } from '@microsoft/agents-a365-runtime';
4
+ import { ObservabilityConfiguration, PerRequestSpanProcessorConfiguration } from '../../configuration';
4
5
  /**
5
6
  * Convert trace ID to hex string format
6
7
  */
@@ -27,20 +28,17 @@ export declare function statusName(code: SpanStatusCode): string;
27
28
  export declare function partitionByIdentity(spans: ReadableSpan[]): Map<string, ReadableSpan[]>;
28
29
  /**
29
30
  * Check if Agent 365 exporter is enabled via environment variable
31
+ * @param configProvider Optional configuration provider. Defaults to defaultObservabilityConfigurationProvider if not specified.
30
32
  */
31
- export declare function isAgent365ExporterEnabled(): boolean;
33
+ export declare function isAgent365ExporterEnabled(configProvider?: IConfigurationProvider<ObservabilityConfiguration>): boolean;
32
34
  /**
33
- * Check if per-request export is enabled via environment variable.
35
+ * Check if per-request export is enabled.
36
+ * Precedence: internal overrides > configuration provider > environment variable.
34
37
  * When enabled, the PerRequestSpanProcessor is used instead of BatchSpanProcessor.
35
38
  * The token is passed via OTel Context (async local storage) at export time.
39
+ * @param configProvider Optional configuration provider. Defaults to defaultPerRequestSpanProcessorConfigurationProvider if not specified.
36
40
  */
37
- export declare function isPerRequestExportEnabled(): boolean;
38
- /**
39
- * Single toggle to use custom domain for observability export.
40
- * When true exporter will send traces to custom Agent365 service endpoint
41
- * and include x-ms-tenant-id in headers.
42
- */
43
- export declare function useCustomDomainForObservability(): boolean;
41
+ export declare function isPerRequestExportEnabled(configProvider?: IConfigurationProvider<PerRequestSpanProcessorConfiguration>): boolean;
44
42
  /**
45
43
  * Resolve the Agent365 service endpoint base URI for a given cluster category.
46
44
  * When an explicit override is not configured, this determines the default base URI.
@@ -51,8 +49,9 @@ export declare function resolveAgent365Endpoint(clusterCategory: ClusterCategory
51
49
  * Internal development and test clusters can override this by setting the
52
50
  * `A365_OBSERVABILITY_DOMAIN_OVERRIDE` environment variable. When set to a
53
51
  * non-empty value, that value is used as the base URI regardless of cluster category. Otherwise, null is returned.
52
+ * @param configProvider Optional configuration provider. Defaults to defaultObservabilityConfigurationProvider if not specified.
54
53
  */
55
- export declare function getAgent365ObservabilityDomainOverride(): string | null;
54
+ export declare function getAgent365ObservabilityDomainOverride(configProvider?: IConfigurationProvider<ObservabilityConfiguration>): string | null;
56
55
  /**
57
56
  * Parse identity key back to tenant and agent IDs
58
57
  */
@@ -60,4 +59,18 @@ export declare function parseIdentityKey(key: string): {
60
59
  tenantId: string;
61
60
  agentId: string;
62
61
  };
62
+ /** Maximum allowed span size in bytes (250KB). @internal */
63
+ export declare const MAX_SPAN_SIZE_BYTES: number;
64
+ interface OTLPSpanLike {
65
+ attributes: Record<string, unknown> | null;
66
+ }
67
+ /**
68
+ * Truncate span attributes if the serialized span exceeds MAX_SPAN_SIZE_BYTES.
69
+ *
70
+ * Phase 1: iteratively shrink all fields (blobs, text, json, strings) by size
71
+ * priority, remeasuring after each step.
72
+ * Phase 2 (fallback): replace remaining string attributes with overlimit sentinel.
73
+ */
74
+ export declare function truncateSpan<T extends OTLPSpanLike>(spanDict: T): T;
75
+ export {};
63
76
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/tracing/exporter/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOxD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMpD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAe/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAWvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EAAE,GACpB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAuB7B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAMnD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAMnD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,OAAO,CAMzD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,CAMhF;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,IAAI,MAAM,GAAG,IAAI,CAQtE;AAGD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAGnF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/tracing/exporter/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAKzF,OAAO,EACL,0BAA0B,EAE1B,oCAAoC,EAErC,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOxD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMpD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAe/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAWvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EAAE,GACpB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CA0B7B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,CAAC,EAAE,sBAAsB,CAAC,0BAA0B,CAAC,GAClE,OAAO,CAKT;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,CAAC,EAAE,sBAAsB,CAAC,oCAAoC,CAAC,GAC5E,OAAO,CAYT;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,CAMhF;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CACpD,cAAc,CAAC,EAAE,sBAAsB,CAAC,0BAA0B,CAAC,GAClE,MAAM,GAAG,IAAI,CAGf;AAGD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAGnF;AAMD,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,QAAa,CAAC;AAqC9C,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AA2QD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CA8DnE"}