@openai/agents-core 0.11.4 → 0.11.5
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/agentToolRunConfig.js +4 -0
- package/dist/agentToolRunConfig.js.map +1 -1
- package/dist/agentToolRunConfig.mjs +4 -0
- package/dist/agentToolRunConfig.mjs.map +1 -1
- package/dist/handoff.d.ts +45 -0
- package/dist/handoff.js +28 -0
- package/dist/handoff.js.map +1 -1
- package/dist/handoff.mjs +28 -0
- package/dist/handoff.mjs.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/run.d.ts +18 -4
- package/dist/run.js +27 -5
- package/dist/run.js.map +1 -1
- package/dist/run.mjs +28 -6
- package/dist/run.mjs.map +1 -1
- package/dist/runState.d.ts +14 -1
- package/dist/runState.js +25 -2
- package/dist/runState.js.map +1 -1
- package/dist/runState.mjs +25 -2
- package/dist/runState.mjs.map +1 -1
- package/dist/runner/modelOutputs.d.ts +3 -2
- package/dist/runner/modelOutputs.js +43 -14
- package/dist/runner/modelOutputs.js.map +1 -1
- package/dist/runner/modelOutputs.mjs +43 -14
- package/dist/runner/modelOutputs.mjs.map +1 -1
- package/dist/runner/sessionPersistence.js +2 -1
- package/dist/runner/sessionPersistence.js.map +1 -1
- package/dist/runner/sessionPersistence.mjs +2 -1
- package/dist/runner/sessionPersistence.mjs.map +1 -1
- package/dist/runner/turnResolution.js +51 -0
- package/dist/runner/turnResolution.js.map +1 -1
- package/dist/runner/turnResolution.mjs +50 -2
- package/dist/runner/turnResolution.mjs.map +1 -1
- package/dist/runner/types.d.ts +5 -0
- package/dist/shims/shims-browser.d.ts +6 -5
- package/dist/shims/shims-browser.js +62 -2
- package/dist/shims/shims-browser.js.map +1 -1
- package/dist/shims/shims-browser.mjs +62 -2
- package/dist/shims/shims-browser.mjs.map +1 -1
- package/dist/tracing/context.d.ts +38 -0
- package/dist/tracing/context.js +115 -1
- package/dist/tracing/context.js.map +1 -1
- package/dist/tracing/context.mjs +112 -1
- package/dist/tracing/context.mjs.map +1 -1
- package/dist/tracing/index.d.ts +31 -3
- package/dist/tracing/index.js +37 -1
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/index.mjs +31 -3
- package/dist/tracing/index.mjs.map +1 -1
- package/dist/tracing/processor.d.ts +10 -0
- package/dist/tracing/processor.js +24 -0
- package/dist/tracing/processor.js.map +1 -1
- package/dist/tracing/processor.mjs +24 -0
- package/dist/tracing/processor.mjs.map +1 -1
- package/dist/tracing/provider.d.ts +34 -1
- package/dist/tracing/provider.js +64 -3
- package/dist/tracing/provider.js.map +1 -1
- package/dist/tracing/provider.mjs +65 -4
- package/dist/tracing/provider.mjs.map +1 -1
- package/dist/tracing/utils.d.ts +5 -0
- package/dist/tracing/utils.js +5 -1
- package/dist/tracing/utils.js.map +1 -1
- package/dist/tracing/utils.mjs +4 -0
- package/dist/tracing/utils.mjs.map +1 -1
- package/dist/usage.d.ts +10 -2
- package/dist/usage.js +12 -0
- package/dist/usage.js.map +1 -1
- package/dist/usage.mjs +12 -0
- package/dist/usage.mjs.map +1 -1
- package/package.json +1 -1
package/dist/tracing/index.js
CHANGED
|
@@ -14,23 +14,30 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.generateTraceId = exports.generateSpanId = exports.generateGroupId = exports.Trace = exports.NoopTrace = exports.Span = exports.NoopSpan = exports.ConsoleSpanExporter = exports.BatchTraceProcessor = exports.withTrace = exports.setCurrentSpan = exports.resetCurrentSpan = exports.getOrCreateTrace = exports.getCurrentTrace = exports.getCurrentSpan = void 0;
|
|
17
|
+
exports.generateTraceId = exports.generateSpanId = exports.generateGroupId = exports.defaultTracingIdGenerator = exports.Trace = exports.NoopTrace = exports.Span = exports.NoopSpan = exports.MultiTracingProcessor = exports.ConsoleSpanExporter = exports.BatchTraceProcessor = exports.withTrace = exports.withTraceContext = exports.setTracingContextStorage = exports.setCurrentSpan = exports.resetCurrentSpan = exports.getOrCreateTrace = exports.getCurrentTrace = exports.getCurrentSpan = exports.getCurrentTraceContext = void 0;
|
|
18
18
|
exports.addTraceProcessor = addTraceProcessor;
|
|
19
19
|
exports.setTraceProcessors = setTraceProcessors;
|
|
20
20
|
exports.setTracingDisabled = setTracingDisabled;
|
|
21
|
+
exports.setTracingIdGenerator = setTracingIdGenerator;
|
|
22
|
+
exports.dispatchTrace = dispatchTrace;
|
|
23
|
+
exports.dispatchSpan = dispatchSpan;
|
|
21
24
|
exports.startTraceExportLoop = startTraceExportLoop;
|
|
22
25
|
const provider_1 = require("./provider.js");
|
|
23
26
|
var context_1 = require("./context.js");
|
|
27
|
+
Object.defineProperty(exports, "getCurrentTraceContext", { enumerable: true, get: function () { return context_1.getCurrentTraceContext; } });
|
|
24
28
|
Object.defineProperty(exports, "getCurrentSpan", { enumerable: true, get: function () { return context_1.getCurrentSpan; } });
|
|
25
29
|
Object.defineProperty(exports, "getCurrentTrace", { enumerable: true, get: function () { return context_1.getCurrentTrace; } });
|
|
26
30
|
Object.defineProperty(exports, "getOrCreateTrace", { enumerable: true, get: function () { return context_1.getOrCreateTrace; } });
|
|
27
31
|
Object.defineProperty(exports, "resetCurrentSpan", { enumerable: true, get: function () { return context_1.resetCurrentSpan; } });
|
|
28
32
|
Object.defineProperty(exports, "setCurrentSpan", { enumerable: true, get: function () { return context_1.setCurrentSpan; } });
|
|
33
|
+
Object.defineProperty(exports, "setTracingContextStorage", { enumerable: true, get: function () { return context_1.setTracingContextStorage; } });
|
|
34
|
+
Object.defineProperty(exports, "withTraceContext", { enumerable: true, get: function () { return context_1.withTraceContext; } });
|
|
29
35
|
Object.defineProperty(exports, "withTrace", { enumerable: true, get: function () { return context_1.withTrace; } });
|
|
30
36
|
__exportStar(require("./createSpans.js"), exports);
|
|
31
37
|
var processor_1 = require("./processor.js");
|
|
32
38
|
Object.defineProperty(exports, "BatchTraceProcessor", { enumerable: true, get: function () { return processor_1.BatchTraceProcessor; } });
|
|
33
39
|
Object.defineProperty(exports, "ConsoleSpanExporter", { enumerable: true, get: function () { return processor_1.ConsoleSpanExporter; } });
|
|
40
|
+
Object.defineProperty(exports, "MultiTracingProcessor", { enumerable: true, get: function () { return processor_1.MultiTracingProcessor; } });
|
|
34
41
|
var spans_1 = require("./spans.js");
|
|
35
42
|
Object.defineProperty(exports, "NoopSpan", { enumerable: true, get: function () { return spans_1.NoopSpan; } });
|
|
36
43
|
Object.defineProperty(exports, "Span", { enumerable: true, get: function () { return spans_1.Span; } });
|
|
@@ -38,6 +45,7 @@ var traces_1 = require("./traces.js");
|
|
|
38
45
|
Object.defineProperty(exports, "NoopTrace", { enumerable: true, get: function () { return traces_1.NoopTrace; } });
|
|
39
46
|
Object.defineProperty(exports, "Trace", { enumerable: true, get: function () { return traces_1.Trace; } });
|
|
40
47
|
var utils_1 = require("./utils.js");
|
|
48
|
+
Object.defineProperty(exports, "defaultTracingIdGenerator", { enumerable: true, get: function () { return utils_1.defaultTracingIdGenerator; } });
|
|
41
49
|
Object.defineProperty(exports, "generateGroupId", { enumerable: true, get: function () { return utils_1.generateGroupId; } });
|
|
42
50
|
Object.defineProperty(exports, "generateSpanId", { enumerable: true, get: function () { return utils_1.generateSpanId; } });
|
|
43
51
|
Object.defineProperty(exports, "generateTraceId", { enumerable: true, get: function () { return utils_1.generateTraceId; } });
|
|
@@ -65,6 +73,34 @@ function setTraceProcessors(processors) {
|
|
|
65
73
|
function setTracingDisabled(disabled) {
|
|
66
74
|
(0, provider_1.getGlobalTraceProvider)().setDisabled(disabled);
|
|
67
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Set the trace and span ID generator for the global tracing provider.
|
|
78
|
+
*
|
|
79
|
+
* @param idGenerator - Custom ID generator methods, or undefined to restore defaults.
|
|
80
|
+
*/
|
|
81
|
+
function setTracingIdGenerator(idGenerator) {
|
|
82
|
+
(0, provider_1.getGlobalTraceProvider)().setIdGenerator(idGenerator);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Dispatch a completed trace lifecycle to all processors registered on the
|
|
86
|
+
* global tracing provider.
|
|
87
|
+
*
|
|
88
|
+
* This bypasses Trace.start() and Trace.end(), so callers can replay a
|
|
89
|
+
* completed lifecycle without mutating the trace state.
|
|
90
|
+
*/
|
|
91
|
+
async function dispatchTrace(trace) {
|
|
92
|
+
await (0, provider_1.getGlobalTraceProvider)().dispatchTrace(trace);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Dispatch a completed span lifecycle to all processors registered on the
|
|
96
|
+
* global tracing provider.
|
|
97
|
+
*
|
|
98
|
+
* This bypasses Span.start() and Span.end(), so callers can replay a completed
|
|
99
|
+
* lifecycle without mutating existing timestamps.
|
|
100
|
+
*/
|
|
101
|
+
async function dispatchSpan(span) {
|
|
102
|
+
await (0, provider_1.getGlobalTraceProvider)().dispatchSpan(span);
|
|
103
|
+
}
|
|
68
104
|
/**
|
|
69
105
|
* Start the trace export loop.
|
|
70
106
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA6DA,8CAEC;AAOD,gDAEC;AAOD,gDAEC;AAOD,sDAIC;AASD,sCAEC;AASD,oCAIC;AAKD,oDAEC;AA1HD,4CAAoD;AAMpD,wCAUmB;AATjB,iHAAA,sBAAsB,OAAA;AACtB,yGAAA,cAAc,OAAA;AACd,0GAAA,eAAe,OAAA;AACf,2GAAA,gBAAgB,OAAA;AAChB,2GAAA,gBAAgB,OAAA;AAChB,yGAAA,cAAc,OAAA;AACd,mHAAA,wBAAwB,OAAA;AACxB,2GAAA,gBAAgB,OAAA;AAChB,oGAAA,SAAS,OAAA;AAGX,mDAA8B;AAC9B,4CAMqB;AALnB,gHAAA,mBAAmB,OAAA;AAGnB,gHAAA,mBAAmB,OAAA;AACnB,kHAAA,qBAAqB,OAAA;AAEvB,oCAAyC;AAAhC,iGAAA,QAAQ,OAAA;AAAE,6FAAA,IAAI,OAAA;AAkBvB,sCAA4C;AAAnC,mGAAA,SAAS,OAAA;AAAE,+FAAA,KAAK,OAAA;AACzB,oCAKiB;AAJf,kHAAA,yBAAyB,OAAA;AACzB,wGAAA,eAAe,OAAA;AACf,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AAMjB;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,SAA2B;IAC3D,IAAA,iCAAsB,GAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,UAA8B;IAC/D,IAAA,iCAAsB,GAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,QAAiB;IAClD,IAAA,iCAAsB,GAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CACnC,WAAyC;IAEzC,IAAA,iCAAsB,GAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,aAAa,CAAC,KAAY;IAC9C,MAAM,IAAA,iCAAsB,GAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,YAAY,CAChC,IAAqB;IAErB,MAAM,IAAA,iCAAsB,GAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,IAAA,iCAAsB,GAAE,CAAC,eAAe,EAAE,CAAC;AAC7C,CAAC"}
|
package/dist/tracing/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { getGlobalTraceProvider } from "./provider.mjs";
|
|
2
|
-
export { getCurrentSpan, getCurrentTrace, getOrCreateTrace, resetCurrentSpan, setCurrentSpan, withTrace, } from "./context.mjs";
|
|
2
|
+
export { getCurrentTraceContext, getCurrentSpan, getCurrentTrace, getOrCreateTrace, resetCurrentSpan, setCurrentSpan, setTracingContextStorage, withTraceContext, withTrace, } from "./context.mjs";
|
|
3
3
|
export * from "./createSpans.mjs";
|
|
4
|
-
export { BatchTraceProcessor, ConsoleSpanExporter, } from "./processor.mjs";
|
|
4
|
+
export { BatchTraceProcessor, ConsoleSpanExporter, MultiTracingProcessor, } from "./processor.mjs";
|
|
5
5
|
export { NoopSpan, Span } from "./spans.mjs";
|
|
6
6
|
export { NoopTrace, Trace } from "./traces.mjs";
|
|
7
|
-
export { generateGroupId, generateSpanId, generateTraceId } from "./utils.mjs";
|
|
7
|
+
export { defaultTracingIdGenerator, generateGroupId, generateSpanId, generateTraceId, } from "./utils.mjs";
|
|
8
8
|
/**
|
|
9
9
|
* Add a processor to the list of processors. Each processor will receive all traces/spans.
|
|
10
10
|
*
|
|
@@ -29,6 +29,34 @@ export function setTraceProcessors(processors) {
|
|
|
29
29
|
export function setTracingDisabled(disabled) {
|
|
30
30
|
getGlobalTraceProvider().setDisabled(disabled);
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Set the trace and span ID generator for the global tracing provider.
|
|
34
|
+
*
|
|
35
|
+
* @param idGenerator - Custom ID generator methods, or undefined to restore defaults.
|
|
36
|
+
*/
|
|
37
|
+
export function setTracingIdGenerator(idGenerator) {
|
|
38
|
+
getGlobalTraceProvider().setIdGenerator(idGenerator);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Dispatch a completed trace lifecycle to all processors registered on the
|
|
42
|
+
* global tracing provider.
|
|
43
|
+
*
|
|
44
|
+
* This bypasses Trace.start() and Trace.end(), so callers can replay a
|
|
45
|
+
* completed lifecycle without mutating the trace state.
|
|
46
|
+
*/
|
|
47
|
+
export async function dispatchTrace(trace) {
|
|
48
|
+
await getGlobalTraceProvider().dispatchTrace(trace);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Dispatch a completed span lifecycle to all processors registered on the
|
|
52
|
+
* global tracing provider.
|
|
53
|
+
*
|
|
54
|
+
* This bypasses Span.start() and Span.end(), so callers can replay a completed
|
|
55
|
+
* lifecycle without mutating existing timestamps.
|
|
56
|
+
*/
|
|
57
|
+
export async function dispatchSpan(span) {
|
|
58
|
+
await getGlobalTraceProvider().dispatchSpan(span);
|
|
59
|
+
}
|
|
32
60
|
/**
|
|
33
61
|
* Start the trace export loop.
|
|
34
62
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":"OACO,EAAE,sBAAsB,EAAE;
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":"OACO,EAAE,sBAAsB,EAAE;OAM1B,EACL,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,GACV;;OAGM,EACL,mBAAmB,EAGnB,mBAAmB,EACnB,qBAAqB,GACtB;OACM,EAAE,QAAQ,EAAE,IAAI,EAAE;OAkBlB,EAAE,SAAS,EAAE,KAAK,EAAE;OACpB,EACL,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,eAAe,GAChB;AAKD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAA2B;IAC3D,sBAAsB,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAC/D,sBAAsB,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,sBAAsB,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAyC;IAEzC,sBAAsB,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAY;IAC9C,MAAM,sBAAsB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAqB;IAErB,MAAM,sBAAsB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,sBAAsB,EAAE,CAAC,eAAe,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -91,6 +91,16 @@ export declare class MultiTracingProcessor implements TracingProcessor {
|
|
|
91
91
|
onTraceEnd(trace: Trace): Promise<void>;
|
|
92
92
|
onSpanStart(span: Span): Promise<void>;
|
|
93
93
|
onSpanEnd(span: Span): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Dispatches a completed trace lifecycle to every registered processor without
|
|
96
|
+
* calling Trace.start() or Trace.end().
|
|
97
|
+
*/
|
|
98
|
+
dispatchTrace(trace: Trace): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Dispatches a completed span lifecycle to every registered processor without
|
|
101
|
+
* calling Span.start() or Span.end().
|
|
102
|
+
*/
|
|
103
|
+
dispatchSpan(span: Span): Promise<void>;
|
|
94
104
|
shutdown(timeout?: number): Promise<void>;
|
|
95
105
|
forceFlush(): Promise<void>;
|
|
96
106
|
}
|
|
@@ -10,6 +10,7 @@ const logger_1 = __importDefault(require("../logger.js"));
|
|
|
10
10
|
const _shims_1 = require("@openai/agents-core/_shims");
|
|
11
11
|
const config_1 = require("../config.js");
|
|
12
12
|
const abortSignals_1 = require("../utils/abortSignals.js");
|
|
13
|
+
const utils_1 = require("./utils.js");
|
|
13
14
|
/**
|
|
14
15
|
* Prints the traces and spans to the console
|
|
15
16
|
*/
|
|
@@ -245,6 +246,29 @@ class MultiTracingProcessor {
|
|
|
245
246
|
await processor.onSpanEnd(span);
|
|
246
247
|
}
|
|
247
248
|
}
|
|
249
|
+
/**
|
|
250
|
+
* Dispatches a completed trace lifecycle to every registered processor without
|
|
251
|
+
* calling Trace.start() or Trace.end().
|
|
252
|
+
*/
|
|
253
|
+
async dispatchTrace(trace) {
|
|
254
|
+
if (trace.traceId === utils_1.NOOP_TRACE_OR_SPAN_ID) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
await this.onTraceStart(trace);
|
|
258
|
+
await this.onTraceEnd(trace);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Dispatches a completed span lifecycle to every registered processor without
|
|
262
|
+
* calling Span.start() or Span.end().
|
|
263
|
+
*/
|
|
264
|
+
async dispatchSpan(span) {
|
|
265
|
+
if (span.traceId === utils_1.NOOP_TRACE_OR_SPAN_ID ||
|
|
266
|
+
span.spanId === utils_1.NOOP_TRACE_OR_SPAN_ID) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
await this.onSpanStart(span);
|
|
270
|
+
await this.onSpanEnd(span);
|
|
271
|
+
}
|
|
248
272
|
async shutdown(timeout) {
|
|
249
273
|
for (const processor of this.#processors) {
|
|
250
274
|
await processor.shutdown(timeout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/tracing/processor.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/tracing/processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import logger from "../logger.mjs";
|
|
|
2
2
|
import { timer as _timer, isTracingLoopRunningByDefault, } from '@openai/agents-core/_shims';
|
|
3
3
|
import { tracing } from "../config.mjs";
|
|
4
4
|
import { combineAbortSignals } from "../utils/abortSignals.mjs";
|
|
5
|
+
import { NOOP_TRACE_OR_SPAN_ID } from "./utils.mjs";
|
|
5
6
|
/**
|
|
6
7
|
* Prints the traces and spans to the console
|
|
7
8
|
*/
|
|
@@ -235,6 +236,29 @@ export class MultiTracingProcessor {
|
|
|
235
236
|
await processor.onSpanEnd(span);
|
|
236
237
|
}
|
|
237
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Dispatches a completed trace lifecycle to every registered processor without
|
|
241
|
+
* calling Trace.start() or Trace.end().
|
|
242
|
+
*/
|
|
243
|
+
async dispatchTrace(trace) {
|
|
244
|
+
if (trace.traceId === NOOP_TRACE_OR_SPAN_ID) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
await this.onTraceStart(trace);
|
|
248
|
+
await this.onTraceEnd(trace);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Dispatches a completed span lifecycle to every registered processor without
|
|
252
|
+
* calling Span.start() or Span.end().
|
|
253
|
+
*/
|
|
254
|
+
async dispatchSpan(span) {
|
|
255
|
+
if (span.traceId === NOOP_TRACE_OR_SPAN_ID ||
|
|
256
|
+
span.spanId === NOOP_TRACE_OR_SPAN_ID) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
await this.onSpanStart(span);
|
|
260
|
+
await this.onSpanEnd(span);
|
|
261
|
+
}
|
|
238
262
|
async shutdown(timeout) {
|
|
239
263
|
for (const processor of this.#processors) {
|
|
240
264
|
await processor.shutdown(timeout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.mjs","sourceRoot":"","sources":["../../src/tracing/processor.ts"],"names":[],"mappings":"OAEO,MAAM;OACN,EACL,KAAK,IAAI,MAAM,EACf,6BAA6B,GAC9B,MAAM,4BAA4B;OAE5B,EAAE,OAAO,EAAE;OACX,EAAE,mBAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"processor.mjs","sourceRoot":"","sources":["../../src/tracing/processor.ts"],"names":[],"mappings":"OAEO,MAAM;OACN,EACL,KAAK,IAAI,MAAM,EACf,6BAA6B,GAC9B,MAAM,4BAA4B;OAE5B,EAAE,OAAO,EAAE;OACX,EAAE,mBAAmB,EAAE;OACvB,EAAE,qBAAqB,EAAE;AAyDhC;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC9B,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CACT,mCAAmC,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACrH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAqBD,MAAM,OAAO,mBAAmB;IACrB,aAAa,CAAS;IACtB,aAAa,CAAS;IACtB,cAAc,CAAS;IACvB,kBAAkB,CAAS;IAC3B,SAAS,CAAkB;IAEpC,OAAO,GAAwB,EAAE,CAAC;IAClC,MAAM,CAAQ;IACd,QAAQ,GAAmB,IAAI,CAAC;IAChC,iBAAiB,GAAG,KAAK,CAAC;IAC1B,uBAAuB,GAA2B,IAAI,CAAC;IACvD,6BAA6B,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE3D,YACE,QAAyB,EACzB,EACE,YAAY,GAAG,IAAI,EACnB,YAAY,GAAG,GAAG,EAClB,aAAa,GAAG,IAAI,EAAE,YAAY;IAClC,kBAAkB,GAAG,GAAG,MACM,EAAE;QAElC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,YAAY,GAAG,kBAAkB,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,6BAA6B,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CACV,uJAAuJ,CACxJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAe,EAAE,CAAC;QACrD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAkB;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClD,8BAA8B;YAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChD,mBAAmB;YACnB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAExB,yFAAyF;QACzF,yCAAyC;QACzC,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAiB,KAAK,EACtB,MAAoB;QAEpB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CACV,6BAA6B,KAAK,kBAAkB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAC1E,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,EAAE,KAA0B,EAAiB,EAAE;YACtE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,MAAM,2BAA2B,GAAG,IAAI,eAAe,EAAE,CAAC;YAC1D,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACpE,MAAM,cAAc,GAAG,mBAAmB,CACxC,MAAM,EACN,2BAA2B,CAAC,MAAM,CACnC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;oBAAS,CAAC;gBACT,cAAc,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBACvE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,GAAG,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC5D,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,MAAoB;QACjD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAA0B,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;YAE7B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAY;QAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAa;QAC5B,oEAAoE;IACtE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAW;QAC3B,+DAA+D;IACjE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAU;QACxB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,IAAI,eAAoC,CAAC;QACzC,MAAM,uBAAuB,GAAG,OAAO;YACrC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,IAAI,IAAI,eAAe,EAAE,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,IAAI,IAAI,CAAC;YAC/D,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC5C,mCAAmC;gBACnC,uBAAuB,EAAE,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChD,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzD,MAAM,CAAC,KAAK,CACV,4CAA4C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAClE,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,mEAAmE;oBACnE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,uBAAuB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBAChD,MAAM;gBACR,CAAC;gBACD,4EAA4E;gBAC5E,MAAM,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAChC,WAAW,GAAuB,EAAE,CAAC;IAErC,KAAK;QACH,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,SAA2B;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,UAA8B;QAC1C,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAY;QAC7B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAY;QAC3B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAU;QAC1B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAU;QACxB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAY;QAC9B,IAAI,KAAK,CAAC,OAAO,KAAK,qBAAqB,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,IAAU;QAC3B,IACE,IAAI,CAAC,OAAO,KAAK,qBAAqB;YACtC,IAAI,CAAC,MAAM,KAAK,qBAAqB,EACrC,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,IAAI,gBAAgB,GAA+B,IAAI,CAAC;AACxD,IAAI,iBAAiB,GAA+B,IAAI,CAAC;AAEzD,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC/C,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,eAAe,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { TracingProcessor } from './processor';
|
|
2
2
|
import { Span, SpanData, SpanOptions } from './spans';
|
|
3
3
|
import { Trace, TraceOptions } from './traces';
|
|
4
|
+
import { type TracingIdGenerator } from './utils';
|
|
4
5
|
export type CreateSpanOptions<TData extends SpanData> = Omit<SpanOptions<TData>, 'traceId'> & {
|
|
5
6
|
traceId?: string;
|
|
6
7
|
disabled?: boolean;
|
|
7
8
|
};
|
|
9
|
+
export type TraceProviderOptions = {
|
|
10
|
+
idGenerator?: Partial<TracingIdGenerator>;
|
|
11
|
+
};
|
|
8
12
|
export declare class TraceProvider {
|
|
9
13
|
#private;
|
|
10
|
-
constructor();
|
|
14
|
+
constructor(options?: TraceProviderOptions);
|
|
11
15
|
/**
|
|
12
16
|
* Add a processor to the list of processors. Each processor will receive all traces/spans.
|
|
13
17
|
*
|
|
@@ -28,7 +32,36 @@ export declare class TraceProvider {
|
|
|
28
32
|
getCurrentTrace(): Trace | null;
|
|
29
33
|
getCurrentSpan(): Span<any> | null;
|
|
30
34
|
setDisabled(disabled: boolean): void;
|
|
35
|
+
setIdGenerator(idGenerator?: Partial<TracingIdGenerator>): void;
|
|
36
|
+
/**
|
|
37
|
+
* Generate a new trace ID.
|
|
38
|
+
*
|
|
39
|
+
* Override this in custom providers to take precedence over configured ID generators.
|
|
40
|
+
*/
|
|
41
|
+
generateTraceId(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Generate a new span ID.
|
|
44
|
+
*
|
|
45
|
+
* Override this in custom providers to take precedence over configured ID generators.
|
|
46
|
+
*/
|
|
47
|
+
generateSpanId(): string;
|
|
31
48
|
startExportLoop(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Dispatches a completed trace lifecycle to all registered processors.
|
|
51
|
+
*
|
|
52
|
+
* This is useful when an integration receives a trace that was started and
|
|
53
|
+
* ended outside this process and needs to fan out the lifecycle without
|
|
54
|
+
* mutating the trace state.
|
|
55
|
+
*/
|
|
56
|
+
dispatchTrace(trace: Trace): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Dispatches a completed span lifecycle to all registered processors.
|
|
59
|
+
*
|
|
60
|
+
* This is useful when an integration receives a span that already has
|
|
61
|
+
* lifecycle timestamps and needs to fan out the lifecycle without mutating
|
|
62
|
+
* those timestamps.
|
|
63
|
+
*/
|
|
64
|
+
dispatchSpan<TSpanData extends SpanData>(span: Span<TSpanData>): Promise<void>;
|
|
32
65
|
createTrace(traceOptions: TraceOptions): Trace;
|
|
33
66
|
createSpan<TSpanData extends SpanData>(spanOptions: CreateSpanOptions<TSpanData>, parent?: Span<any> | Trace): Span<TSpanData>;
|
|
34
67
|
shutdown(timeout?: number): Promise<void>;
|
package/dist/tracing/provider.js
CHANGED
|
@@ -12,14 +12,22 @@ const processor_1 = require("./processor.js");
|
|
|
12
12
|
const spans_1 = require("./spans.js");
|
|
13
13
|
const traces_1 = require("./traces.js");
|
|
14
14
|
const utils_1 = require("./utils.js");
|
|
15
|
+
function resolveTracingIdGenerator(idGenerator) {
|
|
16
|
+
return {
|
|
17
|
+
generateTraceId: idGenerator?.generateTraceId ?? utils_1.defaultTracingIdGenerator.generateTraceId,
|
|
18
|
+
generateSpanId: idGenerator?.generateSpanId ?? utils_1.defaultTracingIdGenerator.generateSpanId,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
15
21
|
class TraceProvider {
|
|
16
22
|
#multiProcessor;
|
|
17
23
|
#disabled;
|
|
18
24
|
#shutdownPromise;
|
|
19
|
-
|
|
25
|
+
#idGenerator;
|
|
26
|
+
constructor(options = {}) {
|
|
20
27
|
this.#multiProcessor = new processor_1.MultiTracingProcessor();
|
|
21
28
|
this.#disabled = config_1.tracing.disabled;
|
|
22
29
|
this.#shutdownPromise = null;
|
|
30
|
+
this.#idGenerator = resolveTracingIdGenerator(options.idGenerator);
|
|
23
31
|
this.#addCleanupListeners();
|
|
24
32
|
}
|
|
25
33
|
/**
|
|
@@ -54,15 +62,62 @@ class TraceProvider {
|
|
|
54
62
|
setDisabled(disabled) {
|
|
55
63
|
this.#disabled = disabled;
|
|
56
64
|
}
|
|
65
|
+
setIdGenerator(idGenerator) {
|
|
66
|
+
this.#idGenerator = resolveTracingIdGenerator(idGenerator);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate a new trace ID.
|
|
70
|
+
*
|
|
71
|
+
* Override this in custom providers to take precedence over configured ID generators.
|
|
72
|
+
*/
|
|
73
|
+
generateTraceId() {
|
|
74
|
+
return this.#idGenerator.generateTraceId();
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Generate a new span ID.
|
|
78
|
+
*
|
|
79
|
+
* Override this in custom providers to take precedence over configured ID generators.
|
|
80
|
+
*/
|
|
81
|
+
generateSpanId() {
|
|
82
|
+
return this.#idGenerator.generateSpanId();
|
|
83
|
+
}
|
|
57
84
|
startExportLoop() {
|
|
58
85
|
this.#multiProcessor.start();
|
|
59
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Dispatches a completed trace lifecycle to all registered processors.
|
|
89
|
+
*
|
|
90
|
+
* This is useful when an integration receives a trace that was started and
|
|
91
|
+
* ended outside this process and needs to fan out the lifecycle without
|
|
92
|
+
* mutating the trace state.
|
|
93
|
+
*/
|
|
94
|
+
async dispatchTrace(trace) {
|
|
95
|
+
if (this.#disabled) {
|
|
96
|
+
logger_1.default.debug('Tracing is disabled, Not dispatching trace %o', trace);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
await this.#multiProcessor.dispatchTrace(trace);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Dispatches a completed span lifecycle to all registered processors.
|
|
103
|
+
*
|
|
104
|
+
* This is useful when an integration receives a span that already has
|
|
105
|
+
* lifecycle timestamps and needs to fan out the lifecycle without mutating
|
|
106
|
+
* those timestamps.
|
|
107
|
+
*/
|
|
108
|
+
async dispatchSpan(span) {
|
|
109
|
+
if (this.#disabled) {
|
|
110
|
+
logger_1.default.debug('Tracing is disabled, Not dispatching span %o', span);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
await this.#multiProcessor.dispatchSpan(span);
|
|
114
|
+
}
|
|
60
115
|
createTrace(traceOptions) {
|
|
61
116
|
if (this.#disabled) {
|
|
62
117
|
logger_1.default.debug('Tracing is disabled, Not creating trace %o', traceOptions);
|
|
63
118
|
return new traces_1.NoopTrace();
|
|
64
119
|
}
|
|
65
|
-
const traceId = traceOptions.traceId ??
|
|
120
|
+
const traceId = traceOptions.traceId ?? this.generateTraceId();
|
|
66
121
|
const name = traceOptions.name ?? 'Agent workflow';
|
|
67
122
|
logger_1.default.debug('Creating trace %s with name %s', traceId, name);
|
|
68
123
|
return new traces_1.Trace({ ...traceOptions, name, traceId }, this.#multiProcessor);
|
|
@@ -131,9 +186,15 @@ class TraceProvider {
|
|
|
131
186
|
logger_1.default.error('No traceId found. Make sure to start a trace with `withTrace()` first. Returning NoopSpan.');
|
|
132
187
|
return new spans_1.NoopSpan(spanOptions.data, this.#multiProcessor);
|
|
133
188
|
}
|
|
134
|
-
|
|
189
|
+
const spanId = spanOptions.spanId ?? this.generateSpanId();
|
|
190
|
+
if (spanId === utils_1.NOOP_TRACE_OR_SPAN_ID) {
|
|
191
|
+
logger_1.default.debug('Span id is no-op, returning NoopSpan');
|
|
192
|
+
return new spans_1.NoopSpan(spanOptions.data, this.#multiProcessor);
|
|
193
|
+
}
|
|
194
|
+
logger_1.default.debug(`Creating span ${JSON.stringify(spanOptions.data)} with id ${spanId}`);
|
|
135
195
|
return new spans_1.Span({
|
|
136
196
|
...spanOptions,
|
|
197
|
+
spanId,
|
|
137
198
|
traceId,
|
|
138
199
|
parentId,
|
|
139
200
|
traceMetadata: traceMetadata ?? spanOptions.traceMetadata,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/tracing/provider.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/tracing/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,23 @@ import logger from "../logger.mjs";
|
|
|
4
4
|
import { MultiTracingProcessor } from "./processor.mjs";
|
|
5
5
|
import { NoopSpan, Span } from "./spans.mjs";
|
|
6
6
|
import { NoopTrace, Trace } from "./traces.mjs";
|
|
7
|
-
import {
|
|
7
|
+
import { defaultTracingIdGenerator, NOOP_TRACE_OR_SPAN_ID, } from "./utils.mjs";
|
|
8
|
+
function resolveTracingIdGenerator(idGenerator) {
|
|
9
|
+
return {
|
|
10
|
+
generateTraceId: idGenerator?.generateTraceId ?? defaultTracingIdGenerator.generateTraceId,
|
|
11
|
+
generateSpanId: idGenerator?.generateSpanId ?? defaultTracingIdGenerator.generateSpanId,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
8
14
|
export class TraceProvider {
|
|
9
15
|
#multiProcessor;
|
|
10
16
|
#disabled;
|
|
11
17
|
#shutdownPromise;
|
|
12
|
-
|
|
18
|
+
#idGenerator;
|
|
19
|
+
constructor(options = {}) {
|
|
13
20
|
this.#multiProcessor = new MultiTracingProcessor();
|
|
14
21
|
this.#disabled = tracing.disabled;
|
|
15
22
|
this.#shutdownPromise = null;
|
|
23
|
+
this.#idGenerator = resolveTracingIdGenerator(options.idGenerator);
|
|
16
24
|
this.#addCleanupListeners();
|
|
17
25
|
}
|
|
18
26
|
/**
|
|
@@ -47,15 +55,62 @@ export class TraceProvider {
|
|
|
47
55
|
setDisabled(disabled) {
|
|
48
56
|
this.#disabled = disabled;
|
|
49
57
|
}
|
|
58
|
+
setIdGenerator(idGenerator) {
|
|
59
|
+
this.#idGenerator = resolveTracingIdGenerator(idGenerator);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Generate a new trace ID.
|
|
63
|
+
*
|
|
64
|
+
* Override this in custom providers to take precedence over configured ID generators.
|
|
65
|
+
*/
|
|
66
|
+
generateTraceId() {
|
|
67
|
+
return this.#idGenerator.generateTraceId();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Generate a new span ID.
|
|
71
|
+
*
|
|
72
|
+
* Override this in custom providers to take precedence over configured ID generators.
|
|
73
|
+
*/
|
|
74
|
+
generateSpanId() {
|
|
75
|
+
return this.#idGenerator.generateSpanId();
|
|
76
|
+
}
|
|
50
77
|
startExportLoop() {
|
|
51
78
|
this.#multiProcessor.start();
|
|
52
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Dispatches a completed trace lifecycle to all registered processors.
|
|
82
|
+
*
|
|
83
|
+
* This is useful when an integration receives a trace that was started and
|
|
84
|
+
* ended outside this process and needs to fan out the lifecycle without
|
|
85
|
+
* mutating the trace state.
|
|
86
|
+
*/
|
|
87
|
+
async dispatchTrace(trace) {
|
|
88
|
+
if (this.#disabled) {
|
|
89
|
+
logger.debug('Tracing is disabled, Not dispatching trace %o', trace);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
await this.#multiProcessor.dispatchTrace(trace);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Dispatches a completed span lifecycle to all registered processors.
|
|
96
|
+
*
|
|
97
|
+
* This is useful when an integration receives a span that already has
|
|
98
|
+
* lifecycle timestamps and needs to fan out the lifecycle without mutating
|
|
99
|
+
* those timestamps.
|
|
100
|
+
*/
|
|
101
|
+
async dispatchSpan(span) {
|
|
102
|
+
if (this.#disabled) {
|
|
103
|
+
logger.debug('Tracing is disabled, Not dispatching span %o', span);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
await this.#multiProcessor.dispatchSpan(span);
|
|
107
|
+
}
|
|
53
108
|
createTrace(traceOptions) {
|
|
54
109
|
if (this.#disabled) {
|
|
55
110
|
logger.debug('Tracing is disabled, Not creating trace %o', traceOptions);
|
|
56
111
|
return new NoopTrace();
|
|
57
112
|
}
|
|
58
|
-
const traceId = traceOptions.traceId ?? generateTraceId();
|
|
113
|
+
const traceId = traceOptions.traceId ?? this.generateTraceId();
|
|
59
114
|
const name = traceOptions.name ?? 'Agent workflow';
|
|
60
115
|
logger.debug('Creating trace %s with name %s', traceId, name);
|
|
61
116
|
return new Trace({ ...traceOptions, name, traceId }, this.#multiProcessor);
|
|
@@ -124,9 +179,15 @@ export class TraceProvider {
|
|
|
124
179
|
logger.error('No traceId found. Make sure to start a trace with `withTrace()` first. Returning NoopSpan.');
|
|
125
180
|
return new NoopSpan(spanOptions.data, this.#multiProcessor);
|
|
126
181
|
}
|
|
127
|
-
|
|
182
|
+
const spanId = spanOptions.spanId ?? this.generateSpanId();
|
|
183
|
+
if (spanId === NOOP_TRACE_OR_SPAN_ID) {
|
|
184
|
+
logger.debug('Span id is no-op, returning NoopSpan');
|
|
185
|
+
return new NoopSpan(spanOptions.data, this.#multiProcessor);
|
|
186
|
+
}
|
|
187
|
+
logger.debug(`Creating span ${JSON.stringify(spanOptions.data)} with id ${spanId}`);
|
|
128
188
|
return new Span({
|
|
129
189
|
...spanOptions,
|
|
190
|
+
spanId,
|
|
130
191
|
traceId,
|
|
131
192
|
parentId,
|
|
132
193
|
traceMetadata: traceMetadata ?? spanOptions.traceMetadata,
|