@uselemma/tracing 2.1.0 → 2.3.0
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/README.md +2 -2
- package/dist/run-batch-span-processor.d.ts +5 -0
- package/dist/run-batch-span-processor.d.ts.map +1 -1
- package/dist/run-batch-span-processor.js +35 -6
- package/dist/run-batch-span-processor.js.map +1 -1
- package/dist/trace-wrapper.d.ts +2 -2
- package/dist/trace-wrapper.d.ts.map +1 -1
- package/dist/trace-wrapper.js +1 -3
- package/dist/trace-wrapper.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ enableExperimentMode();
|
|
|
32
32
|
|
|
33
33
|
`wrapAgent` creates a root OpenTelemetry span named `ai.agent.run` and records:
|
|
34
34
|
- `ai.agent.name`
|
|
35
|
-
- `
|
|
35
|
+
- `lemma.run_id`
|
|
36
36
|
- `ai.agent.input`
|
|
37
37
|
- `lemma.is_experiment`
|
|
38
38
|
|
|
@@ -54,7 +54,7 @@ const { result, runId } = await wrappedFn();
|
|
|
54
54
|
|
|
55
55
|
## Export Behavior
|
|
56
56
|
|
|
57
|
-
- Spans are exported in run-specific batches keyed by `
|
|
57
|
+
- Spans are exported in run-specific batches keyed by `lemma.run_id`.
|
|
58
58
|
- A run batch is exported when its top-level `ai.agent.run` span ends.
|
|
59
59
|
- `forceFlush()` exports remaining runs in separate batches per run.
|
|
60
60
|
- Spans with `instrumentationScope.name === "next.js"` are excluded from export.
|
|
@@ -3,6 +3,9 @@ import { type ReadableSpan, type Span, type SpanExporter, type SpanProcessor } f
|
|
|
3
3
|
export declare class RunBatchSpanProcessor implements SpanProcessor {
|
|
4
4
|
private isShutdown;
|
|
5
5
|
private spanIdToRunId;
|
|
6
|
+
private topLevelSpanIdByRunId;
|
|
7
|
+
private directChildCountByRunId;
|
|
8
|
+
private directChildSpanIdToRunId;
|
|
6
9
|
private batches;
|
|
7
10
|
private endedRuns;
|
|
8
11
|
private readonly exporter;
|
|
@@ -14,7 +17,9 @@ export declare class RunBatchSpanProcessor implements SpanProcessor {
|
|
|
14
17
|
private isTopLevelRun;
|
|
15
18
|
private getRunIdFromSpan;
|
|
16
19
|
private getInstrumentationScopeName;
|
|
20
|
+
private shouldSkipExport;
|
|
17
21
|
private exportRunBatch;
|
|
22
|
+
private hasNoOpenDirectChildren;
|
|
18
23
|
private clearRunMapping;
|
|
19
24
|
}
|
|
20
25
|
//# sourceMappingURL=run-batch-span-processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-batch-span-processor.d.ts","sourceRoot":"","sources":["../src/run-batch-span-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAKvC,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAE5B,QAAQ,EAAE,YAAY;IAIlC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"run-batch-span-processor.d.ts","sourceRoot":"","sources":["../src/run-batch-span-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAKvC,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,uBAAuB,CAA4B;IAC3D,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAE5B,QAAQ,EAAE,YAAY;IAIlC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IA2BlD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAgCzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,gBAAgB;YAIV,cAAc;IAkB5B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,eAAe;CAcxB"}
|
|
@@ -5,6 +5,9 @@ const crypto_1 = require("crypto");
|
|
|
5
5
|
class RunBatchSpanProcessor {
|
|
6
6
|
isShutdown = false;
|
|
7
7
|
spanIdToRunId = new Map();
|
|
8
|
+
topLevelSpanIdByRunId = new Map();
|
|
9
|
+
directChildCountByRunId = new Map();
|
|
10
|
+
directChildSpanIdToRunId = new Map();
|
|
8
11
|
batches = new Map();
|
|
9
12
|
endedRuns = new Set();
|
|
10
13
|
exporter;
|
|
@@ -15,8 +18,10 @@ class RunBatchSpanProcessor {
|
|
|
15
18
|
const spanId = span.spanContext().spanId;
|
|
16
19
|
if (this.isTopLevelRun(span)) {
|
|
17
20
|
const runId = this.getRunIdFromSpan(span) ?? (0, crypto_1.randomUUID)();
|
|
18
|
-
span.setAttribute("
|
|
21
|
+
span.setAttribute("lemma.run_id", runId);
|
|
19
22
|
this.spanIdToRunId.set(spanId, runId);
|
|
23
|
+
this.topLevelSpanIdByRunId.set(runId, spanId);
|
|
24
|
+
this.directChildCountByRunId.set(runId, 0);
|
|
20
25
|
return;
|
|
21
26
|
}
|
|
22
27
|
const parentSpanId = span.parentSpanContext?.spanId;
|
|
@@ -25,8 +30,12 @@ class RunBatchSpanProcessor {
|
|
|
25
30
|
const runId = this.spanIdToRunId.get(parentSpanId);
|
|
26
31
|
if (!runId)
|
|
27
32
|
return;
|
|
33
|
+
if (this.topLevelSpanIdByRunId.get(runId) === parentSpanId) {
|
|
34
|
+
this.directChildSpanIdToRunId.set(spanId, runId);
|
|
35
|
+
this.directChildCountByRunId.set(runId, (this.directChildCountByRunId.get(runId) ?? 0) + 1);
|
|
36
|
+
}
|
|
28
37
|
this.spanIdToRunId.set(spanId, runId);
|
|
29
|
-
span.setAttribute("
|
|
38
|
+
span.setAttribute("lemma.run_id", runId);
|
|
30
39
|
}
|
|
31
40
|
onEnd(span) {
|
|
32
41
|
const spanId = span.spanContext().spanId;
|
|
@@ -37,7 +46,13 @@ class RunBatchSpanProcessor {
|
|
|
37
46
|
if (!runId)
|
|
38
47
|
return;
|
|
39
48
|
const isTopLevelRun = this.isTopLevelRun(span);
|
|
40
|
-
const shouldSkipExport = this.
|
|
49
|
+
const shouldSkipExport = this.shouldSkipExport(span);
|
|
50
|
+
const directChildRunId = this.directChildSpanIdToRunId.get(spanId);
|
|
51
|
+
if (directChildRunId) {
|
|
52
|
+
this.directChildSpanIdToRunId.delete(spanId);
|
|
53
|
+
const currentCount = this.directChildCountByRunId.get(directChildRunId) ?? 0;
|
|
54
|
+
this.directChildCountByRunId.set(directChildRunId, Math.max(0, currentCount - 1));
|
|
55
|
+
}
|
|
41
56
|
if (!shouldSkipExport) {
|
|
42
57
|
const batch = this.batches.get(runId);
|
|
43
58
|
if (batch)
|
|
@@ -47,8 +62,8 @@ class RunBatchSpanProcessor {
|
|
|
47
62
|
}
|
|
48
63
|
if (isTopLevelRun) {
|
|
49
64
|
this.endedRuns.add(runId);
|
|
50
|
-
void this.exportRunBatch(runId, false);
|
|
51
65
|
}
|
|
66
|
+
void this.exportRunBatch(runId, false);
|
|
52
67
|
}
|
|
53
68
|
async forceFlush() {
|
|
54
69
|
const runIds = [...this.batches.keys()];
|
|
@@ -70,15 +85,19 @@ class RunBatchSpanProcessor {
|
|
|
70
85
|
getRunIdFromSpan(span) {
|
|
71
86
|
const attributes = span
|
|
72
87
|
.attributes;
|
|
73
|
-
const runId = attributes?.["
|
|
88
|
+
const runId = attributes?.["lemma.run_id"];
|
|
74
89
|
return typeof runId === "string" && runId.length > 0 ? runId : undefined;
|
|
75
90
|
}
|
|
76
91
|
getInstrumentationScopeName(span) {
|
|
77
92
|
return span.instrumentationScope?.name;
|
|
78
93
|
}
|
|
94
|
+
shouldSkipExport(span) {
|
|
95
|
+
return this.getInstrumentationScopeName(span) === "next.js";
|
|
96
|
+
}
|
|
79
97
|
async exportRunBatch(runId, force) {
|
|
80
|
-
if (!force && !this.endedRuns.has(runId))
|
|
98
|
+
if (!force && (!this.endedRuns.has(runId) || !this.hasNoOpenDirectChildren(runId))) {
|
|
81
99
|
return;
|
|
100
|
+
}
|
|
82
101
|
const batch = this.batches.get(runId);
|
|
83
102
|
this.batches.delete(runId);
|
|
84
103
|
this.endedRuns.delete(runId);
|
|
@@ -89,12 +108,22 @@ class RunBatchSpanProcessor {
|
|
|
89
108
|
this.exporter.export(batch, () => resolve());
|
|
90
109
|
});
|
|
91
110
|
}
|
|
111
|
+
hasNoOpenDirectChildren(runId) {
|
|
112
|
+
return (this.directChildCountByRunId.get(runId) ?? 0) === 0;
|
|
113
|
+
}
|
|
92
114
|
clearRunMapping(runId) {
|
|
93
115
|
for (const [spanId, mappedRunId] of this.spanIdToRunId.entries()) {
|
|
94
116
|
if (mappedRunId === runId) {
|
|
95
117
|
this.spanIdToRunId.delete(spanId);
|
|
96
118
|
}
|
|
97
119
|
}
|
|
120
|
+
for (const [spanId, mappedRunId] of this.directChildSpanIdToRunId.entries()) {
|
|
121
|
+
if (mappedRunId === runId) {
|
|
122
|
+
this.directChildSpanIdToRunId.delete(spanId);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
this.topLevelSpanIdByRunId.delete(runId);
|
|
126
|
+
this.directChildCountByRunId.delete(runId);
|
|
98
127
|
}
|
|
99
128
|
}
|
|
100
129
|
exports.RunBatchSpanProcessor = RunBatchSpanProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-batch-span-processor.js","sourceRoot":"","sources":["../src/run-batch-span-processor.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAYpC,MAAa,qBAAqB;IACxB,UAAU,GAAG,KAAK,CAAC;IACnB,aAAa,GAAG,IAAI,GAAG,EAAiB,CAAC;IACzC,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3C,SAAS,GAAG,IAAI,GAAG,EAAS,CAAC;IACpB,QAAQ,CAAe;IAExC,YAAY,QAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,IAAU,EAAE,cAAuB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;QAEzC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAA,mBAAU,GAAE,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"run-batch-span-processor.js","sourceRoot":"","sources":["../src/run-batch-span-processor.ts"],"names":[],"mappings":"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"}
|
package/dist/trace-wrapper.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ export type TraceContext = {
|
|
|
4
4
|
span: Span;
|
|
5
5
|
/** Unique identifier for this agent run. */
|
|
6
6
|
runId: string;
|
|
7
|
-
/** Signal that the agent completed successfully. Records the result
|
|
7
|
+
/** Signal that the agent completed successfully. Records the result on the span. */
|
|
8
8
|
onComplete: (result: unknown) => void;
|
|
9
|
-
/** Signal that the agent encountered an error. Records the exception
|
|
9
|
+
/** Signal that the agent encountered an error. Records the exception on the span. */
|
|
10
10
|
onError: (error: unknown) => void;
|
|
11
11
|
/** Attach arbitrary generation results (e.g. model outputs) to the span. */
|
|
12
12
|
recordGenerationResults: (results: Record<string, string>) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-wrapper.d.ts","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAIxE,MAAM,MAAM,YAAY,GAAG;IACzB,wDAAwD;IACxD,IAAI,EAAE,IAAI,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"trace-wrapper.d.ts","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAIxE,MAAM,MAAM,YAAY,GAAG;IACzB,wDAAwD;IACxD,IAAI,EAAE,IAAI,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,qFAAqF;IACrF,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,4EAA4E;IAC5E,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACpE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,KAAK,GAAG,EAAE,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,UAC9H,GAAG,SAAS,KAAK;;;;GA6DhE"}
|
package/dist/trace-wrapper.js
CHANGED
|
@@ -50,7 +50,7 @@ function wrapAgent(agentName, fn, options) {
|
|
|
50
50
|
const span = tracer.startSpan("ai.agent.run", {
|
|
51
51
|
attributes: {
|
|
52
52
|
"ai.agent.name": agentName,
|
|
53
|
-
"
|
|
53
|
+
"lemma.run_id": runId,
|
|
54
54
|
"ai.agent.input": JSON.stringify(input),
|
|
55
55
|
"lemma.is_experiment": (0, experiment_mode_1.isExperimentModeEnabled)() || options?.isExperiment === true,
|
|
56
56
|
},
|
|
@@ -63,13 +63,11 @@ function wrapAgent(agentName, fn, options) {
|
|
|
63
63
|
// to manually signal completion, errors, or record generation results
|
|
64
64
|
const onComplete = (result) => {
|
|
65
65
|
span.setAttribute("ai.agent.output", JSON.stringify(result));
|
|
66
|
-
span.end();
|
|
67
66
|
};
|
|
68
67
|
const onError = (error) => {
|
|
69
68
|
// Normalise non-Error values so OTel always receives an Error instance
|
|
70
69
|
span.recordException(error instanceof Error ? error : new Error(String(error)));
|
|
71
70
|
span.setStatus({ code: 2 }); // SpanStatusCode.ERROR
|
|
72
|
-
span.end();
|
|
73
71
|
};
|
|
74
72
|
const recordGenerationResults = (results) => {
|
|
75
73
|
span.setAttribute("ai.agent.generation_results", JSON.stringify(results));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-wrapper.js","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":";;AAsDA,
|
|
1
|
+
{"version":3,"file":"trace-wrapper.js","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":";;AAsDA,8BA8DC;AApHD,4CAAwE;AACxE,+BAAoC;AACpC,uDAA4D;AAe5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAgB,SAAS,CAAkB,SAAiB,EAAE,EAAqD,EAAE,OAAyD;IAC5K,MAAM,eAAe,GAAG,KAAK,WAAsB,KAAY;QAC7D,wDAAwD;QACxD,MAAM,MAAM,GAAG,WAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExC,yEAAyE;QACzE,MAAM,KAAK,GAAG,IAAA,SAAM,GAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE;YAC5C,UAAU,EAAE;gBACV,eAAe,EAAE,SAAS;gBAC1B,cAAc,EAAE,KAAK;gBACrB,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACvC,qBAAqB,EAAE,IAAA,yCAAuB,GAAE,IAAI,OAAO,EAAE,YAAY,KAAK,IAAI;aACnF;SACF,EAAE,kBAAY,CAAC,CAAC;QAEjB,+EAA+E;QAC/E,MAAM,GAAG,GAAG,WAAK,CAAC,OAAO,CAAC,kBAAY,EAAE,IAAI,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,OAAO,MAAM,aAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;gBACxC,mEAAmE;gBACnE,sEAAsE;gBAEtE,MAAM,UAAU,GAAG,CAAC,MAAe,EAAE,EAAE;oBACrC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC;gBAEF,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE;oBACjC,uEAAuE;oBACvE,IAAI,CAAC,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChF,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB;gBACtD,CAAC,CAAC;gBAEF,MAAM,uBAAuB,GAAG,CAAC,OAA+B,EAAE,EAAE;oBAClE,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5E,CAAC,CAAC;gBAEF,+EAA+E;gBAC/E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,KAAK,CAAC,CAAC;gBAEzG,qEAAqE;gBACrE,IAAI,OAAO,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;oBACjC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC;gBAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,0DAA0D;YAC1D,IAAI,CAAC,eAAe,CAAC,GAAY,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB;YAEpD,IAAI,OAAO,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;YAED,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC"}
|