@microsoft/agents-a365-observability 0.1.0-preview.63 → 0.1.0-preview.83

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 (104) hide show
  1. package/LICENSE.md +21 -0
  2. package/dist/cjs/ObservabilityBuilder.d.ts +2 -0
  3. package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -1
  4. package/dist/cjs/ObservabilityBuilder.js +33 -7
  5. package/dist/cjs/ObservabilityBuilder.js.map +1 -1
  6. package/dist/cjs/index.d.ts +1 -0
  7. package/dist/cjs/index.d.ts.map +1 -1
  8. package/dist/cjs/index.js +5 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts +32 -0
  11. package/dist/cjs/tracing/PerRequestSpanProcessor.d.ts.map +1 -0
  12. package/dist/cjs/tracing/PerRequestSpanProcessor.js +253 -0
  13. package/dist/cjs/tracing/PerRequestSpanProcessor.js.map +1 -0
  14. package/dist/cjs/tracing/constants.d.ts +2 -0
  15. package/dist/cjs/tracing/constants.d.ts.map +1 -1
  16. package/dist/cjs/tracing/constants.js +2 -0
  17. package/dist/cjs/tracing/constants.js.map +1 -1
  18. package/dist/cjs/tracing/context/token-context.d.ts +11 -0
  19. package/dist/cjs/tracing/context/token-context.d.ts.map +1 -0
  20. package/dist/cjs/tracing/context/token-context.js +29 -0
  21. package/dist/cjs/tracing/context/token-context.js.map +1 -0
  22. package/dist/cjs/tracing/contracts.d.ts +2 -0
  23. package/dist/cjs/tracing/contracts.d.ts.map +1 -1
  24. package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts +1 -0
  25. package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
  26. package/dist/cjs/tracing/exporter/Agent365Exporter.js +40 -17
  27. package/dist/cjs/tracing/exporter/Agent365Exporter.js.map +1 -1
  28. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts +3 -0
  29. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  30. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js +3 -0
  31. package/dist/cjs/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
  32. package/dist/cjs/tracing/exporter/utils.d.ts +25 -0
  33. package/dist/cjs/tracing/exporter/utils.d.ts.map +1 -1
  34. package/dist/cjs/tracing/exporter/utils.js +53 -0
  35. package/dist/cjs/tracing/exporter/utils.js.map +1 -1
  36. package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts +6 -0
  37. package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
  38. package/dist/cjs/tracing/middleware/BaggageBuilder.js +9 -0
  39. package/dist/cjs/tracing/middleware/BaggageBuilder.js.map +1 -1
  40. package/dist/cjs/tracing/processors/util.d.ts.map +1 -1
  41. package/dist/cjs/tracing/processors/util.js +1 -0
  42. package/dist/cjs/tracing/processors/util.js.map +1 -1
  43. package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
  44. package/dist/cjs/tracing/scopes/InvokeAgentScope.js +3 -1
  45. package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -1
  46. package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
  47. package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +1 -0
  48. package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -1
  49. package/dist/cjs/tracing/util.d.ts +5 -12
  50. package/dist/cjs/tracing/util.d.ts.map +1 -1
  51. package/dist/cjs/tracing/util.js +6 -26
  52. package/dist/cjs/tracing/util.js.map +1 -1
  53. package/dist/esm/ObservabilityBuilder.d.ts +2 -0
  54. package/dist/esm/ObservabilityBuilder.d.ts.map +1 -1
  55. package/dist/esm/ObservabilityBuilder.js +29 -6
  56. package/dist/esm/ObservabilityBuilder.js.map +1 -1
  57. package/dist/esm/index.d.ts +1 -0
  58. package/dist/esm/index.d.ts.map +1 -1
  59. package/dist/esm/index.js +2 -0
  60. package/dist/esm/index.js.map +1 -1
  61. package/dist/esm/tracing/PerRequestSpanProcessor.d.ts +32 -0
  62. package/dist/esm/tracing/PerRequestSpanProcessor.d.ts.map +1 -0
  63. package/dist/esm/tracing/PerRequestSpanProcessor.js +246 -0
  64. package/dist/esm/tracing/PerRequestSpanProcessor.js.map +1 -0
  65. package/dist/esm/tracing/constants.d.ts +2 -0
  66. package/dist/esm/tracing/constants.d.ts.map +1 -1
  67. package/dist/esm/tracing/constants.js +2 -0
  68. package/dist/esm/tracing/constants.js.map +1 -1
  69. package/dist/esm/tracing/context/token-context.d.ts +11 -0
  70. package/dist/esm/tracing/context/token-context.d.ts.map +1 -0
  71. package/dist/esm/tracing/context/token-context.js +22 -0
  72. package/dist/esm/tracing/context/token-context.js.map +1 -0
  73. package/dist/esm/tracing/contracts.d.ts +2 -0
  74. package/dist/esm/tracing/contracts.d.ts.map +1 -1
  75. package/dist/esm/tracing/exporter/Agent365Exporter.d.ts +1 -0
  76. package/dist/esm/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
  77. package/dist/esm/tracing/exporter/Agent365Exporter.js +40 -17
  78. package/dist/esm/tracing/exporter/Agent365Exporter.js.map +1 -1
  79. package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts +3 -0
  80. package/dist/esm/tracing/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  81. package/dist/esm/tracing/exporter/Agent365ExporterOptions.js +3 -0
  82. package/dist/esm/tracing/exporter/Agent365ExporterOptions.js.map +1 -1
  83. package/dist/esm/tracing/exporter/utils.d.ts +25 -0
  84. package/dist/esm/tracing/exporter/utils.d.ts.map +1 -1
  85. package/dist/esm/tracing/exporter/utils.js +49 -0
  86. package/dist/esm/tracing/exporter/utils.js.map +1 -1
  87. package/dist/esm/tracing/middleware/BaggageBuilder.d.ts +6 -0
  88. package/dist/esm/tracing/middleware/BaggageBuilder.d.ts.map +1 -1
  89. package/dist/esm/tracing/middleware/BaggageBuilder.js +9 -0
  90. package/dist/esm/tracing/middleware/BaggageBuilder.js.map +1 -1
  91. package/dist/esm/tracing/processors/util.d.ts.map +1 -1
  92. package/dist/esm/tracing/processors/util.js +1 -0
  93. package/dist/esm/tracing/processors/util.js.map +1 -1
  94. package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
  95. package/dist/esm/tracing/scopes/InvokeAgentScope.js +3 -1
  96. package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -1
  97. package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
  98. package/dist/esm/tracing/scopes/OpenTelemetryScope.js +1 -0
  99. package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -1
  100. package/dist/esm/tracing/util.d.ts +5 -12
  101. package/dist/esm/tracing/util.d.ts.map +1 -1
  102. package/dist/esm/tracing/util.js +5 -23
  103. package/dist/esm/tracing/util.js.map +1 -1
  104. package/package.json +36 -37
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Microsoft
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -54,6 +54,8 @@ export declare class ObservabilityBuilder {
54
54
  */
55
55
  withExporterOptions(exporterOptions: Partial<Agent365ExporterOptions>): ObservabilityBuilder;
56
56
  private createBatchProcessor;
57
+ private createPerRequestProcessor;
58
+ private createExportProcessor;
57
59
  private createResource;
58
60
  /**
59
61
  * Builds and initializes the Agent 365 configuration
@@ -1 +1 @@
1
- {"version":3,"file":"ObservabilityBuilder.d.ts","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAIrF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gEAAgE;IAChE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAEpD;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAU;IAEtB;;;;;OAKG;IACI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAMtF;;;;OAIG;IACI,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,oBAAoB;IAK5E;;;;OAIG;IACI,mBAAmB,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB;IAKlF;;;;;OAKG;IACI,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,oBAAoB;IAQnG,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACI,KAAK,IAAI,OAAO;IA8CvB;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;OAEG;IAEH,OAAO,CAAC,wBAAwB;CAUjC"}
1
+ {"version":3,"file":"ObservabilityBuilder.d.ts","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAKrF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gEAAgE;IAChE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAEpD;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAU;IAEtB;;;;;OAKG;IACI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAMtF;;;;OAIG;IACI,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,oBAAoB;IAK5E;;;;OAIG;IACI,mBAAmB,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB;IAKlF;;;;;OAKG;IACI,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,oBAAoB;IAQnG,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACI,KAAK,IAAI,OAAO;IA8CvB;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;OAEG;IAEH,OAAO,CAAC,wBAAwB;CAUjC"}
@@ -2,17 +2,22 @@
2
2
  // ------------------------------------------------------------------------------
3
3
  // Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  // ------------------------------------------------------------------------------
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
5
8
  Object.defineProperty(exports, "__esModule", { value: true });
6
9
  exports.ObservabilityBuilder = void 0;
7
10
  const sdk_node_1 = require("@opentelemetry/sdk-node");
8
11
  const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
9
12
  const SpanProcessor_1 = require("./tracing/processors/SpanProcessor");
10
- const util_1 = require("./tracing/util");
13
+ const utils_1 = require("./tracing/exporter/utils");
11
14
  const Agent365Exporter_1 = require("./tracing/exporter/Agent365Exporter");
12
15
  const Agent365ExporterOptions_1 = require("./tracing/exporter/Agent365ExporterOptions");
16
+ const PerRequestSpanProcessor_1 = require("./tracing/PerRequestSpanProcessor");
13
17
  const resources_1 = require("@opentelemetry/resources");
14
18
  const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
15
19
  const api_1 = require("@opentelemetry/api");
20
+ const logging_1 = __importDefault(require("./utils/logging"));
16
21
  /**
17
22
  * Builder for configuring Agent 365 with OpenTelemetry tracing
18
23
  */
@@ -64,7 +69,8 @@ class ObservabilityBuilder {
64
69
  return this;
65
70
  }
66
71
  createBatchProcessor() {
67
- if (!(0, util_1.isAgent365ExporterEnabled)()) {
72
+ if (!(0, utils_1.isAgent365ExporterEnabled)()) {
73
+ logging_1.default.info('[ObservabilityBuilder] Agent 365 exporter not enabled. Using ConsoleSpanExporter for BatchSpanProcessor.');
68
74
  return new sdk_trace_base_1.BatchSpanProcessor(new sdk_trace_base_1.ConsoleSpanExporter());
69
75
  }
70
76
  const opts = new Agent365ExporterOptions_1.Agent365ExporterOptions();
@@ -82,6 +88,26 @@ class ObservabilityBuilder {
82
88
  maxExportBatchSize: opts.maxExportBatchSize
83
89
  });
84
90
  }
91
+ createPerRequestProcessor() {
92
+ if (!(0, utils_1.isAgent365ExporterEnabled)()) {
93
+ logging_1.default.info('[Agent365Exporter] Per-request export enabled but Agent 365 exporter is disabled. Using ConsoleSpanExporter.');
94
+ return new PerRequestSpanProcessor_1.PerRequestSpanProcessor(new sdk_trace_base_1.ConsoleSpanExporter());
95
+ }
96
+ const opts = new Agent365ExporterOptions_1.Agent365ExporterOptions();
97
+ if (this.options.exporterOptions) {
98
+ Object.assign(opts, this.options.exporterOptions);
99
+ }
100
+ opts.clusterCategory = this.options.clusterCategory || opts.clusterCategory || 'prod';
101
+ // For per-request export, token is retrieved from OTel Context by Agent365Exporter
102
+ // using getExportToken(), so no tokenResolver is needed here
103
+ return new PerRequestSpanProcessor_1.PerRequestSpanProcessor(new Agent365Exporter_1.Agent365Exporter(opts));
104
+ }
105
+ createExportProcessor() {
106
+ if ((0, utils_1.isPerRequestExportEnabled)()) {
107
+ return this.createPerRequestProcessor();
108
+ }
109
+ return this.createBatchProcessor();
110
+ }
85
111
  createResource() {
86
112
  const serviceName = this.options.serviceVersion
87
113
  ? `${this.options.serviceName}-${this.options.serviceVersion}`
@@ -101,8 +127,8 @@ class ObservabilityBuilder {
101
127
  // Create processors in the desired order:
102
128
  // 1. baggage enricher (copies baggage -> span attributes)
103
129
  const spanProcessor = new SpanProcessor_1.SpanProcessor();
104
- // 2. batch processor that actually ships spans out
105
- const batchProcessor = this.createBatchProcessor();
130
+ // 2. export processor (batch or per-request based on environment variable)
131
+ const exportProcessor = this.createExportProcessor();
106
132
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
133
  const globalProvider = api_1.trace.getTracerProvider();
108
134
  const canAddProcessors = typeof globalProvider?.addSpanProcessor === 'function' &&
@@ -110,10 +136,10 @@ class ObservabilityBuilder {
110
136
  if (canAddProcessors) {
111
137
  // Someone else already created a provider (maybe their own NodeSDK).
112
138
  // We DO NOT create a new NodeSDK.
113
- // We just add our baggage enricher + batch exporter to their provider,
139
+ // We just add our baggage enricher + export processor to their provider,
114
140
  // but only if they aren't already there.
115
141
  this.attachProcessorIfMissing(globalProvider, spanProcessor);
116
- this.attachProcessorIfMissing(globalProvider, batchProcessor);
142
+ this.attachProcessorIfMissing(globalProvider, exportProcessor);
117
143
  this.isBuilt = true;
118
144
  this.sdk = undefined; // we didn't create/own one
119
145
  return this.isBuilt;
@@ -123,7 +149,7 @@ class ObservabilityBuilder {
123
149
  resource: this.createResource(),
124
150
  spanProcessors: [
125
151
  spanProcessor,
126
- batchProcessor,
152
+ exportProcessor,
127
153
  ],
128
154
  });
129
155
  this.isBuilt = true;
@@ -1 +1 @@
1
- {"version":3,"file":"ObservabilityBuilder.js","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObservabilityBuilder.js","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;;;;AAEjF,sDAAkD;AAClD,kEAAwF;AACxF,sEAAmE;AACnE,oDAAgG;AAChG,0EAAuE;AAEvE,wFAAqF;AACrF,+EAA4E;AAC5E,wDAAkE;AAClE,8EAAwE;AACxE,4CAA2C;AAE3C,8DAAqC;AAwBrC;;GAEG;AACH,MAAa,oBAAoB;IAAjC;QACU,YAAO,GAAmB,EAAE,CAAC;QAC7B,YAAO,GAAG,KAAK,CAAC;IA+L1B,CAAC;IA5LC;;;;;OAKG;IACI,WAAW,CAAC,WAAmB,EAAE,cAAuB;QAC7D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,aAA4B;QACnD,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,eAAgC;QACzD,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,eAAiD;QAC1E,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG;YAC7B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;YACvC,GAAG,eAAe;SACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,IAAA,iCAAyB,GAAE,EAAE,CAAC;YACjC,iBAAM,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;YACxH,OAAO,IAAI,mCAAkB,CAAC,IAAI,oCAAmB,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,iDAAuB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC;QACtF,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,mCAAkB,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,EAAE;YACxD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,oBAAoB,EAAE,IAAI,CAAC,0BAA0B;YACrD,mBAAmB,EAAE,IAAI,CAAC,2BAA2B;YACrD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;IACL,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,IAAA,iCAAyB,GAAE,EAAE,CAAC;YACjC,iBAAM,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;YAC5H,OAAO,IAAI,iDAAuB,CAAC,IAAI,oCAAmB,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,iDAAuB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC;QAEtF,mFAAmF;QACnF,6DAA6D;QAC7D,OAAO,IAAI,iDAAuB,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAA,iCAAyB,GAAE,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACrC,CAAC;IAEO,cAAc;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc;YAC7C,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC9D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,qBAAqB,CAAC;QAEtD,OAAO,IAAA,kCAAsB,EAAC;YAC5B,CAAC,wCAAiB,CAAC,EAAE,WAAW;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,0CAA0C;QAC1C,0DAA0D;QAC1D,MAAM,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAC;QAE1C,2EAA2E;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAErD,8DAA8D;QAC9D,MAAM,cAAc,GAAQ,WAAK,CAAC,iBAAiB,EAAE,CAAC;QAEtD,MAAM,gBAAgB,GACpB,OAAO,cAAc,EAAE,gBAAgB,KAAK,UAAU;YACtD,OAAO,cAAc,EAAE,QAAQ,KAAK,WAAW,CAAC;QAElD,IAAI,gBAAgB,EAAE,CAAC;YACrB,qEAAqE;YACrE,kCAAkC;YAClC,yEAAyE;YACzE,yCAAyC;YAEzC,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAE/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,2BAA2B;YACjD,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAGD,kFAAkF;QAClF,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAO,CAAC;YACrB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;YAC/B,cAAc,EAAE;gBACd,aAAa;gBACb,eAAe;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,8DAA8D;IACtD,wBAAwB,CAAC,QAAa,EAAE,SAAc;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC;QAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,8DAA8D;YAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,KAAK,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE/E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CACF;AAjMD,oDAiMC"}
@@ -3,6 +3,7 @@ export { ObservabilityBuilder as Builder, BuilderOptions } from './Observability
3
3
  export { Agent365ExporterOptions } from './tracing/exporter/Agent365ExporterOptions';
4
4
  export { OpenTelemetryConstants } from './tracing/constants';
5
5
  export { BaggageBuilder, BaggageScope } from './tracing/middleware/BaggageBuilder';
6
+ export { runWithExportToken, getExportToken } from './tracing/context/token-context';
6
7
  export { ExecutionType, InvocationRole, SourceMetadata, AgentRequest, AgentDetails, TenantDetails, ToolCallDetails, InvokeAgentDetails, CallerDetails, EnhancedAgentDetails, ServiceEndpoint, InferenceDetails, InferenceOperationType, InferenceResponse } from './tracing/contracts';
7
8
  export { OpenTelemetryScope } from './tracing/scopes/OpenTelemetryScope';
8
9
  export { ExecuteToolScope } from './tracing/scopes/ExecuteToolScope';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGrF,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  // ------------------------------------------------------------------------------
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.formatError = exports.logger = exports.InferenceScope = exports.InvokeAgentScope = exports.ExecuteToolScope = exports.OpenTelemetryScope = exports.InferenceOperationType = exports.InvocationRole = exports.ExecutionType = exports.BaggageScope = exports.BaggageBuilder = exports.OpenTelemetryConstants = exports.Agent365ExporterOptions = exports.Builder = exports.ObservabilityManager = void 0;
6
+ exports.formatError = exports.logger = exports.InferenceScope = exports.InvokeAgentScope = exports.ExecuteToolScope = exports.OpenTelemetryScope = exports.InferenceOperationType = exports.InvocationRole = exports.ExecutionType = exports.getExportToken = exports.runWithExportToken = exports.BaggageScope = exports.BaggageBuilder = exports.OpenTelemetryConstants = exports.Agent365ExporterOptions = exports.Builder = exports.ObservabilityManager = void 0;
7
7
  // Main SDK classes
8
8
  var ObservabilityManager_1 = require("./ObservabilityManager");
9
9
  Object.defineProperty(exports, "ObservabilityManager", { enumerable: true, get: function () { return ObservabilityManager_1.ObservabilityManager; } });
@@ -18,6 +18,10 @@ Object.defineProperty(exports, "OpenTelemetryConstants", { enumerable: true, get
18
18
  var BaggageBuilder_1 = require("./tracing/middleware/BaggageBuilder");
19
19
  Object.defineProperty(exports, "BaggageBuilder", { enumerable: true, get: function () { return BaggageBuilder_1.BaggageBuilder; } });
20
20
  Object.defineProperty(exports, "BaggageScope", { enumerable: true, get: function () { return BaggageBuilder_1.BaggageScope; } });
21
+ // Per-request export utilities
22
+ var token_context_1 = require("./tracing/context/token-context");
23
+ Object.defineProperty(exports, "runWithExportToken", { enumerable: true, get: function () { return token_context_1.runWithExportToken; } });
24
+ Object.defineProperty(exports, "getExportToken", { enumerable: true, get: function () { return token_context_1.getExportToken; } });
21
25
  // Contracts and interfaces
22
26
  var contracts_1 = require("./tracing/contracts");
23
27
  Object.defineProperty(exports, "ExecutionType", { enumerable: true, get: function () { return contracts_1.ExecutionType; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;AAEjF,mBAAmB;AACnB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,+DAAyF;AAAhF,+GAAA,oBAAoB,OAAW;AACxC,sFAAqF;AAA5E,kIAAA,uBAAuB,OAAA;AAChC,oBAAoB;AACpB,iDAA6D;AAApD,mHAAA,sBAAsB,OAAA;AAE/B,kBAAkB;AAClB,sEAAmF;AAA1E,gHAAA,cAAc,OAAA;AAAE,8GAAA,YAAY,OAAA;AAErC,2BAA2B;AAC3B,iDAe6B;AAd3B,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AAWd,mHAAA,sBAAsB,OAAA;AAIxB,SAAS;AACT,0EAAyE;AAAhE,wHAAA,kBAAkB,OAAA;AAC3B,sEAAqE;AAA5D,oHAAA,gBAAgB,OAAA;AACzB,sEAAqE;AAA5D,oHAAA,gBAAgB,OAAA;AACzB,kEAAgE;AAAvD,gHAAA,cAAc,OAAA;AACvB,2CAAsD;AAA7C,iGAAA,MAAM,OAAA;AAAE,sGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;AAEjF,mBAAmB;AACnB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,+DAAyF;AAAhF,+GAAA,oBAAoB,OAAW;AACxC,sFAAqF;AAA5E,kIAAA,uBAAuB,OAAA;AAChC,oBAAoB;AACpB,iDAA6D;AAApD,mHAAA,sBAAsB,OAAA;AAE/B,kBAAkB;AAClB,sEAAmF;AAA1E,gHAAA,cAAc,OAAA;AAAE,8GAAA,YAAY,OAAA;AAErC,+BAA+B;AAC/B,iEAAqF;AAA5E,mHAAA,kBAAkB,OAAA;AAAE,+GAAA,cAAc,OAAA;AAE3C,2BAA2B;AAC3B,iDAe6B;AAd3B,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AAWd,mHAAA,sBAAsB,OAAA;AAIxB,SAAS;AACT,0EAAyE;AAAhE,wHAAA,kBAAkB,OAAA;AAC3B,sEAAqE;AAA5D,oHAAA,gBAAgB,OAAA;AACzB,sEAAqE;AAA5D,oHAAA,gBAAgB,OAAA;AACzB,kEAAgE;AAAvD,gHAAA,cAAc,OAAA;AACvB,2CAAsD;AAA7C,iGAAA,MAAM,OAAA;AAAE,sGAAA,WAAW,OAAA"}
@@ -0,0 +1,32 @@
1
+ import { type Context } from '@opentelemetry/api';
2
+ import type { ReadableSpan, SpanProcessor, SpanExporter } from '@opentelemetry/sdk-trace-base';
3
+ /**
4
+ * Buffers spans per trace and exports once the request completes.
5
+ * Token is not stored; we export under the saved request Context so that getExportToken()
6
+ * can read the token from the active OpenTelemetry Context at export time.
7
+ */
8
+ export declare class PerRequestSpanProcessor implements SpanProcessor {
9
+ private readonly exporter;
10
+ private readonly flushGraceMs;
11
+ private readonly maxTraceAgeMs;
12
+ private traces;
13
+ private sweepTimer?;
14
+ private isSweeping;
15
+ private readonly maxBufferedTraces;
16
+ private readonly maxSpansPerTrace;
17
+ private readonly maxConcurrentExports;
18
+ private inFlightExports;
19
+ private exportWaiters;
20
+ constructor(exporter: SpanExporter, flushGraceMs?: number, maxTraceAgeMs?: number);
21
+ onStart(span: ReadableSpan, ctx: Context): void;
22
+ onEnd(span: ReadableSpan): void;
23
+ forceFlush(): Promise<void>;
24
+ shutdown(): Promise<void>;
25
+ private ensureSweepTimer;
26
+ private stopSweepTimerIfIdle;
27
+ private sweep;
28
+ private flushTrace;
29
+ private acquireExportSlot;
30
+ private releaseExportSlot;
31
+ }
32
+ //# sourceMappingURL=PerRequestSpanProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerRequestSpanProcessor.d.ts","sourceRoot":"","sources":["../../../src/tracing/PerRequestSpanProcessor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAqC/F;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAazD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAdhC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAE9C,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAyB;gBAG3B,QAAQ,EAAE,YAAY,EACtB,YAAY,GAAE,MAA+B,EAC7C,aAAa,GAAE,MAAiC;IASnE,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IA6C/C,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IA4CzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,oBAAoB;YAOd,KAAK;YAmCL,UAAU;YA4DV,iBAAiB;IAe/B,OAAO,CAAC,iBAAiB;CAM1B"}
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ // ------------------------------------------------------------------------------
3
+ // Copyright (c) Microsoft Corporation.
4
+ // Licensed under the MIT License.
5
+ // ------------------------------------------------------------------------------
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PerRequestSpanProcessor = void 0;
11
+ const api_1 = require("@opentelemetry/api");
12
+ const logging_1 = __importDefault(require("../utils/logging"));
13
+ /** Default grace period (ms) to wait for child spans after root span ends */
14
+ const DEFAULT_FLUSH_GRACE_MS = 250;
15
+ /** Default maximum age (ms) for a trace before forcing flush */
16
+ const DEFAULT_MAX_TRACE_AGE_MS = 30000;
17
+ /** Guardrails to prevent unbounded memory growth / export bursts */
18
+ const DEFAULT_MAX_BUFFERED_TRACES = 1000;
19
+ const DEFAULT_MAX_SPANS_PER_TRACE = 5000;
20
+ const DEFAULT_MAX_CONCURRENT_EXPORTS = 20;
21
+ function readEnvInt(name, fallback) {
22
+ const raw = process.env[name];
23
+ if (!raw)
24
+ return fallback;
25
+ const parsed = Number.parseInt(raw, 10);
26
+ return Number.isFinite(parsed) ? parsed : fallback;
27
+ }
28
+ function isRootSpan(span) {
29
+ return !span.parentSpanContext;
30
+ }
31
+ /**
32
+ * Buffers spans per trace and exports once the request completes.
33
+ * Token is not stored; we export under the saved request Context so that getExportToken()
34
+ * can read the token from the active OpenTelemetry Context at export time.
35
+ */
36
+ class PerRequestSpanProcessor {
37
+ constructor(exporter, flushGraceMs = DEFAULT_FLUSH_GRACE_MS, maxTraceAgeMs = DEFAULT_MAX_TRACE_AGE_MS) {
38
+ this.exporter = exporter;
39
+ this.flushGraceMs = flushGraceMs;
40
+ this.maxTraceAgeMs = maxTraceAgeMs;
41
+ this.traces = new Map();
42
+ this.isSweeping = false;
43
+ this.inFlightExports = 0;
44
+ this.exportWaiters = [];
45
+ // Defaults are intentionally high but bounded; override via env vars if needed.
46
+ // Set to 0 (or negative) to disable a guardrail.
47
+ this.maxBufferedTraces = readEnvInt('A365_PER_REQUEST_MAX_TRACES', DEFAULT_MAX_BUFFERED_TRACES);
48
+ this.maxSpansPerTrace = readEnvInt('A365_PER_REQUEST_MAX_SPANS_PER_TRACE', DEFAULT_MAX_SPANS_PER_TRACE);
49
+ this.maxConcurrentExports = readEnvInt('A365_PER_REQUEST_MAX_CONCURRENT_EXPORTS', DEFAULT_MAX_CONCURRENT_EXPORTS);
50
+ }
51
+ onStart(span, ctx) {
52
+ const traceId = span.spanContext().traceId;
53
+ let buf = this.traces.get(traceId);
54
+ if (!buf) {
55
+ if (this.traces.size >= this.maxBufferedTraces) {
56
+ logging_1.default.warn(`[PerRequestSpanProcessor] Dropping new trace due to maxBufferedTraces=${this.maxBufferedTraces} traceId=${traceId}`);
57
+ return;
58
+ }
59
+ buf = {
60
+ spans: [],
61
+ openCount: 0,
62
+ rootEnded: false,
63
+ rootCtx: undefined,
64
+ startedAtMs: Date.now(),
65
+ droppedSpans: 0,
66
+ };
67
+ this.traces.set(traceId, buf);
68
+ this.ensureSweepTimer();
69
+ logging_1.default.info(`[PerRequestSpanProcessor] Trace started traceId=${traceId} maxTraceAgeMs=${this.maxTraceAgeMs}`);
70
+ }
71
+ buf.openCount += 1;
72
+ // Debug lifecycle: span started
73
+ logging_1.default.info(`[PerRequestSpanProcessor] Span start name=${span.name} traceId=${traceId} spanId=${span.spanContext().spanId}` +
74
+ ` root=${isRootSpan(span)} openCount=${buf.openCount}`);
75
+ // Capture a context to export under.
76
+ // - Use the first seen context as a fallback.
77
+ // - If/when the root span starts, prefer its context (contains token via ALS).
78
+ if (isRootSpan(span)) {
79
+ buf.rootCtx = ctx;
80
+ }
81
+ else {
82
+ buf.rootCtx ?? (buf.rootCtx = ctx);
83
+ }
84
+ }
85
+ onEnd(span) {
86
+ const traceId = span.spanContext().traceId;
87
+ const buf = this.traces.get(traceId);
88
+ if (!buf)
89
+ return;
90
+ if (buf.spans.length >= this.maxSpansPerTrace) {
91
+ buf.droppedSpans += 1;
92
+ if (buf.droppedSpans === 1 || buf.droppedSpans % 100 === 0) {
93
+ logging_1.default.warn(`[PerRequestSpanProcessor] Dropping ended span due to maxSpansPerTrace=${this.maxSpansPerTrace} ` +
94
+ `traceId=${traceId} droppedSpans=${buf.droppedSpans}`);
95
+ }
96
+ }
97
+ else {
98
+ buf.spans.push(span);
99
+ }
100
+ buf.openCount -= 1;
101
+ if (buf.openCount < 0) {
102
+ logging_1.default.warn(`[PerRequestSpanProcessor] openCount underflow traceId=${traceId} spanId=${span.spanContext().spanId} resettingToZero`);
103
+ buf.openCount = 0;
104
+ }
105
+ // Debug lifecycle: span ended
106
+ logging_1.default.info(`[PerRequestSpanProcessor] Span end name=${span.name} traceId=${traceId} spanId=${span.spanContext().spanId}` +
107
+ ` root=${isRootSpan(span)} openCount=${buf.openCount} rootEnded=${buf.rootEnded}`);
108
+ if (isRootSpan(span)) {
109
+ buf.rootEnded = true;
110
+ buf.rootEndedAtMs = Date.now();
111
+ if (buf.openCount === 0) {
112
+ // Trace completed: root ended and no open spans remain.
113
+ this.flushTrace(traceId, 'trace_completed');
114
+ }
115
+ }
116
+ else if (buf.rootEnded && buf.openCount === 0) {
117
+ // Common case: root ends first, then children finish shortly after.
118
+ // Flush immediately when the last child ends instead of waiting for grace/max timers.
119
+ this.flushTrace(traceId, 'trace_completed');
120
+ }
121
+ }
122
+ async forceFlush() {
123
+ await Promise.all([...this.traces.keys()].map((id) => this.flushTrace(id, 'force_flush')));
124
+ }
125
+ async shutdown() {
126
+ await this.forceFlush();
127
+ this.stopSweepTimerIfIdle();
128
+ await this.exporter.shutdown?.();
129
+ }
130
+ ensureSweepTimer() {
131
+ if (this.sweepTimer)
132
+ return;
133
+ // Keep one lightweight sweeper. Interval is derived from grace/max-age to keep responsiveness reasonable.
134
+ const intervalMs = Math.max(10, Math.min(this.flushGraceMs, 250));
135
+ this.sweepTimer = setInterval(() => {
136
+ void this.sweep();
137
+ }, intervalMs);
138
+ this.sweepTimer.unref?.();
139
+ }
140
+ stopSweepTimerIfIdle() {
141
+ if (this.traces.size !== 0)
142
+ return;
143
+ if (!this.sweepTimer)
144
+ return;
145
+ clearInterval(this.sweepTimer);
146
+ this.sweepTimer = undefined;
147
+ }
148
+ async sweep() {
149
+ if (this.isSweeping)
150
+ return;
151
+ this.isSweeping = true;
152
+ try {
153
+ if (this.traces.size === 0) {
154
+ this.stopSweepTimerIfIdle();
155
+ return;
156
+ }
157
+ const now = Date.now();
158
+ const toFlush = [];
159
+ for (const [traceId, trace] of this.traces.entries()) {
160
+ // 1) Max age safety flush (clears buffers even if spans never end)
161
+ if (now - trace.startedAtMs >= this.maxTraceAgeMs) {
162
+ toFlush.push({ traceId, reason: 'max_trace_age' });
163
+ continue;
164
+ }
165
+ // 2) Root ended grace window flush (clears buffers if children never end)
166
+ if (trace.rootEnded && trace.openCount > 0 && trace.rootEndedAtMs) {
167
+ if (now - trace.rootEndedAtMs >= this.flushGraceMs) {
168
+ toFlush.push({ traceId, reason: 'root_ended_grace' });
169
+ }
170
+ }
171
+ }
172
+ // Flush in parallel; flushTrace removes entries eagerly.
173
+ await Promise.all(toFlush.map((x) => this.flushTrace(x.traceId, x.reason)));
174
+ this.stopSweepTimerIfIdle();
175
+ }
176
+ finally {
177
+ this.isSweeping = false;
178
+ }
179
+ }
180
+ async flushTrace(traceId, reason) {
181
+ const trace = this.traces.get(traceId);
182
+ if (!trace)
183
+ return;
184
+ this.traces.delete(traceId);
185
+ this.stopSweepTimerIfIdle();
186
+ const spans = trace.spans;
187
+ if (spans.length === 0)
188
+ return;
189
+ logging_1.default.info(`[PerRequestSpanProcessor] Flushing trace traceId=${traceId} reason=${reason} spans=${spans.length} rootEnded=${trace.rootEnded}`);
190
+ // Must have captured the root context to access the token
191
+ if (!trace.rootCtx) {
192
+ logging_1.default.error(`[PerRequestSpanProcessor] Missing rootCtx for trace ${traceId}, cannot export spans`);
193
+ return;
194
+ }
195
+ await this.acquireExportSlot();
196
+ try {
197
+ // Export under the original request Context so exporter can read the token from context.active()
198
+ await new Promise((resolve) => {
199
+ try {
200
+ api_1.context.with(trace.rootCtx, () => {
201
+ try {
202
+ this.exporter.export(spans, (result) => {
203
+ // Log export failures but still resolve to avoid blocking processor
204
+ if (result.code !== 0) {
205
+ logging_1.default.error(`[PerRequestSpanProcessor] Export failed traceId=${traceId} reason=${reason} code=${result.code}`, result.error);
206
+ }
207
+ else {
208
+ logging_1.default.info(`[PerRequestSpanProcessor] Export succeeded traceId=${traceId} reason=${reason} spans=${spans.length}`);
209
+ }
210
+ resolve();
211
+ });
212
+ }
213
+ catch (err) {
214
+ logging_1.default.error(`[PerRequestSpanProcessor] Export threw traceId=${traceId} reason=${reason} spans=${spans.length}`, err);
215
+ resolve();
216
+ }
217
+ });
218
+ }
219
+ catch (err) {
220
+ logging_1.default.error(`[PerRequestSpanProcessor] context.with threw traceId=${traceId} reason=${reason}`, err);
221
+ resolve();
222
+ }
223
+ });
224
+ }
225
+ finally {
226
+ this.releaseExportSlot();
227
+ }
228
+ }
229
+ async acquireExportSlot() {
230
+ if (this.maxConcurrentExports <= 0)
231
+ return;
232
+ if (this.inFlightExports < this.maxConcurrentExports) {
233
+ this.inFlightExports += 1;
234
+ return;
235
+ }
236
+ await new Promise((resolve) => {
237
+ this.exportWaiters.push(() => {
238
+ this.inFlightExports += 1;
239
+ resolve();
240
+ });
241
+ });
242
+ }
243
+ releaseExportSlot() {
244
+ if (this.maxConcurrentExports <= 0)
245
+ return;
246
+ this.inFlightExports = Math.max(0, this.inFlightExports - 1);
247
+ const next = this.exportWaiters.shift();
248
+ if (next)
249
+ next();
250
+ }
251
+ }
252
+ exports.PerRequestSpanProcessor = PerRequestSpanProcessor;
253
+ //# sourceMappingURL=PerRequestSpanProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerRequestSpanProcessor.js","sourceRoot":"","sources":["../../../src/tracing/PerRequestSpanProcessor.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare class OpenTelemetryConstants {
17
17
  static readonly ENABLE_OBSERVABILITY = "ENABLE_OBSERVABILITY";
18
18
  static readonly ENABLE_A365_OBSERVABILITY_EXPORTER = "ENABLE_A365_OBSERVABILITY_EXPORTER";
19
19
  static readonly ENABLE_A365_OBSERVABILITY = "ENABLE_A365_OBSERVABILITY";
20
+ static readonly ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT = "ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT";
20
21
  static readonly GEN_AI_CLIENT_OPERATION_DURATION_METRIC_NAME = "gen_ai.client.operation.duration";
21
22
  static readonly GEN_AI_CLIENT_TOKEN_USAGE_METRIC_NAME = "gen_ai.client.token.usage";
22
23
  static readonly GEN_AI_OPERATION_NAME_KEY = "gen_ai.operation.name";
@@ -31,6 +32,7 @@ export declare class OpenTelemetryConstants {
31
32
  static readonly GEN_AI_SYSTEM_VALUE = "az.ai.agent365";
32
33
  static readonly GEN_AI_AGENT_ID_KEY = "gen_ai.agent.id";
33
34
  static readonly GEN_AI_AGENT_NAME_KEY = "gen_ai.agent.name";
35
+ static readonly GEN_AI_AGENT_TYPE_KEY = "gen_ai.agent.type";
34
36
  static readonly GEN_AI_AGENT_DESCRIPTION_KEY = "gen_ai.agent.description";
35
37
  static readonly GEN_AI_AGENT_PLATFORM_ID_KEY = "gen_ai.agent.platformid";
36
38
  static readonly GEN_AI_CONVERSATION_ID_KEY = "gen_ai.conversation.id";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tracing/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tracing/constants.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ OpenTelemetryConstants.TRACE_CONTENTS_ENVIRONMENT_VARIABLE = 'AZURE_TRACING_GEN_
27
27
  OpenTelemetryConstants.ENABLE_OBSERVABILITY = 'ENABLE_OBSERVABILITY';
28
28
  OpenTelemetryConstants.ENABLE_A365_OBSERVABILITY_EXPORTER = 'ENABLE_A365_OBSERVABILITY_EXPORTER';
29
29
  OpenTelemetryConstants.ENABLE_A365_OBSERVABILITY = 'ENABLE_A365_OBSERVABILITY';
30
+ OpenTelemetryConstants.ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT = 'ENABLE_A365_OBSERVABILITY_PER_REQUEST_EXPORT';
30
31
  // GenAI semantic conventions
31
32
  OpenTelemetryConstants.GEN_AI_CLIENT_OPERATION_DURATION_METRIC_NAME = 'gen_ai.client.operation.duration';
32
33
  OpenTelemetryConstants.GEN_AI_CLIENT_TOKEN_USAGE_METRIC_NAME = 'gen_ai.client.token.usage';
@@ -42,6 +43,7 @@ OpenTelemetryConstants.GEN_AI_SYSTEM_KEY = 'gen_ai.system';
42
43
  OpenTelemetryConstants.GEN_AI_SYSTEM_VALUE = 'az.ai.agent365';
43
44
  OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY = 'gen_ai.agent.id';
44
45
  OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY = 'gen_ai.agent.name';
46
+ OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY = 'gen_ai.agent.type';
45
47
  OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY = 'gen_ai.agent.description';
46
48
  OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY = 'gen_ai.agent.platformid';
47
49
  OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY = 'gen_ai.conversation.id';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tracing/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tracing/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Context } from '@opentelemetry/api';
2
+ /**
3
+ * Run a function within a Context that carries the per-request export token.
4
+ * This keeps the token only in OTel Context (ALS), never in any registry.
5
+ */
6
+ export declare function runWithExportToken<T>(token: string, fn: () => T): T;
7
+ /**
8
+ * Retrieve the per-request export token from a given OTel Context (or the active one).
9
+ */
10
+ export declare function getExportToken(ctx?: Context): string | undefined;
11
+ //# sourceMappingURL=token-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-context.d.ts","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKxE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAInE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,OAA0B,GAAG,MAAM,GAAG,SAAS,CAElF"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ // ------------------------------------------------------------------------------
3
+ // Copyright (c) Microsoft Corporation. All rights reserved.
4
+ // ------------------------------------------------------------------------------
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.runWithExportToken = runWithExportToken;
10
+ exports.getExportToken = getExportToken;
11
+ const api_1 = require("@opentelemetry/api");
12
+ const logging_1 = __importDefault(require("../../utils/logging"));
13
+ const EXPORT_TOKEN_KEY = (0, api_1.createContextKey)('a365_export_token');
14
+ /**
15
+ * Run a function within a Context that carries the per-request export token.
16
+ * This keeps the token only in OTel Context (ALS), never in any registry.
17
+ */
18
+ function runWithExportToken(token, fn) {
19
+ const ctxWithToken = api_1.context.active().setValue(EXPORT_TOKEN_KEY, token);
20
+ logging_1.default.info('[TokenContext] Running function with export token in context.');
21
+ return api_1.context.with(ctxWithToken, fn);
22
+ }
23
+ /**
24
+ * Retrieve the per-request export token from a given OTel Context (or the active one).
25
+ */
26
+ function getExportToken(ctx = api_1.context.active()) {
27
+ return ctx.getValue(EXPORT_TOKEN_KEY);
28
+ }
29
+ //# sourceMappingURL=token-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-context.js","sourceRoot":"","sources":["../../../../src/tracing/context/token-context.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;;;AAWjF,gDAIC;AAKD,wCAEC;AApBD,4CAAwE;AACxE,kEAAyC;AAEzC,MAAM,gBAAgB,GAAG,IAAA,sBAAgB,EAAC,mBAAmB,CAAC,CAAC;AAE/D;;;GAGG;AACH,SAAgB,kBAAkB,CAAI,KAAa,EAAE,EAAW;IAC9D,MAAM,YAAY,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACxE,iBAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,aAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAe,aAAO,CAAC,MAAM,EAAE;IAC5D,OAAO,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAuB,CAAC;AAC9D,CAAC"}