@microsoft/opentelemetry 0.1.0-alpha.2 → 0.1.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/a365/configuration/A365Configuration.d.ts +42 -0
- package/dist/commonjs/a365/configuration/A365Configuration.d.ts.map +1 -0
- package/dist/commonjs/a365/configuration/A365Configuration.js +162 -0
- package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -0
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +53 -0
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -0
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.js +5 -0
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.js.map +1 -0
- package/dist/commonjs/a365/configuration/index.d.ts +3 -0
- package/dist/commonjs/a365/configuration/index.d.ts.map +1 -0
- package/dist/commonjs/a365/configuration/index.js +9 -0
- package/dist/commonjs/a365/configuration/index.js.map +1 -0
- package/dist/commonjs/a365/constants.d.ts +76 -0
- package/dist/commonjs/a365/constants.d.ts.map +1 -0
- package/dist/commonjs/a365/constants.js +99 -0
- package/dist/commonjs/a365/constants.js.map +1 -0
- package/dist/commonjs/a365/context/tokenContext.d.ts +25 -0
- package/dist/commonjs/a365/context/tokenContext.d.ts.map +1 -0
- package/dist/commonjs/a365/context/tokenContext.js +67 -0
- package/dist/commonjs/a365/context/tokenContext.js.map +1 -0
- package/dist/commonjs/a365/context.d.ts +31 -0
- package/dist/commonjs/a365/context.d.ts.map +1 -0
- package/dist/commonjs/a365/context.js +109 -0
- package/dist/commonjs/a365/context.js.map +1 -0
- package/dist/commonjs/a365/contracts.d.ts +250 -0
- package/dist/commonjs/a365/contracts.d.ts.map +1 -0
- package/dist/commonjs/a365/contracts.js +52 -0
- package/dist/commonjs/a365/contracts.js.map +1 -0
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +25 -0
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/Agent365Exporter.js +220 -0
- package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +43 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +30 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts +9 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.js +15 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.js.map +1 -0
- package/dist/commonjs/a365/exporter/index.d.ts +6 -0
- package/dist/commonjs/a365/exporter/index.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/index.js +15 -0
- package/dist/commonjs/a365/exporter/index.js.map +1 -0
- package/dist/commonjs/a365/exporter/utils.d.ts +41 -0
- package/dist/commonjs/a365/exporter/utils.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/utils.js +410 -0
- package/dist/commonjs/a365/exporter/utils.js.map +1 -0
- package/dist/commonjs/a365/index.d.ts +16 -0
- package/dist/commonjs/a365/index.d.ts.map +1 -0
- package/dist/commonjs/a365/index.js +54 -0
- package/dist/commonjs/a365/index.js.map +1 -0
- package/dist/commonjs/a365/message-utils.d.ts +42 -0
- package/dist/commonjs/a365/message-utils.d.ts.map +1 -0
- package/dist/commonjs/a365/message-utils.js +116 -0
- package/dist/commonjs/a365/message-utils.js.map +1 -0
- package/dist/commonjs/a365/middleware/BaggageBuilder.d.ts +112 -0
- package/dist/commonjs/a365/middleware/BaggageBuilder.d.ts.map +1 -0
- package/dist/commonjs/a365/middleware/BaggageBuilder.js +249 -0
- package/dist/commonjs/a365/middleware/BaggageBuilder.js.map +1 -0
- package/dist/commonjs/a365/middleware/index.d.ts +2 -0
- package/dist/commonjs/a365/middleware/index.d.ts.map +1 -0
- package/dist/commonjs/a365/middleware/index.js +9 -0
- package/dist/commonjs/a365/middleware/index.js.map +1 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts +32 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts.map +1 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.js +104 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.js.map +1 -0
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts +44 -0
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts.map +1 -0
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js +260 -0
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js.map +1 -0
- package/dist/commonjs/a365/processors/index.d.ts +5 -0
- package/dist/commonjs/a365/processors/index.d.ts.map +1 -0
- package/dist/commonjs/a365/processors/index.js +13 -0
- package/dist/commonjs/a365/processors/index.js.map +1 -0
- package/dist/commonjs/a365/processors/util.d.ts +10 -0
- package/dist/commonjs/a365/processors/util.d.ts.map +1 -0
- package/dist/commonjs/a365/processors/util.js +56 -0
- package/dist/commonjs/a365/processors/util.js.map +1 -0
- package/dist/commonjs/a365/scopes/ExecuteToolScope.d.ts +24 -0
- package/dist/commonjs/a365/scopes/ExecuteToolScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/ExecuteToolScope.js +60 -0
- package/dist/commonjs/a365/scopes/ExecuteToolScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/InferenceScope.d.ts +29 -0
- package/dist/commonjs/a365/scopes/InferenceScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/InferenceScope.js +75 -0
- package/dist/commonjs/a365/scopes/InferenceScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/InvokeAgentScope.d.ts +25 -0
- package/dist/commonjs/a365/scopes/InvokeAgentScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/InvokeAgentScope.js +84 -0
- package/dist/commonjs/a365/scopes/InvokeAgentScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts +59 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.js +199 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/OutputScope.d.ts +26 -0
- package/dist/commonjs/a365/scopes/OutputScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/OutputScope.js +73 -0
- package/dist/commonjs/a365/scopes/OutputScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/index.d.ts +6 -0
- package/dist/commonjs/a365/scopes/index.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/index.js +16 -0
- package/dist/commonjs/a365/scopes/index.js.map +1 -0
- package/dist/commonjs/a365/utils/utils.d.ts +6 -0
- package/dist/commonjs/a365/utils/utils.d.ts.map +1 -0
- package/dist/commonjs/a365/utils/utils.js +14 -0
- package/dist/commonjs/a365/utils/utils.js.map +1 -0
- package/dist/commonjs/azureMonitor/metrics/quickpulse/types.d.ts +1 -1
- package/dist/commonjs/azureMonitor/traces/handler.d.ts.map +1 -1
- package/dist/commonjs/azureMonitor/traces/handler.js +8 -2
- package/dist/commonjs/azureMonitor/traces/handler.js.map +1 -1
- package/dist/commonjs/distro/distro.d.ts +1 -1
- package/dist/commonjs/distro/distro.d.ts.map +1 -1
- package/dist/commonjs/distro/distro.js +44 -92
- package/dist/commonjs/distro/distro.js.map +1 -1
- package/dist/commonjs/distro/types.d.ts +2 -1
- package/dist/commonjs/distro/types.d.ts.map +1 -1
- package/dist/commonjs/index.d.ts +5 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +33 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/shared/jsonConfig.d.ts +2 -1
- package/dist/commonjs/shared/jsonConfig.d.ts.map +1 -1
- package/dist/commonjs/shared/module.js +15 -11
- package/dist/commonjs/shared/module.js.map +1 -1
- package/dist/commonjs/types.d.ts +4 -30
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +1 -1
- package/dist/commonjs/types.js.map +1 -1
- package/dist/esm/a365/configuration/A365Configuration.d.ts +42 -0
- package/dist/esm/a365/configuration/A365Configuration.d.ts.map +1 -0
- package/dist/esm/a365/configuration/A365Configuration.js +158 -0
- package/dist/esm/a365/configuration/A365Configuration.js.map +1 -0
- package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +53 -0
- package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -0
- package/dist/esm/a365/configuration/A365ConfigurationOptions.js +4 -0
- package/dist/esm/a365/configuration/A365ConfigurationOptions.js.map +1 -0
- package/dist/esm/a365/configuration/index.d.ts +3 -0
- package/dist/esm/a365/configuration/index.d.ts.map +1 -0
- package/dist/esm/a365/configuration/index.js +4 -0
- package/dist/esm/a365/configuration/index.js.map +1 -0
- package/dist/esm/a365/constants.d.ts +76 -0
- package/dist/esm/a365/constants.d.ts.map +1 -0
- package/dist/esm/a365/constants.js +95 -0
- package/dist/esm/a365/constants.js.map +1 -0
- package/dist/esm/a365/context/tokenContext.d.ts +25 -0
- package/dist/esm/a365/context/tokenContext.d.ts.map +1 -0
- package/dist/esm/a365/context/tokenContext.js +62 -0
- package/dist/esm/a365/context/tokenContext.js.map +1 -0
- package/dist/esm/a365/context.d.ts +31 -0
- package/dist/esm/a365/context.d.ts.map +1 -0
- package/dist/esm/a365/context.js +101 -0
- package/dist/esm/a365/context.js.map +1 -0
- package/dist/esm/a365/contracts.d.ts +250 -0
- package/dist/esm/a365/contracts.d.ts.map +1 -0
- package/dist/esm/a365/contracts.js +49 -0
- package/dist/esm/a365/contracts.js.map +1 -0
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts +25 -0
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -0
- package/dist/esm/a365/exporter/Agent365Exporter.js +216 -0
- package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +43 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js +26 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -0
- package/dist/esm/a365/exporter/ExporterEventNames.d.ts +9 -0
- package/dist/esm/a365/exporter/ExporterEventNames.d.ts.map +1 -0
- package/dist/esm/a365/exporter/ExporterEventNames.js +12 -0
- package/dist/esm/a365/exporter/ExporterEventNames.js.map +1 -0
- package/dist/esm/a365/exporter/index.d.ts +6 -0
- package/dist/esm/a365/exporter/index.d.ts.map +1 -0
- package/dist/esm/a365/exporter/index.js +7 -0
- package/dist/esm/a365/exporter/index.js.map +1 -0
- package/dist/esm/a365/exporter/utils.d.ts +41 -0
- package/dist/esm/a365/exporter/utils.d.ts.map +1 -0
- package/dist/esm/a365/exporter/utils.js +398 -0
- package/dist/esm/a365/exporter/utils.js.map +1 -0
- package/dist/esm/a365/index.d.ts +16 -0
- package/dist/esm/a365/index.d.ts.map +1 -0
- package/dist/esm/a365/index.js +20 -0
- package/dist/esm/a365/index.js.map +1 -0
- package/dist/esm/a365/message-utils.d.ts +42 -0
- package/dist/esm/a365/message-utils.d.ts.map +1 -0
- package/dist/esm/a365/message-utils.js +107 -0
- package/dist/esm/a365/message-utils.js.map +1 -0
- package/dist/esm/a365/middleware/BaggageBuilder.d.ts +112 -0
- package/dist/esm/a365/middleware/BaggageBuilder.d.ts.map +1 -0
- package/dist/esm/a365/middleware/BaggageBuilder.js +244 -0
- package/dist/esm/a365/middleware/BaggageBuilder.js.map +1 -0
- package/dist/esm/a365/middleware/index.d.ts +2 -0
- package/dist/esm/a365/middleware/index.d.ts.map +1 -0
- package/dist/esm/a365/middleware/index.js +4 -0
- package/dist/esm/a365/middleware/index.js.map +1 -0
- package/dist/esm/a365/processors/A365SpanProcessor.d.ts +32 -0
- package/dist/esm/a365/processors/A365SpanProcessor.d.ts.map +1 -0
- package/dist/esm/a365/processors/A365SpanProcessor.js +100 -0
- package/dist/esm/a365/processors/A365SpanProcessor.js.map +1 -0
- package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts +44 -0
- package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts.map +1 -0
- package/dist/esm/a365/processors/PerRequestSpanProcessor.js +256 -0
- package/dist/esm/a365/processors/PerRequestSpanProcessor.js.map +1 -0
- package/dist/esm/a365/processors/index.d.ts +5 -0
- package/dist/esm/a365/processors/index.d.ts.map +1 -0
- package/dist/esm/a365/processors/index.js +6 -0
- package/dist/esm/a365/processors/index.js.map +1 -0
- package/dist/esm/a365/processors/util.d.ts +10 -0
- package/dist/esm/a365/processors/util.d.ts.map +1 -0
- package/dist/esm/a365/processors/util.js +53 -0
- package/dist/esm/a365/processors/util.js.map +1 -0
- package/dist/esm/a365/scopes/ExecuteToolScope.d.ts +24 -0
- package/dist/esm/a365/scopes/ExecuteToolScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/ExecuteToolScope.js +56 -0
- package/dist/esm/a365/scopes/ExecuteToolScope.js.map +1 -0
- package/dist/esm/a365/scopes/InferenceScope.d.ts +29 -0
- package/dist/esm/a365/scopes/InferenceScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/InferenceScope.js +71 -0
- package/dist/esm/a365/scopes/InferenceScope.js.map +1 -0
- package/dist/esm/a365/scopes/InvokeAgentScope.d.ts +25 -0
- package/dist/esm/a365/scopes/InvokeAgentScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/InvokeAgentScope.js +80 -0
- package/dist/esm/a365/scopes/InvokeAgentScope.js.map +1 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts +59 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.js +195 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.js.map +1 -0
- package/dist/esm/a365/scopes/OutputScope.d.ts +26 -0
- package/dist/esm/a365/scopes/OutputScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/OutputScope.js +69 -0
- package/dist/esm/a365/scopes/OutputScope.js.map +1 -0
- package/dist/esm/a365/scopes/index.d.ts +6 -0
- package/dist/esm/a365/scopes/index.d.ts.map +1 -0
- package/dist/esm/a365/scopes/index.js +8 -0
- package/dist/esm/a365/scopes/index.js.map +1 -0
- package/dist/esm/a365/utils/utils.d.ts +6 -0
- package/dist/esm/a365/utils/utils.d.ts.map +1 -0
- package/dist/esm/a365/utils/utils.js +11 -0
- package/dist/esm/a365/utils/utils.js.map +1 -0
- package/dist/esm/azureMonitor/metrics/quickpulse/types.d.ts +1 -1
- package/dist/esm/azureMonitor/traces/handler.d.ts.map +1 -1
- package/dist/esm/azureMonitor/traces/handler.js +5 -1
- package/dist/esm/azureMonitor/traces/handler.js.map +1 -1
- package/dist/esm/distro/distro.d.ts +1 -1
- package/dist/esm/distro/distro.d.ts.map +1 -1
- package/dist/esm/distro/distro.js +44 -92
- package/dist/esm/distro/distro.js.map +1 -1
- package/dist/esm/distro/types.d.ts +2 -1
- package/dist/esm/distro/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shared/jsonConfig.d.ts +2 -1
- package/dist/esm/shared/jsonConfig.d.ts.map +1 -1
- package/dist/esm/types.d.ts +4 -30
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -1
- package/dist/esm/types.js.map +1 -1
- package/package.json +3 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A365SpanProcessor.js","sourceRoot":"","sources":["../../../../src/a365/processors/A365SpanProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Context, Span } from "@opentelemetry/api";
|
|
2
|
+
import type { ReadableSpan, SpanProcessor, SpanExporter } from "@opentelemetry/sdk-trace-base";
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for the PerRequestSpanProcessor.
|
|
5
|
+
*/
|
|
6
|
+
export interface PerRequestSpanProcessorOptions {
|
|
7
|
+
maxBufferedTraces?: number;
|
|
8
|
+
maxSpansPerTrace?: number;
|
|
9
|
+
maxConcurrentExports?: number;
|
|
10
|
+
flushGraceMs?: number;
|
|
11
|
+
maxTraceAgeMs?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Buffers spans per trace and exports them together once the trace completes.
|
|
15
|
+
*
|
|
16
|
+
* This processor supports per-request token resolution by exporting under
|
|
17
|
+
* the original request Context so that getExportToken() can read the token
|
|
18
|
+
* from the active OpenTelemetry Context at export time.
|
|
19
|
+
*/
|
|
20
|
+
export declare class PerRequestSpanProcessor implements SpanProcessor {
|
|
21
|
+
private readonly exporter;
|
|
22
|
+
private traces;
|
|
23
|
+
private sweepTimer?;
|
|
24
|
+
private isSweeping;
|
|
25
|
+
private readonly maxBufferedTraces;
|
|
26
|
+
private readonly maxSpansPerTrace;
|
|
27
|
+
private readonly maxConcurrentExports;
|
|
28
|
+
private readonly flushGraceMs;
|
|
29
|
+
private readonly maxTraceAgeMs;
|
|
30
|
+
private inFlightExports;
|
|
31
|
+
private exportWaiters;
|
|
32
|
+
constructor(exporter: SpanExporter, options?: PerRequestSpanProcessorOptions);
|
|
33
|
+
onStart(span: Span, ctx: Context): void;
|
|
34
|
+
onEnd(span: ReadableSpan): void;
|
|
35
|
+
forceFlush(): Promise<void>;
|
|
36
|
+
shutdown(): Promise<void>;
|
|
37
|
+
private ensureSweepTimer;
|
|
38
|
+
private stopSweepTimerIfIdle;
|
|
39
|
+
private sweep;
|
|
40
|
+
private flushTrace;
|
|
41
|
+
private acquireExportSlot;
|
|
42
|
+
private releaseExportSlot;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=PerRequestSpanProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerRequestSpanProcessor.d.ts","sourceRoot":"","sources":["../../../../src/a365/processors/PerRequestSpanProcessor.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA+B/F;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAeD;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAezD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAd3B,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAyB;gBAG3B,QAAQ,EAAE,YAAY,EACvC,OAAO,CAAC,EAAE,8BAA8B;IAwB1C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IA0CvC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAwCzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,oBAAoB;YAOd,KAAK;YAkCL,UAAU;YA8DV,iBAAiB;IAe/B,OAAO,CAAC,iBAAiB;CAM1B"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.PerRequestSpanProcessor = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* Buffers spans per trace and exports once the request completes.
|
|
8
|
+
* Token is not stored; we export under the saved request Context so that
|
|
9
|
+
* getExportToken() can read the token from the active OpenTelemetry Context at export time.
|
|
10
|
+
*
|
|
11
|
+
* Adapted from microsoft/Agent365-nodejs agents-a365-observability/src/tracing/PerRequestSpanProcessor.ts
|
|
12
|
+
*/
|
|
13
|
+
const api_1 = require("@opentelemetry/api");
|
|
14
|
+
const index_js_1 = require("../../shared/logging/index.js");
|
|
15
|
+
const logger = index_js_1.Logger.getInstance();
|
|
16
|
+
function isRootSpan(span) {
|
|
17
|
+
return !span.parentSpanContext;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Check whether this span is a root span by examining the parent context.
|
|
21
|
+
* In onStart, the SDK passes a live Span (not ReadableSpan), so we check
|
|
22
|
+
* whether the parent context already contains a span.
|
|
23
|
+
*/
|
|
24
|
+
function isRootSpanFromContext(ctx) {
|
|
25
|
+
const parentSpan = api_1.trace.getSpan(ctx);
|
|
26
|
+
return !parentSpan;
|
|
27
|
+
}
|
|
28
|
+
// Default values
|
|
29
|
+
const DEFAULT_MAX_BUFFERED_TRACES = 1000;
|
|
30
|
+
const DEFAULT_MAX_SPANS_PER_TRACE = 5000;
|
|
31
|
+
const DEFAULT_MAX_CONCURRENT_EXPORTS = 20;
|
|
32
|
+
const DEFAULT_FLUSH_GRACE_MS = 250;
|
|
33
|
+
const DEFAULT_MAX_TRACE_AGE_MS = 1800000; // 30 minutes
|
|
34
|
+
function parseEnvInt(envVar, defaultValue) {
|
|
35
|
+
if (envVar === undefined || envVar === "")
|
|
36
|
+
return defaultValue;
|
|
37
|
+
const parsed = parseInt(envVar, 10);
|
|
38
|
+
return Number.isNaN(parsed) ? defaultValue : parsed;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Buffers spans per trace and exports them together once the trace completes.
|
|
42
|
+
*
|
|
43
|
+
* This processor supports per-request token resolution by exporting under
|
|
44
|
+
* the original request Context so that getExportToken() can read the token
|
|
45
|
+
* from the active OpenTelemetry Context at export time.
|
|
46
|
+
*/
|
|
47
|
+
class PerRequestSpanProcessor {
|
|
48
|
+
exporter;
|
|
49
|
+
traces = new Map();
|
|
50
|
+
sweepTimer;
|
|
51
|
+
isSweeping = false;
|
|
52
|
+
maxBufferedTraces;
|
|
53
|
+
maxSpansPerTrace;
|
|
54
|
+
maxConcurrentExports;
|
|
55
|
+
flushGraceMs;
|
|
56
|
+
maxTraceAgeMs;
|
|
57
|
+
inFlightExports = 0;
|
|
58
|
+
exportWaiters = [];
|
|
59
|
+
constructor(exporter, options) {
|
|
60
|
+
this.exporter = exporter;
|
|
61
|
+
this.maxBufferedTraces = parseEnvInt(process.env.A365_PER_REQUEST_MAX_TRACES, options?.maxBufferedTraces ?? DEFAULT_MAX_BUFFERED_TRACES);
|
|
62
|
+
this.maxSpansPerTrace = parseEnvInt(process.env.A365_PER_REQUEST_MAX_SPANS_PER_TRACE, options?.maxSpansPerTrace ?? DEFAULT_MAX_SPANS_PER_TRACE);
|
|
63
|
+
this.maxConcurrentExports = parseEnvInt(process.env.A365_PER_REQUEST_MAX_CONCURRENT_EXPORTS, options?.maxConcurrentExports ?? DEFAULT_MAX_CONCURRENT_EXPORTS);
|
|
64
|
+
this.flushGraceMs = parseEnvInt(process.env.A365_PER_REQUEST_FLUSH_GRACE_MS, options?.flushGraceMs ?? DEFAULT_FLUSH_GRACE_MS);
|
|
65
|
+
this.maxTraceAgeMs = parseEnvInt(process.env.A365_PER_REQUEST_MAX_TRACE_AGE_MS, options?.maxTraceAgeMs ?? DEFAULT_MAX_TRACE_AGE_MS);
|
|
66
|
+
}
|
|
67
|
+
onStart(span, ctx) {
|
|
68
|
+
const traceId = span.spanContext().traceId;
|
|
69
|
+
let buf = this.traces.get(traceId);
|
|
70
|
+
if (!buf) {
|
|
71
|
+
if (this.traces.size >= this.maxBufferedTraces) {
|
|
72
|
+
logger.warn(`[PerRequestSpanProcessor] Dropping new trace due to maxBufferedTraces=${this.maxBufferedTraces} traceId=${traceId}`);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
buf = {
|
|
76
|
+
spans: [],
|
|
77
|
+
openCount: 0,
|
|
78
|
+
rootEnded: false,
|
|
79
|
+
rootCtx: undefined,
|
|
80
|
+
startedAtMs: Date.now(),
|
|
81
|
+
droppedSpans: 0,
|
|
82
|
+
};
|
|
83
|
+
this.traces.set(traceId, buf);
|
|
84
|
+
this.ensureSweepTimer();
|
|
85
|
+
logger.debug(`[PerRequestSpanProcessor] Trace started traceId=${traceId} maxTraceAgeMs=${this.maxTraceAgeMs}`);
|
|
86
|
+
}
|
|
87
|
+
buf.openCount += 1;
|
|
88
|
+
const root = isRootSpanFromContext(ctx);
|
|
89
|
+
logger.debug(`[PerRequestSpanProcessor] Span start traceId=${traceId} spanId=${span.spanContext().spanId}` +
|
|
90
|
+
` root=${root} openCount=${buf.openCount}`);
|
|
91
|
+
// Capture a context to export under.
|
|
92
|
+
if (root) {
|
|
93
|
+
buf.rootCtx = ctx;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
buf.rootCtx ??= ctx;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
onEnd(span) {
|
|
100
|
+
const traceId = span.spanContext().traceId;
|
|
101
|
+
const buf = this.traces.get(traceId);
|
|
102
|
+
if (!buf)
|
|
103
|
+
return;
|
|
104
|
+
if (buf.spans.length >= this.maxSpansPerTrace) {
|
|
105
|
+
buf.droppedSpans += 1;
|
|
106
|
+
if (buf.droppedSpans === 1 || buf.droppedSpans % 100 === 0) {
|
|
107
|
+
logger.warn(`[PerRequestSpanProcessor] Dropping ended span due to maxSpansPerTrace=${this.maxSpansPerTrace} ` +
|
|
108
|
+
`traceId=${traceId} droppedSpans=${buf.droppedSpans}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
buf.spans.push(span);
|
|
113
|
+
}
|
|
114
|
+
buf.openCount -= 1;
|
|
115
|
+
if (buf.openCount < 0) {
|
|
116
|
+
logger.warn(`[PerRequestSpanProcessor] openCount underflow traceId=${traceId} spanId=${span.spanContext().spanId} resettingToZero`);
|
|
117
|
+
buf.openCount = 0;
|
|
118
|
+
}
|
|
119
|
+
logger.debug(`[PerRequestSpanProcessor] Span end name=${span.name} traceId=${traceId} spanId=${span.spanContext().spanId}` +
|
|
120
|
+
` root=${isRootSpan(span)} openCount=${buf.openCount} rootEnded=${buf.rootEnded}`);
|
|
121
|
+
if (isRootSpan(span)) {
|
|
122
|
+
buf.rootEnded = true;
|
|
123
|
+
buf.rootEndedAtMs = Date.now();
|
|
124
|
+
if (buf.openCount === 0) {
|
|
125
|
+
this.flushTrace(traceId, "trace_completed");
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else if (buf.rootEnded && buf.openCount === 0) {
|
|
129
|
+
this.flushTrace(traceId, "trace_completed");
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async forceFlush() {
|
|
133
|
+
await Promise.all([...this.traces.keys()].map((id) => this.flushTrace(id, "force_flush")));
|
|
134
|
+
}
|
|
135
|
+
async shutdown() {
|
|
136
|
+
await this.forceFlush();
|
|
137
|
+
this.stopSweepTimerIfIdle();
|
|
138
|
+
await this.exporter.shutdown?.();
|
|
139
|
+
}
|
|
140
|
+
ensureSweepTimer() {
|
|
141
|
+
if (this.sweepTimer)
|
|
142
|
+
return;
|
|
143
|
+
const intervalMs = Math.max(10, Math.min(this.flushGraceMs, 250));
|
|
144
|
+
this.sweepTimer = setInterval(() => {
|
|
145
|
+
void this.sweep();
|
|
146
|
+
}, intervalMs);
|
|
147
|
+
if (typeof this.sweepTimer === "object" && "unref" in this.sweepTimer) {
|
|
148
|
+
this.sweepTimer.unref();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
stopSweepTimerIfIdle() {
|
|
152
|
+
if (this.traces.size !== 0)
|
|
153
|
+
return;
|
|
154
|
+
if (!this.sweepTimer)
|
|
155
|
+
return;
|
|
156
|
+
clearInterval(this.sweepTimer);
|
|
157
|
+
this.sweepTimer = undefined;
|
|
158
|
+
}
|
|
159
|
+
async sweep() {
|
|
160
|
+
if (this.isSweeping)
|
|
161
|
+
return;
|
|
162
|
+
this.isSweeping = true;
|
|
163
|
+
try {
|
|
164
|
+
if (this.traces.size === 0) {
|
|
165
|
+
this.stopSweepTimerIfIdle();
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const now = Date.now();
|
|
169
|
+
const toFlush = [];
|
|
170
|
+
for (const [traceId, trace] of this.traces.entries()) {
|
|
171
|
+
// 1) Max age safety flush
|
|
172
|
+
if (now - trace.startedAtMs >= this.maxTraceAgeMs) {
|
|
173
|
+
toFlush.push({ traceId, reason: "max_trace_age" });
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
// 2) Root ended grace window flush
|
|
177
|
+
if (trace.rootEnded && trace.openCount > 0 && trace.rootEndedAtMs) {
|
|
178
|
+
if (now - trace.rootEndedAtMs >= this.flushGraceMs) {
|
|
179
|
+
toFlush.push({ traceId, reason: "root_ended_grace" });
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
await Promise.all(toFlush.map((x) => this.flushTrace(x.traceId, x.reason)));
|
|
184
|
+
this.stopSweepTimerIfIdle();
|
|
185
|
+
}
|
|
186
|
+
finally {
|
|
187
|
+
this.isSweeping = false;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async flushTrace(traceId, reason) {
|
|
191
|
+
const trace = this.traces.get(traceId);
|
|
192
|
+
if (!trace)
|
|
193
|
+
return;
|
|
194
|
+
this.traces.delete(traceId);
|
|
195
|
+
this.stopSweepTimerIfIdle();
|
|
196
|
+
const spans = trace.spans;
|
|
197
|
+
if (spans.length === 0)
|
|
198
|
+
return;
|
|
199
|
+
logger.debug(`[PerRequestSpanProcessor] Flushing trace traceId=${traceId} reason=${reason} spans=${spans.length} rootEnded=${trace.rootEnded}`);
|
|
200
|
+
if (!trace.rootCtx) {
|
|
201
|
+
logger.error(`[PerRequestSpanProcessor] Missing rootCtx for trace ${traceId}, cannot export spans`);
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
await this.acquireExportSlot();
|
|
205
|
+
try {
|
|
206
|
+
await new Promise((resolve) => {
|
|
207
|
+
try {
|
|
208
|
+
api_1.context.with(trace.rootCtx, () => {
|
|
209
|
+
try {
|
|
210
|
+
this.exporter.export(spans, (result) => {
|
|
211
|
+
if (result.code !== 0) {
|
|
212
|
+
logger.error(`[PerRequestSpanProcessor] Export failed traceId=${traceId} reason=${reason} code=${result.code}`, result.error);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
logger.debug(`[PerRequestSpanProcessor] Export succeeded traceId=${traceId} reason=${reason} spans=${spans.length}`);
|
|
216
|
+
}
|
|
217
|
+
resolve();
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
catch (err) {
|
|
221
|
+
logger.error(`[PerRequestSpanProcessor] Export threw traceId=${traceId} reason=${reason} spans=${spans.length}`, err);
|
|
222
|
+
resolve();
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
catch (err) {
|
|
227
|
+
logger.error(`[PerRequestSpanProcessor] context.with threw traceId=${traceId} reason=${reason}`, err);
|
|
228
|
+
resolve();
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
finally {
|
|
233
|
+
this.releaseExportSlot();
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
async acquireExportSlot() {
|
|
237
|
+
if (this.maxConcurrentExports <= 0)
|
|
238
|
+
return;
|
|
239
|
+
if (this.inFlightExports < this.maxConcurrentExports) {
|
|
240
|
+
this.inFlightExports += 1;
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
await new Promise((resolve) => {
|
|
244
|
+
this.exportWaiters.push(() => {
|
|
245
|
+
this.inFlightExports += 1;
|
|
246
|
+
resolve();
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
releaseExportSlot() {
|
|
251
|
+
if (this.maxConcurrentExports <= 0)
|
|
252
|
+
return;
|
|
253
|
+
this.inFlightExports = Math.max(0, this.inFlightExports - 1);
|
|
254
|
+
const next = this.exportWaiters.shift();
|
|
255
|
+
if (next)
|
|
256
|
+
next();
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
exports.PerRequestSpanProcessor = PerRequestSpanProcessor;
|
|
260
|
+
//# sourceMappingURL=PerRequestSpanProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerRequestSpanProcessor.js","sourceRoot":"","sources":["../../../../src/a365/processors/PerRequestSpanProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { A365SpanProcessor } from "./A365SpanProcessor.js";
|
|
2
|
+
export { GENERIC_ATTRIBUTES, INVOKE_AGENT_ATTRIBUTES } from "./util.js";
|
|
3
|
+
export { PerRequestSpanProcessor } from "./PerRequestSpanProcessor.js";
|
|
4
|
+
export type { PerRequestSpanProcessorOptions } from "./PerRequestSpanProcessor.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a365/processors/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.PerRequestSpanProcessor = exports.INVOKE_AGENT_ATTRIBUTES = exports.GENERIC_ATTRIBUTES = exports.A365SpanProcessor = void 0;
|
|
6
|
+
var A365SpanProcessor_js_1 = require("./A365SpanProcessor.js");
|
|
7
|
+
Object.defineProperty(exports, "A365SpanProcessor", { enumerable: true, get: function () { return A365SpanProcessor_js_1.A365SpanProcessor; } });
|
|
8
|
+
var util_js_1 = require("./util.js");
|
|
9
|
+
Object.defineProperty(exports, "GENERIC_ATTRIBUTES", { enumerable: true, get: function () { return util_js_1.GENERIC_ATTRIBUTES; } });
|
|
10
|
+
Object.defineProperty(exports, "INVOKE_AGENT_ATTRIBUTES", { enumerable: true, get: function () { return util_js_1.INVOKE_AGENT_ATTRIBUTES; } });
|
|
11
|
+
var PerRequestSpanProcessor_js_1 = require("./PerRequestSpanProcessor.js");
|
|
12
|
+
Object.defineProperty(exports, "PerRequestSpanProcessor", { enumerable: true, get: function () { return PerRequestSpanProcessor_js_1.PerRequestSpanProcessor; } });
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/a365/processors/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAC1B,qCAAwE;AAA/D,6GAAA,kBAAkB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AACpD,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic / common tracing attributes applied to all spans.
|
|
3
|
+
*/
|
|
4
|
+
export declare const GENERIC_ATTRIBUTES: readonly string[];
|
|
5
|
+
/**
|
|
6
|
+
* Invoke Agent-specific attributes.
|
|
7
|
+
* These are only applied to spans whose operation is `invoke_agent`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const INVOKE_AGENT_ATTRIBUTES: readonly string[];
|
|
10
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/a365/processors/util.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EA0B/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EASpD,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.INVOKE_AGENT_ATTRIBUTES = exports.GENERIC_ATTRIBUTES = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* Attribute key sets used by the SpanProcessor to copy baggage entries to span attributes.
|
|
8
|
+
*
|
|
9
|
+
* Adapted from microsoft/Agent365-nodejs agents-a365-observability/src/tracing/processors/util.ts
|
|
10
|
+
*/
|
|
11
|
+
const constants_js_1 = require("../constants.js");
|
|
12
|
+
/**
|
|
13
|
+
* Generic / common tracing attributes applied to all spans.
|
|
14
|
+
*/
|
|
15
|
+
exports.GENERIC_ATTRIBUTES = [
|
|
16
|
+
constants_js_1.OpenTelemetryConstants.TENANT_ID_KEY,
|
|
17
|
+
constants_js_1.OpenTelemetryConstants.CUSTOM_PARENT_SPAN_ID_KEY,
|
|
18
|
+
constants_js_1.OpenTelemetryConstants.CUSTOM_SPAN_NAME_KEY,
|
|
19
|
+
constants_js_1.OpenTelemetryConstants.SESSION_ID_KEY,
|
|
20
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY,
|
|
21
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ITEM_LINK_KEY,
|
|
22
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_OPERATION_NAME_KEY,
|
|
23
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY,
|
|
24
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY,
|
|
25
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY,
|
|
26
|
+
constants_js_1.OpenTelemetryConstants.SESSION_DESCRIPTION_KEY,
|
|
27
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_AGENT_EMAIL_KEY,
|
|
28
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY,
|
|
29
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY,
|
|
30
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY,
|
|
31
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_AGENT_VERSION_KEY,
|
|
32
|
+
constants_js_1.OpenTelemetryConstants.SERVICE_NAME_KEY,
|
|
33
|
+
// Caller / Invoker attributes
|
|
34
|
+
constants_js_1.OpenTelemetryConstants.USER_ID_KEY,
|
|
35
|
+
constants_js_1.OpenTelemetryConstants.USER_NAME_KEY,
|
|
36
|
+
constants_js_1.OpenTelemetryConstants.USER_EMAIL_KEY,
|
|
37
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY,
|
|
38
|
+
// Channel attributes
|
|
39
|
+
constants_js_1.OpenTelemetryConstants.CHANNEL_NAME_KEY,
|
|
40
|
+
constants_js_1.OpenTelemetryConstants.CHANNEL_LINK_KEY,
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* Invoke Agent-specific attributes.
|
|
44
|
+
* These are only applied to spans whose operation is `invoke_agent`.
|
|
45
|
+
*/
|
|
46
|
+
exports.INVOKE_AGENT_ATTRIBUTES = [
|
|
47
|
+
// Caller Agent (A2A) attributes
|
|
48
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY,
|
|
49
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY,
|
|
50
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY,
|
|
51
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_EMAIL_KEY,
|
|
52
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY,
|
|
53
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY,
|
|
54
|
+
constants_js_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_VERSION_KEY,
|
|
55
|
+
];
|
|
56
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/a365/processors/util.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC;;;;GAIG;AAEH,kDAAmE;AAEnE;;GAEG;AACU,QAAA,kBAAkB,GAAsB;IACnD,qCAAM,CAAC,aAAa;IACpB,qCAAM,CAAC,yBAAyB;IAChC,qCAAM,CAAC,oBAAoB;IAC3B,qCAAM,CAAC,cAAc;IACrB,qCAAM,CAAC,0BAA0B;IACjC,qCAAM,CAAC,iCAAiC;IACxC,qCAAM,CAAC,yBAAyB;IAChC,qCAAM,CAAC,mBAAmB;IAC1B,qCAAM,CAAC,qBAAqB;IAC5B,qCAAM,CAAC,4BAA4B;IACnC,qCAAM,CAAC,uBAAuB;IAC9B,qCAAM,CAAC,sBAAsB;IAC7B,qCAAM,CAAC,qBAAqB;IAC5B,qCAAM,CAAC,4BAA4B;IACnC,qCAAM,CAAC,6BAA6B;IACpC,qCAAM,CAAC,wBAAwB;IAC/B,qCAAM,CAAC,gBAAgB;IACvB,8BAA8B;IAC9B,qCAAM,CAAC,WAAW;IAClB,qCAAM,CAAC,aAAa;IACpB,qCAAM,CAAC,cAAc;IACrB,qCAAM,CAAC,2BAA2B;IAClC,qBAAqB;IACrB,qCAAM,CAAC,gBAAgB;IACvB,qCAAM,CAAC,gBAAgB;CACxB,CAAC;AAEF;;;GAGG;AACU,QAAA,uBAAuB,GAAsB;IACxD,gCAAgC;IAChC,qCAAM,CAAC,0BAA0B;IACjC,qCAAM,CAAC,4BAA4B;IACnC,qCAAM,CAAC,+BAA+B;IACtC,qCAAM,CAAC,6BAA6B;IACpC,qCAAM,CAAC,sCAAsC;IAC7C,qCAAM,CAAC,mCAAmC;IAC1C,qCAAM,CAAC,+BAA+B;CACvC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { OpenTelemetryScope } from "./OpenTelemetryScope.js";
|
|
2
|
+
import type { ToolCallDetails, AgentDetails, UserDetails, Request, SpanDetails } from "../contracts.js";
|
|
3
|
+
/**
|
|
4
|
+
* Provides OpenTelemetry tracing scope for AI tool execution operations.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ExecuteToolScope extends OpenTelemetryScope {
|
|
7
|
+
/**
|
|
8
|
+
* Creates and starts a new scope for tool execution tracing.
|
|
9
|
+
*
|
|
10
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
11
|
+
* @param details The tool call details (name, type, args, call id, etc.).
|
|
12
|
+
* @param agentDetails The agent executing the tool. `tenantId` is required.
|
|
13
|
+
* @param userDetails Optional human caller identity.
|
|
14
|
+
* @param spanDetails Optional span configuration. Defaults to SpanKind.INTERNAL.
|
|
15
|
+
*/
|
|
16
|
+
static start(request: Request, details: ToolCallDetails, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): ExecuteToolScope;
|
|
17
|
+
private constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Records response information for telemetry tracking.
|
|
20
|
+
* Objects are serialized to JSON automatically.
|
|
21
|
+
*/
|
|
22
|
+
recordResponse(response: Record<string, unknown> | string): void;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ExecuteToolScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecuteToolScope.d.ts","sourceRoot":"","sources":["../../../../src/a365/scopes/ExecuteToolScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,OAAO,EACP,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD;;;;;;;;OAQG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,gBAAgB;IAInB,OAAO;IA+CP;;;OAGG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;CAMxE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ExecuteToolScope = void 0;
|
|
6
|
+
const api_1 = require("@opentelemetry/api");
|
|
7
|
+
const OpenTelemetryScope_js_1 = require("./OpenTelemetryScope.js");
|
|
8
|
+
const constants_js_1 = require("../constants.js");
|
|
9
|
+
const message_utils_js_1 = require("../message-utils.js");
|
|
10
|
+
/**
|
|
11
|
+
* Provides OpenTelemetry tracing scope for AI tool execution operations.
|
|
12
|
+
*/
|
|
13
|
+
class ExecuteToolScope extends OpenTelemetryScope_js_1.OpenTelemetryScope {
|
|
14
|
+
/**
|
|
15
|
+
* Creates and starts a new scope for tool execution tracing.
|
|
16
|
+
*
|
|
17
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
18
|
+
* @param details The tool call details (name, type, args, call id, etc.).
|
|
19
|
+
* @param agentDetails The agent executing the tool. `tenantId` is required.
|
|
20
|
+
* @param userDetails Optional human caller identity.
|
|
21
|
+
* @param spanDetails Optional span configuration. Defaults to SpanKind.INTERNAL.
|
|
22
|
+
*/
|
|
23
|
+
static start(request, details, agentDetails, userDetails, spanDetails) {
|
|
24
|
+
return new ExecuteToolScope(request, details, agentDetails, userDetails, spanDetails);
|
|
25
|
+
}
|
|
26
|
+
constructor(request, details, agentDetails, userDetails, spanDetails) {
|
|
27
|
+
if (!agentDetails.tenantId) {
|
|
28
|
+
throw new Error("ExecuteToolScope: tenantId is required on agentDetails");
|
|
29
|
+
}
|
|
30
|
+
const resolvedSpanDetails = {
|
|
31
|
+
spanKind: api_1.SpanKind.INTERNAL,
|
|
32
|
+
...spanDetails,
|
|
33
|
+
};
|
|
34
|
+
super(constants_js_1.OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME, `${constants_js_1.OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME} ${details.toolName}`, agentDetails, resolvedSpanDetails, userDetails);
|
|
35
|
+
const { toolName, arguments: args, toolCallId, description, toolType, endpoint } = details;
|
|
36
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.GEN_AI_TOOL_NAME_KEY, toolName);
|
|
37
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.GEN_AI_TOOL_ARGS_KEY, args != null ? (0, message_utils_js_1.safeSerializeToJson)(args, "arguments") : undefined);
|
|
38
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.GEN_AI_TOOL_TYPE_KEY, toolType);
|
|
39
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.GEN_AI_TOOL_CALL_ID_KEY, toolCallId);
|
|
40
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.GEN_AI_TOOL_DESCRIPTION_KEY, description);
|
|
41
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
|
|
42
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel?.name);
|
|
43
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel?.description);
|
|
44
|
+
if (endpoint) {
|
|
45
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.SERVER_ADDRESS_KEY, endpoint.host);
|
|
46
|
+
if (endpoint.port && endpoint.port !== 443) {
|
|
47
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.SERVER_PORT_KEY, endpoint.port);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Records response information for telemetry tracking.
|
|
53
|
+
* Objects are serialized to JSON automatically.
|
|
54
|
+
*/
|
|
55
|
+
recordResponse(response) {
|
|
56
|
+
this.setTagMaybe(constants_js_1.OpenTelemetryConstants.GEN_AI_TOOL_CALL_RESULT_KEY, (0, message_utils_js_1.safeSerializeToJson)(response, "result"));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.ExecuteToolScope = ExecuteToolScope;
|
|
60
|
+
//# sourceMappingURL=ExecuteToolScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecuteToolScope.js","sourceRoot":"","sources":["../../../../src/a365/scopes/ExecuteToolScope.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,4CAA8C;AAC9C,mEAA6D;AAC7D,kDAAyD;AACzD,0DAA0D;AAS1D;;GAEG;AACH,MAAa,gBAAiB,SAAQ,0CAAkB;IACtD;;;;;;;;OAQG;IACI,MAAM,CAAC,KAAK,CACjB,OAAgB,EAChB,OAAwB,EACxB,YAA0B,EAC1B,WAAyB,EACzB,WAAyB;QAEzB,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACxF,CAAC;IAED,YACE,OAAgB,EAChB,OAAwB,EACxB,YAA0B,EAC1B,WAAyB,EACzB,WAAyB;QAEzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,mBAAmB,GAAgB;YACvC,QAAQ,EAAE,cAAQ,CAAC,QAAQ;YAC3B,GAAG,WAAW;SACf,CAAC;QAEF,KAAK,CACH,qCAAsB,CAAC,2BAA2B,EAClD,GAAG,qCAAsB,CAAC,2BAA2B,IAAI,OAAO,CAAC,QAAQ,EAAE,EAC3E,YAAY,EACZ,mBAAmB,EACnB,WAAW,CACZ,CAAC;QAEF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE3F,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CACd,qCAAsB,CAAC,oBAAoB,EAC3C,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,sCAAmB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAClE,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;QAElF,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,0BAA0B,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5F,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAExF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,qCAAsB,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,QAA0C;QAC9D,IAAI,CAAC,WAAW,CACd,qCAAsB,CAAC,2BAA2B,EAClD,IAAA,sCAAmB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CACxC,CAAC;IACJ,CAAC;CACF;AA7ED,4CA6EC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { OpenTelemetryScope } from "./OpenTelemetryScope.js";
|
|
2
|
+
import type { InferenceDetails, AgentDetails, UserDetails, Request, SpanDetails, InputMessagesParam, OutputMessagesParam } from "../contracts.js";
|
|
3
|
+
/**
|
|
4
|
+
* Provides OpenTelemetry tracing scope for generative AI inference operations.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InferenceScope extends OpenTelemetryScope {
|
|
7
|
+
/**
|
|
8
|
+
* Creates and starts a new scope for inference tracing.
|
|
9
|
+
*
|
|
10
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
11
|
+
* @param details The inference call details (model, provider, tokens, etc.).
|
|
12
|
+
* @param agentDetails The agent performing the inference. `tenantId` is required.
|
|
13
|
+
* @param userDetails Optional human caller identity.
|
|
14
|
+
* @param spanDetails Optional span configuration. `spanKind` is always CLIENT.
|
|
15
|
+
*/
|
|
16
|
+
static start(request: Request, details: InferenceDetails, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): InferenceScope;
|
|
17
|
+
private constructor();
|
|
18
|
+
/** Records the number of input tokens. */
|
|
19
|
+
recordInputTokens(inputTokens: number): void;
|
|
20
|
+
/** Records the number of output tokens. */
|
|
21
|
+
recordOutputTokens(outputTokens: number): void;
|
|
22
|
+
/** Records the finish reasons. */
|
|
23
|
+
recordFinishReasons(finishReasons: string[]): void;
|
|
24
|
+
/** Records the input messages for telemetry tracking. */
|
|
25
|
+
recordInputMessages(messages: InputMessagesParam): void;
|
|
26
|
+
/** Records the output messages for telemetry tracking. */
|
|
27
|
+
recordOutputMessages(messages: OutputMessagesParam): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=InferenceScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InferenceScope.d.ts","sourceRoot":"","sources":["../../../../src/a365/scopes/InferenceScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD;;;;;;;;OAQG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc;IAIjB,OAAO;IAkDP,0CAA0C;IACnC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAInD,2CAA2C;IACpC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAIrD,kCAAkC;IAC3B,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;IAMzD,yDAAyD;IACzC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIvE,0DAA0D;IAC1C,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAG1E"}
|