Eve provider ignores parentTraceContext, so eve.turn is always a root span
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 85/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
- Bereich
- observability
Rechercherichtung
Beginne in src/instrumentation/plugins/eve-instrumentation.ts beim turn-started-Handler und vergleiche anschließend dessen Verarbeitung mit dem parentTraceContext-Feld, das für Eves turn.started-Ereignis beschrieben ist. Als erledigt gilt die Änderung, wenn ein Turn mit parentTraceContext und ohne parentLineage unter den angegebenen Trace- und Span-IDs verschachtelt wird, während das bestehende Verhalten von parentLineage und Root-Span unverändert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
braintrustEveInstrumentation() always starts eve.turn as a root span, so Eve sessions created inside a traced request show up as separate traces instead of nesting under the caller's span.
Eve already propagates the caller's context. When a session request carries a W3C traceparent, Eve (0.56) sets parentTraceContext on the provider's turn.started event (dist/src/instrumentation/native-events.js). The SDK declares the field on EveProviderTurnStartedEvent (3.35.0, index.d.ts), but the provider bridge's turn-started handler in src/instrumentation/plugins/eve-instrumentation.ts never reads it. When parentLineage is absent, it always uses:
parentSpanIds: { parentSpanIds: [], rootSpanId } // rootSpanId = this turn's own spanId
startSpan also runs under withCurrent(NOOP_SPAN, ...), so async context can't supply a parent either.
Expected
If turn.started has parentTraceContext and no parentLineage, parent the turn to it:
parentSpanIds: { rootSpanId: parentTraceContext.traceId, spanId: parentTraceContext.spanId }
This assumes the caller's span IDs are W3C-compatible (OTel ID mode), so injectTraceContext() on the caller and Eve's traceparent handling line up. If parentTraceContext.traceFlags marks the context as unsampled, Eve already drops the session, so nothing else is needed.
Repro
- Inside
traced(...)in a Next.js route, create an Eve session througheve/clientand send atraceparentheader frominjectTraceContext(). - Eve 0.56 server with
braintrustEveInstrumentation({ metadata })exported fromagent/instrumentation. - In Braintrust logs,
eve.turnis the root of its own trace. You can only find it from the caller's trace by searching foreve.session_id.
Versions
- braintrust 3.33.0 and 3.35.0
- eve 0.56.0
Why it matters
Online scoring rules on the caller's span can't see Eve's tool calls, such as data an agent loads from its sandbox. Following one request currently means jumping between traces by eve.session_id.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 29
- Forks
- 16
- Ø Merge
- 1 T. 15 Std.
- Gemergte PRs (30 T.)
- 69
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus braintrustdata/braintrust-sdk-javascript
-
High TypeScript checking cost from generated Zod 3 schemasEvtl. vergeben @lforst hat das vor 2 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 22/100
braintrustdata/braintrust-sdk-javascript#2624 · 1 Kommentar · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
[bot] Instrument Luma AI (17,324 weekly downloads)Evtl. vergeben @karthiksenv hat das vor 1 Tag übernommen. Offentypescript
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
braintrustdata/braintrust-sdk-javascript#2578 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[bot] Instrument Letta Agent SDK (87,205 weekly downloads)Evtl. vergeben @karthiksenv hat das vor 5 Tagen übernommen. Offentypescript
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
braintrustdata/braintrust-sdk-javascript#2577 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
braintrustdata/braintrust-sdk-javascript#2527 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 65/100
braintrustdata/braintrust-sdk-javascript#2526 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in braintrustdata/braintrust-sdk-javascript
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
umami-software/umami#4637 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Hotkeys fire when pressed with the Ctrl key, so browser shortcuts also trigger player actionsEvtl. vergeben @RaphaelFakhri hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
muxinc/media-chrome#1332 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
polarsource/polar#15580 ·
Maintainer antworten meist innerhalb von 1 Tag
-
accepted bug via-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 69/100
pingdotgg/t3code#20931 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug/1-unconfirmed kind/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag