@arizeai/openinference-instrumentation-beeai 1.5.22 → 1.5.24
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/esm/helpers/buildTraceTree.d.ts.map +1 -1
- package/dist/esm/helpers/buildTraceTree.js +10 -8
- package/dist/esm/helpers/buildTraceTree.js.map +1 -1
- package/dist/esm/helpers/getErrorSafe.d.ts.map +1 -1
- package/dist/esm/helpers/getErrorSafe.js +1 -0
- package/dist/esm/helpers/getErrorSafe.js.map +1 -1
- package/dist/esm/helpers/getSerializedObjectSafe.d.ts +46 -20
- package/dist/esm/helpers/getSerializedObjectSafe.d.ts.map +1 -1
- package/dist/esm/helpers/getSerializedObjectSafe.js +175 -154
- package/dist/esm/helpers/getSerializedObjectSafe.js.map +1 -1
- package/dist/esm/helpers/traceSerializer.js +1 -1
- package/dist/esm/helpers/traceSerializer.js.map +1 -1
- package/dist/esm/middleware.d.ts.map +1 -1
- package/dist/esm/middleware.js +68 -34
- package/dist/esm/middleware.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esnext/helpers/buildTraceTree.d.ts.map +1 -1
- package/dist/esnext/helpers/buildTraceTree.js +10 -9
- package/dist/esnext/helpers/buildTraceTree.js.map +1 -1
- package/dist/esnext/helpers/getErrorSafe.d.ts.map +1 -1
- package/dist/esnext/helpers/getErrorSafe.js +1 -0
- package/dist/esnext/helpers/getErrorSafe.js.map +1 -1
- package/dist/esnext/helpers/getSerializedObjectSafe.d.ts +46 -20
- package/dist/esnext/helpers/getSerializedObjectSafe.d.ts.map +1 -1
- package/dist/esnext/helpers/getSerializedObjectSafe.js +128 -109
- package/dist/esnext/helpers/getSerializedObjectSafe.js.map +1 -1
- package/dist/esnext/helpers/traceSerializer.js +1 -1
- package/dist/esnext/helpers/traceSerializer.js.map +1 -1
- package/dist/esnext/middleware.d.ts.map +1 -1
- package/dist/esnext/middleware.js +70 -35
- package/dist/esnext/middleware.js.map +1 -1
- package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -1
- package/dist/src/helpers/buildTraceTree.d.ts.map +1 -1
- package/dist/src/helpers/buildTraceTree.js +10 -9
- package/dist/src/helpers/buildTraceTree.js.map +1 -1
- package/dist/src/helpers/getErrorSafe.d.ts.map +1 -1
- package/dist/src/helpers/getErrorSafe.js +1 -0
- package/dist/src/helpers/getErrorSafe.js.map +1 -1
- package/dist/src/helpers/getSerializedObjectSafe.d.ts +46 -20
- package/dist/src/helpers/getSerializedObjectSafe.d.ts.map +1 -1
- package/dist/src/helpers/getSerializedObjectSafe.js +128 -109
- package/dist/src/helpers/getSerializedObjectSafe.js.map +1 -1
- package/dist/src/helpers/traceSerializer.js +1 -1
- package/dist/src/helpers/traceSerializer.js.map +1 -1
- package/dist/src/middleware.d.ts.map +1 -1
- package/dist/src/middleware.js +70 -35
- package/dist/src/middleware.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/helpers/buildTraceTree.ts +11 -12
- package/src/helpers/getErrorSafe.ts +1 -0
- package/src/helpers/getSerializedObjectSafe.ts +197 -163
- package/src/helpers/traceSerializer.ts +1 -1
- package/src/middleware.ts +95 -37
package/dist/esm/middleware.js
CHANGED
|
@@ -139,6 +139,63 @@ export function createTelemetryMiddleware(tracer, mainSpanKind) {
|
|
|
139
139
|
activeTracesMap.delete(traceId);
|
|
140
140
|
}
|
|
141
141
|
});
|
|
142
|
+
/**
|
|
143
|
+
* Creates the artificial "iteration" tree level for a top-level groupId the
|
|
144
|
+
* first time it is seen. Nested groups (like tokens) are skipped because
|
|
145
|
+
* they would introduce unuseful complexity.
|
|
146
|
+
*/
|
|
147
|
+
function createGroupSpanIfNeeded({ groupId, parentRunId, createdAt, }) {
|
|
148
|
+
if (!groupId || parentRunId || groupIterations.includes(groupId)) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
spansMap.set(groupId, createSpan({
|
|
152
|
+
id: groupId,
|
|
153
|
+
name: groupId,
|
|
154
|
+
target: "groupId",
|
|
155
|
+
data: {
|
|
156
|
+
[SemanticConventions.OPENINFERENCE_SPAN_KIND]: "Chain",
|
|
157
|
+
},
|
|
158
|
+
startedAt: convertDateToPerformance(createdAt),
|
|
159
|
+
}));
|
|
160
|
+
groupIterations.push(groupId);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Drops the previous `partialUpdate` span for this iteration once a newer one
|
|
164
|
+
* arrives, unless it has nested spans, in which case it is only marked for
|
|
165
|
+
* deletion.
|
|
166
|
+
*/
|
|
167
|
+
function dropSupersededPartialUpdateSpan({ eventName, lastIteration, }) {
|
|
168
|
+
if (lastIteration == null || partialUpdateEventName !== eventName) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(eventName);
|
|
172
|
+
if (!lastIterationEventSpanId || !spansMap.has(lastIterationEventSpanId)) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const { context: spanContext } = spansMap.get(lastIterationEventSpanId);
|
|
176
|
+
if (parentIdsMap.has(spanContext.span_id)) {
|
|
177
|
+
spansToDeleteMap.set(lastIterationEventSpanId, undefined);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
// delete span
|
|
181
|
+
cleanSpanSources({ spanId: lastIterationEventSpanId });
|
|
182
|
+
spansMap.delete(lastIterationEventSpanId);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Saves the last event span for each iteration.
|
|
186
|
+
*/
|
|
187
|
+
function recordIterationEventSpan({ eventName, lastIteration, spanId, }) {
|
|
188
|
+
if (lastIteration == null) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const iterationEvents = eventsIterationsMap.get(lastIteration);
|
|
192
|
+
if (iterationEvents) {
|
|
193
|
+
iterationEvents.set(eventName, spanId);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
eventsIterationsMap.set(lastIteration, new Map([[eventName, spanId]]));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
142
199
|
/**
|
|
143
200
|
* This block collects all "not run category" events with their data and prepares spans for the OpenTelemetry.
|
|
144
201
|
* The huge number of `newToken` events are skipped and only the last one for each parent event is saved because of `generated_token_count` information
|
|
@@ -164,18 +221,11 @@ export function createTelemetryMiddleware(tracer, mainSpanKind) {
|
|
|
164
221
|
* create groupId span level (id does not exist)
|
|
165
222
|
* I use only the top-level groups like iterations other nested groups like tokens would introduce unuseful complexity
|
|
166
223
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
data: {
|
|
173
|
-
[SemanticConventions.OPENINFERENCE_SPAN_KIND]: "Chain",
|
|
174
|
-
},
|
|
175
|
-
startedAt: convertDateToPerformance(meta.createdAt),
|
|
176
|
-
}));
|
|
177
|
-
groupIterations.push(meta.groupId);
|
|
178
|
-
}
|
|
224
|
+
createGroupSpanIfNeeded({
|
|
225
|
+
groupId: meta.groupId,
|
|
226
|
+
parentRunId: meta.trace.parentRunId,
|
|
227
|
+
createdAt: meta.createdAt,
|
|
228
|
+
});
|
|
179
229
|
const { spanId, parentSpanId } = idNameManager.getIds({
|
|
180
230
|
path: meta.path,
|
|
181
231
|
id: meta.id,
|
|
@@ -201,20 +251,7 @@ export function createTelemetryMiddleware(tracer, mainSpanKind) {
|
|
|
201
251
|
});
|
|
202
252
|
const lastIteration = groupIterations[groupIterations.length - 1];
|
|
203
253
|
// delete the `partialUpdate` event if does not have nested spans
|
|
204
|
-
|
|
205
|
-
if (lastIterationEventSpanId &&
|
|
206
|
-
partialUpdateEventName === meta.name &&
|
|
207
|
-
spansMap.has(lastIterationEventSpanId)) {
|
|
208
|
-
const { context } = spansMap.get(lastIterationEventSpanId);
|
|
209
|
-
if (parentIdsMap.has(context.span_id)) {
|
|
210
|
-
spansToDeleteMap.set(lastIterationEventSpanId, undefined);
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
// delete span
|
|
214
|
-
cleanSpanSources({ spanId: lastIterationEventSpanId });
|
|
215
|
-
spansMap.delete(lastIterationEventSpanId);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
254
|
+
dropSupersededPartialUpdateSpan({ eventName: meta.name, lastIteration });
|
|
218
255
|
// create new span
|
|
219
256
|
spansMap.set(span.context.span_id, span);
|
|
220
257
|
// update number of nested spans for parent_id if exists
|
|
@@ -222,14 +259,11 @@ export function createTelemetryMiddleware(tracer, mainSpanKind) {
|
|
|
222
259
|
parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);
|
|
223
260
|
}
|
|
224
261
|
// save the last event for each iteration
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
eventsIterationsMap.set(lastIteration, new Map().set(meta.name, span.context.span_id));
|
|
231
|
-
}
|
|
232
|
-
}
|
|
262
|
+
recordIterationEventSpan({
|
|
263
|
+
eventName: meta.name,
|
|
264
|
+
lastIteration,
|
|
265
|
+
spanId: span.context.span_id,
|
|
266
|
+
});
|
|
233
267
|
}
|
|
234
268
|
catch (e) {
|
|
235
269
|
diag.warn("Instrumentation error", e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
|