@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
@@ -3,26 +3,27 @@
3
3
  // Licensed under the MIT License.
4
4
  // ------------------------------------------------------------------------------
5
5
  import { ExportResultCode } from '@opentelemetry/core';
6
- import { PowerPlatformApiDiscovery } from '@microsoft/agents-a365-runtime';
7
- import { partitionByIdentity, parseIdentityKey, hexTraceId, hexSpanId, kindName, statusName, useCustomDomainForObservability, resolveAgent365Endpoint, getAgent365ObservabilityDomainOverride, isPerRequestExportEnabled } from './utils';
6
+ import { partitionByIdentity, parseIdentityKey, hexTraceId, hexSpanId, kindName, statusName, resolveAgent365Endpoint, getAgent365ObservabilityDomainOverride, isPerRequestExportEnabled, truncateSpan, } from './utils';
8
7
  import { getExportToken } from '../context/token-context';
9
8
  import logger, { formatError } from '../../utils/logging';
10
- const DEFAULT_HTTP_TIMEOUT_SECONDS = 30000; // 30 seconds in ms
9
+ import { ExporterEventNames } from './ExporterEventNames';
11
10
  const DEFAULT_MAX_RETRIES = 3;
12
11
  /**
13
12
  * Observability span exporter for Agent365:
14
13
  * - Partitions spans by (tenantId, agentId)
15
14
  * - Builds OTLP-like JSON: resourceSpans -> scopeSpans -> spans
16
- * - POSTs per group to https://{endpoint}/maven/agent365/agents/{agentId}/traces?api-version=1
17
- * or, when useS2SEndpoint is true, https://{endpoint}/maven/agent365/service/agents/{agentId}/traces?api-version=1
15
+ * - POSTs per group to https://{endpoint}/observability/tenants/{tenantId}/otlp/agents/{agentId}/traces?api-version=1
16
+ * or, when useS2SEndpoint is true, https://{endpoint}/observabilityService/tenants/{tenantId}/otlp/agents/{agentId}/traces?api-version=1
18
17
  * - Adds Bearer token via token_resolver(agentId, tenantId)
19
18
  */
20
19
  export class Agent365Exporter {
21
20
  /**
22
21
  * Initialize exporter with a fully constructed options instance.
23
- * If tokenResolver is missing, installs cache-backed resolver.
22
+ * @param options Exporter options controlling batching, timeouts, token acquisition and endpoint shape.
23
+ * @param configProvider Optional configuration provider. When supplied, the exporter uses it for
24
+ * configuration lookups (custom domain, domain override) instead of the default env-based provider.
24
25
  */
25
- constructor(options) {
26
+ constructor(options, configProvider) {
26
27
  this.closed = false;
27
28
  if (!options) {
28
29
  throw new Error('Agent365ExporterOptions must be provided (was null/undefined)');
@@ -31,6 +32,7 @@ export class Agent365Exporter {
31
32
  throw new Error('Agent365Exporter tokenResolver must be provided for batch export');
32
33
  }
33
34
  this.options = options;
35
+ this.configProvider = configProvider;
34
36
  }
35
37
  /**
36
38
  * Export spans to Agent365 service
@@ -40,6 +42,7 @@ export class Agent365Exporter {
40
42
  resultCallback({ code: ExportResultCode.FAILED });
41
43
  return;
42
44
  }
45
+ const startTime = Date.now();
43
46
  try {
44
47
  logger.info(`[Agent365Exporter] Exporting ${spans.length} spans`);
45
48
  const groups = partitionByIdentity(spans);
@@ -59,13 +62,18 @@ export class Agent365Exporter {
59
62
  promises.push(promise);
60
63
  }
61
64
  await Promise.all(promises);
62
- logger.info(`[Agent365Exporter] Export completed. Success: ${!anyFailure}`);
65
+ const duration = Date.now() - startTime;
66
+ const success = !anyFailure;
67
+ const message = success ? 'All spans exported successfully' : 'Not all spans exported successfully';
68
+ logger.event(ExporterEventNames.EXPORT, success, duration, message);
63
69
  resultCallback({
64
- code: anyFailure ? ExportResultCode.FAILED : ExportResultCode.SUCCESS
70
+ code: success ? ExportResultCode.SUCCESS : ExportResultCode.FAILED
65
71
  });
66
72
  }
67
73
  catch (_error) {
68
74
  // Exporters should not raise; signal failure
75
+ const duration = Date.now() - startTime;
76
+ logger.event(ExporterEventNames.EXPORT, false, duration, `Export failed with error: ${formatError(_error)}`);
69
77
  resultCallback({ code: ExportResultCode.FAILED });
70
78
  }
71
79
  }
@@ -75,75 +83,74 @@ export class Agent365Exporter {
75
83
  async exportGroup(identityKey, spans) {
76
84
  const { tenantId, agentId } = parseIdentityKey(identityKey);
77
85
  logger.info(`[Agent365Exporter] Exporting ${spans.length} spans for tenantId: ${tenantId}, agentId: ${agentId}`);
86
+ const startTime = Date.now();
78
87
  const payload = this.buildExportRequest(spans);
79
88
  const body = JSON.stringify(payload);
80
- const usingCustomServiceEndpoint = useCustomDomainForObservability();
81
- // Select endpoint path based on S2S flag
82
- const endpointRelativePath = this.options.useS2SEndpoint
83
- ? `/maven/agent365/service/agents/${agentId}/traces`
84
- : `/maven/agent365/agents/${agentId}/traces`;
89
+ // Select endpoint path based on S2S flag (includes tenantId in path)
90
+ const servicePrefix = this.options.useS2SEndpoint ? '/observabilityService' : '/observability';
91
+ const endpointRelativePath = `${servicePrefix}/tenants/${encodeURIComponent(tenantId)}/otlp/agents/${encodeURIComponent(agentId)}/traces`;
85
92
  let url;
86
- const domainOverride = getAgent365ObservabilityDomainOverride();
93
+ const domainOverride = getAgent365ObservabilityDomainOverride(this.configProvider);
87
94
  if (domainOverride) {
88
95
  url = `${domainOverride}${endpointRelativePath}?api-version=1`;
89
96
  }
90
- else if (usingCustomServiceEndpoint) {
97
+ else {
91
98
  const base = resolveAgent365Endpoint(this.options.clusterCategory);
92
99
  url = `${base}${endpointRelativePath}?api-version=1`;
93
- logger.info(`[Agent365Exporter] Using custom domain endpoint: ${url}`);
94
- }
95
- else {
96
- // Default behavior: discover PPAPI gateway endpoint per-tenant
97
- const discovery = new PowerPlatformApiDiscovery(this.options.clusterCategory);
98
- const endpoint = discovery.getTenantIslandClusterEndpoint(tenantId);
99
- url = `https://${endpoint}${endpointRelativePath}?api-version=1`;
100
- logger.info(`[Agent365Exporter] Resolved endpoint: ${url}`);
100
+ logger.info(`[Agent365Exporter] Using default endpoint: ${url}`);
101
101
  }
102
102
  const headers = {
103
103
  'content-type': 'application/json'
104
104
  };
105
105
  let token = null;
106
+ let tokenNotResolvedReason = null;
106
107
  if (isPerRequestExportEnabled()) {
107
108
  // For per-request export, get token from OTel Context
108
109
  token = getExportToken() ?? null;
109
110
  if (!token) {
110
- logger.error('[Agent365Exporter] No token available in OTel Context for per-request export');
111
+ tokenNotResolvedReason = 'No token available in OTel Context for per-request export';
111
112
  }
112
113
  }
113
114
  else {
114
115
  // For batch export, use tokenResolver
115
116
  if (!this.options.tokenResolver) {
116
- logger.error('[Agent365Exporter] tokenResolver is undefined, skip exporting');
117
- return;
118
- }
119
- const tokenResult = this.options.tokenResolver(agentId, tenantId);
120
- token = tokenResult instanceof Promise ? await tokenResult : tokenResult;
121
- if (token) {
122
- logger.info('[Agent365Exporter] Token resolved successfully via tokenResolver');
117
+ tokenNotResolvedReason = 'tokenResolver is undefined';
123
118
  }
124
119
  else {
125
- logger.error('[Agent365Exporter] No token resolved via tokenResolver');
120
+ const tokenResult = this.options.tokenResolver(agentId, tenantId);
121
+ token = tokenResult instanceof Promise ? await tokenResult : tokenResult;
122
+ if (token) {
123
+ logger.info('[Agent365Exporter] Token resolved successfully via tokenResolver');
124
+ }
125
+ else {
126
+ tokenNotResolvedReason = 'No token resolved via tokenResolver';
127
+ }
126
128
  }
127
129
  }
128
130
  if (token) {
129
131
  headers['authorization'] = `Bearer ${token}`;
130
132
  }
131
- // Add tenant id to headers when using custom domain
132
- if (usingCustomServiceEndpoint) {
133
- headers['x-ms-tenant-id'] = tenantId;
133
+ else {
134
+ const skipReason = tokenNotResolvedReason || 'Token not resolved for export request';
135
+ logger.event(ExporterEventNames.EXPORT_GROUP, false, 0, `skip exporting: ${skipReason}`, { tenantId, agentId });
136
+ return;
134
137
  }
138
+ // Always include tenant id header
139
+ headers['x-ms-tenant-id'] = tenantId;
135
140
  // Basic retry loop
136
- const ok = await this.postWithRetries(url, body, headers);
141
+ const { ok, correlationId } = await this.postWithRetries(url, body, headers);
142
+ const duration = Date.now() - startTime;
137
143
  if (!ok) {
138
- logger.error('[Agent365Exporter] Failed to export spans');
144
+ logger.event(ExporterEventNames.EXPORT_GROUP, false, duration, undefined, { tenantId, agentId, correlationId });
139
145
  throw new Error('Failed to export spans');
140
146
  }
141
- logger.info('[Agent365Exporter] Successfully exported spans');
147
+ logger.event(ExporterEventNames.EXPORT_GROUP, true, duration, 'Spans exported successfully', { tenantId, agentId, correlationId });
142
148
  }
143
149
  /**
144
150
  * HTTP POST with retry logic
145
151
  */
146
152
  async postWithRetries(url, body, headers) {
153
+ let lastCorrelationId = 'unknown';
147
154
  for (let attempt = 0; attempt <= DEFAULT_MAX_RETRIES; attempt++) {
148
155
  let correlationId;
149
156
  try {
@@ -152,25 +159,25 @@ export class Agent365Exporter {
152
159
  method: 'POST',
153
160
  headers,
154
161
  body,
155
- signal: AbortSignal.timeout(DEFAULT_HTTP_TIMEOUT_SECONDS)
162
+ signal: AbortSignal.timeout(this.options.httpRequestTimeoutMilliseconds)
156
163
  });
157
164
  correlationId = response?.headers?.get('x-ms-correlation-id') || response?.headers?.get('x-correlation-id') || 'unknown';
165
+ lastCorrelationId = correlationId;
158
166
  // 2xx => success
159
167
  if (response.status >= 200 && response.status < 300) {
160
- logger.info(`[Agent365Exporter] Success with status ${response.status}, correlation ID: ${correlationId}`);
161
- return true;
168
+ return { ok: true, correlationId };
162
169
  }
163
170
  // Retry transient errors
164
171
  if ([408, 429].includes(response.status) || (response.status >= 500 && response.status < 600)) {
165
172
  if (attempt < DEFAULT_MAX_RETRIES) {
166
- const sleepMs = 200 * (attempt + 1);
173
+ const sleepMs = 200 * (attempt + 1) + Math.floor(Math.random() * 100);
167
174
  logger.warn(`[Agent365Exporter] Transient error ${response.status}, correlation ID: ${correlationId}, retrying after ${sleepMs}ms`);
168
175
  await this.sleep(sleepMs);
169
176
  continue;
170
177
  }
171
178
  }
172
179
  logger.error(`[Agent365Exporter] Failed with status ${response.status}, correlation ID: ${correlationId}`);
173
- return false;
180
+ return { ok: false, correlationId };
174
181
  }
175
182
  catch (error) {
176
183
  logger.error('[Agent365Exporter] Request error:', formatError(error));
@@ -180,10 +187,10 @@ export class Agent365Exporter {
180
187
  await this.sleep(sleepMs);
181
188
  continue;
182
189
  }
183
- return false;
190
+ return { ok: false, correlationId: lastCorrelationId };
184
191
  }
185
192
  }
186
- return false;
193
+ return { ok: false, correlationId: lastCorrelationId };
187
194
  }
188
195
  /**
189
196
  * Sleep for specified milliseconds
@@ -202,7 +209,7 @@ export class Agent365Exporter {
202
209
  const scope = sp.instrumentationScope || sp.instrumentationLibrary;
203
210
  const scopeKey = `${scope?.name || 'unknown'}:${scope?.version || ''}`;
204
211
  const existing = scopeMap.get(scopeKey) || [];
205
- existing.push(this.mapSpan(sp));
212
+ existing.push(truncateSpan(this.mapSpan(sp)));
206
213
  scopeMap.set(scopeKey, existing);
207
214
  }
208
215
  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":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAEjF,OAAO,EAAgB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKrE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,sCAAsC,EACtC,yBAAyB,EACzB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAoD9B;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IAK3B;;;;;OAKG;IACH,YAAY,OAAgC,EAAE,cAAmE;QAVzG,WAAM,GAAG,KAAK,CAAC;QAWrB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAqB,EAAE,cAA8C;QAChF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACtD,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC;YAC3E,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,QAAQ,GAAoB,EAAE,CAAC;YAErC,KAAK,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACtE,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,4CAA4C,WAAW,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/F,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC;YAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,qCAAqC,CAAC;YACpG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpE,cAAc,CAAC;gBACb,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM;aACnE,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,6BAA6B,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7G,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,KAAqB;QAClE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,MAAM,wBAAwB,QAAQ,cAAc,OAAO,EAAE,CAAC,CAAC;QAEjH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,qEAAqE;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC/F,MAAM,oBAAoB,GAAG,GAAG,aAAa,YAAY,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC;QAE1I,IAAI,GAAW,CAAC;QAChB,MAAM,cAAc,GAAG,sCAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnF,IAAI,cAAc,EAAE,CAAC;YACnB,GAAG,GAAG,GAAG,cAAc,GAAG,oBAAoB,gBAAgB,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAkC,CAAC,CAAC;YACtF,GAAG,GAAG,GAAG,IAAI,GAAG,oBAAoB,gBAAgB,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,sBAAsB,GAAkB,IAAI,CAAC;QACjD,IAAI,yBAAyB,EAAE,EAAE,CAAC;YAChC,sDAAsD;YACtD,KAAK,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,sBAAsB,GAAG,2DAA2D,CAAC;YACvF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAChC,sBAAsB,GAAG,4BAA4B,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAClE,KAAK,GAAG,WAAW,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;gBACzE,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,sBAAsB,GAAG,qCAAqC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;QAC/C,CAAC;aACI,CAAC;YACJ,MAAM,UAAU,GAAG,sBAAsB,IAAI,uCAAuC,CAAC;YACrF,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,mBAAmB,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAChH,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,OAAO,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;QAErC,mBAAmB;QACnB,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,6BAA6B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACrI,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,IAAY,EAAE,OAA+B;QACtF,IAAI,iBAAiB,GAAG,SAAS,CAAC;QAClC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,mBAAmB,EAAE,OAAO,EAAE,EAAE,CAAC;YAChE,IAAI,aAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,4DAA4D,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAChC,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,IAAI;oBACJ,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC;iBACzE,CAAC,CAAC;gBAEH,aAAa,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,qBAAqB,CAAC,IAAI,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;gBACzH,iBAAiB,GAAG,aAAa,CAAC;gBAElC,iBAAiB;gBACjB,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBACpD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBACrC,CAAC;gBAED,yBAAyB;gBACzB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;oBAC9F,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;wBAClC,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;wBACtE,MAAM,CAAC,IAAI,CAAC,sCAAsC,QAAQ,CAAC,MAAM,qBAAqB,aAAa,oBAAoB,OAAO,IAAI,CAAC,CAAC;wBACpI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1B,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,yCAAyC,QAAQ,CAAC,MAAM,qBAAqB,aAAa,EAAE,CAAC,CAAC;gBAC3G,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,qCAAqC,OAAO,IAAI,CAAC,CAAC;oBAC9D,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAAqB;QAC9C,iDAAiD;QACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACvE,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,EAAE,CAAC,oBAAoB,IAAK,EAAsF,CAAC,sBAAsB,CAAC;YACxJ,MAAM,QAAQ,GAAG,GAAG,KAAK,EAAE,IAAI,IAAI,SAAS,IAAI,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YAEvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE;oBACL,IAAI;oBACJ,OAAO,EAAE,OAAO,IAAI,SAAS;iBAC9B;gBACD,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC;QAED,0FAA0F;QAC1F,IAAI,aAAa,GAA4B,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC;YACxD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,aAAa,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO;YACL,aAAa,EAAE;gBACb;oBACE,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBACtF,UAAU;iBACX;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,EAAgB;QAC9B,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,2DAA2D;QAC3D,IAAI,eAAe,GAAuB,SAAS,CAAC;QACpD,MAAM,aAAa,GAAG,EAAE,CAAC,iBAAiB,CAAC;QAC3C,IAAI,aAAa,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;YACzE,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,aAAa;QACb,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExD,SAAS;QACT,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACjC,6DAA6D;YAC7D,IAAI,MAAc,CAAC;YACnB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,EAAE,CAAC,IAAc,CAAC;YAC7B,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrG,MAAM,CAAC,IAAI,CAAC;gBACV,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAED,QAAQ;QACR,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrG,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;gBACvC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;gBACpC,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAED,SAAS;QACT,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,oCAAoC;QAC7E,MAAM,MAAM,GAAe;YACzB,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;YAC5B,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE;SAClC,CAAC;QAEF,yFAAyF;QACzF,IAAI,WAAmB,CAAC;QACxB,IAAI,SAAiB,CAAC;QAEtB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,uCAAuC;YACvC,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,WAAW,GAAG,EAAE,CAAC,SAAmB,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,uCAAuC;YACvC,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,SAAS,GAAG,EAAE,CAAC,OAAiB,CAAC;QACnC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;YACxC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;YACrC,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;YACvB,iBAAiB,EAAE,WAAW;YAC9B,eAAe,EAAE,SAAS;YAC1B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACxD,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YACzC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACtC,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,gCAAgC;QAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -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"}
@@ -2,33 +2,37 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT License.
4
4
  // ------------------------------------------------------------------------------
5
+ import { ClusterCategory } from '@microsoft/agents-a365-runtime';
5
6
  /**
6
7
  * Options controlling the behavior of the Agent365 OpenTelemetry span exporter.
7
8
  *
8
9
  * These values tune batching, timeouts, token acquisition and endpoint shape. All properties have sensible
9
10
  * defaults so callers can usually construct without arguments and override selectively.
10
11
  *
11
- * @property {ClusterCategory | string} clusterCategory Environment / cluster category (e.g. "preprod", "prod", default to "prod").
12
+ * @property {ClusterCategory | string} clusterCategory Environment / cluster category (e.g. ClusterCategory.preprod, ClusterCategory.prod, default to ClusterCategory.prod).
12
13
  * @property {TokenResolver} [tokenResolver] Optional delegate to obtain an auth token. If omitted the exporter will
13
14
  * fall back to reading the cached token (AgenticTokenCacheInstance.getObservabilityToken).
14
- * @property {boolean} [useS2SEndpoint] When true, exporter will POST to the S2S path (/maven/agent365/service/agents/{agentId}/traces).
15
+ * @property {boolean} [useS2SEndpoint] When true, exporter will POST to the S2S path (/observabilityService/tenants/{tenantId}/otlp/agents/{agentId}/traces).
15
16
  * @property {number} maxQueueSize Maximum span queue size before drops occur (passed to BatchSpanProcessor).
16
17
  * @property {number} scheduledDelayMilliseconds Delay between automatic batch flush attempts.
17
- * @property {number} exporterTimeoutMilliseconds Per-export timeout (abort if exceeded).
18
+ * @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.
19
+ * @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.
18
20
  * @property {number} maxExportBatchSize Maximum number of spans per export batch.
19
21
  */
20
22
  export class Agent365ExporterOptions {
21
23
  constructor() {
22
- /** Environment / cluster category (e.g. "preprod", "prod"). */
23
- this.clusterCategory = 'prod';
24
+ /** Environment / cluster category (e.g. ClusterCategory.preprod, ClusterCategory.prod). */
25
+ this.clusterCategory = ClusterCategory.prod;
24
26
  /** When true, use S2S endpoint path for export. */
25
27
  this.useS2SEndpoint = false;
26
28
  /** Maximum span queue size before new spans are dropped. */
27
29
  this.maxQueueSize = 2048;
28
30
  /** Delay (ms) between automatic batch flush attempts. */
29
31
  this.scheduledDelayMilliseconds = 5000;
30
- /** Per-export timeout in milliseconds. */
31
- this.exporterTimeoutMilliseconds = 30000;
32
+ /** Maximum time (ms) the BatchSpanProcessor waits for the entire export() call to complete. */
33
+ this.exporterTimeoutMilliseconds = 90000;
34
+ /** Timeout (ms) for each individual HTTP request to the observability backend. Each retry attempt gets a fresh timeout. */
35
+ this.httpRequestTimeoutMilliseconds = 30000;
32
36
  /** Maximum number of spans per export batch. */
33
37
  this.maxExportBatchSize = 512;
34
38
  }
@@ -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,MAAM,OAAO,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"}
1
+ {"version":3,"file":"Agent365ExporterOptions.js","sourceRoot":"","sources":["../../../../src/tracing/exporter/Agent365ExporterOptions.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AASjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,uBAAuB;IAApC;QACE,2FAA2F;QACpF,oBAAe,GAA6B,eAAe,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"}
@@ -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,23 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Event names used by Agent365Exporter for logging and monitoring.
5
+ * These are low-cardinality event types to ensure efficient monitoring and aggregation.
6
+ */
7
+ export var ExporterEventNames;
8
+ (function (ExporterEventNames) {
9
+ /**
10
+ * Overall export operation event - logs the entire batch export success/failure and duration
11
+ */
12
+ ExporterEventNames["EXPORT"] = "agent365-export";
13
+ /**
14
+ * Group export operation event - logs individual tenant/agent group export success/failure and duration.
15
+ * Contextual information (tenantId, agentId, correlationId) should be passed in the details parameter.
16
+ */
17
+ ExporterEventNames["EXPORT_GROUP"] = "export-group";
18
+ /**
19
+ * Tracked spans being skipped due to missing tenant or agent ID. Before export event, spans are partitioned by identity (tenant or agent ID) first.
20
+ */
21
+ ExporterEventNames["EXPORT_PARTITION_SPAN_MISSING_IDENTITY"] = "export-partition-span-missing-identity";
22
+ })(ExporterEventNames || (ExporterEventNames = {}));
23
+ //# 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,MAAM,CAAN,IAAY,kBAgBX;AAhBD,WAAY,kBAAkB;IAC5B;;OAEG;IACH,gDAA0B,CAAA;IAE1B;;;OAGG;IACH,mDAA6B,CAAA;IAE7B;;OAEG;IACH,uGAAiF,CAAA;AACnF,CAAC,EAhBW,kBAAkB,KAAlB,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"}