Eve provider ignores parentTraceContext, so eve.turn is always a root span
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 85/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript
- Domaine
- observability
Piste de recherche
Commencez dans src/instrumentation/plugins/eve-instrumentation.ts, au niveau du handler turn-started, puis comparez sa gestion avec le champ parentTraceContext décrit pour l’événement turn.started d’Eve. C’est terminé lorsqu’un turn avec parentTraceContext et sans parentLineage est imbriqué sous les IDs de trace et de span fournis, tandis que le comportement existant de parentLineage et du root span reste inchangé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 29
- Forks
- 21
- Merge moyen
- 1 j 12 h
- PR mergées (30 j)
- 70
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de braintrustdata/braintrust-sdk-javascript
-
High TypeScript checking cost from generated Zod 3 schemasPeut-être pris @lforst l’a pris il y a 12 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 22/100
braintrustdata/braintrust-sdk-javascript#2624 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
[bot] Instrument Luma AI (17,324 weekly downloads)Peut-être pris @karthiksenv l’a pris il y a 12 jours. Ouvertetypescript
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
braintrustdata/braintrust-sdk-javascript#2578 ·
Les mainteneurs répondent en général sous 1 jour
-
[bot] Instrument Letta Agent SDK (87,205 weekly downloads)Peut-être pris @karthiksenv l’a pris il y a 15 jours. Ouvertetypescript
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
braintrustdata/braintrust-sdk-javascript#2577 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
braintrustdata/braintrust-sdk-javascript#2527 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 65/100
braintrustdata/braintrust-sdk-javascript#2526 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de braintrustdata/braintrust-sdk-javascript
Issues similaires
-
area: server priority: P3 type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
appandflow/stim#4538 ·
Les mainteneurs répondent en général sous 1 jour
-
[BUG] Published Docker images lack the redis extra: HEADROOM_COMPRESS_SESSION_STORE stops startupPeut-être pris @AlessandroSpallina l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
headroomlabs-ai/headroom#4513 ·
Les mainteneurs répondent en général sous 1 jour
-
bug extension extension: obsidian platform: Windows
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
raycast/extensions#32838 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
copy design-review mac P3
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
tosunlab/hisarapp-core#510 ·
-
bug priority-medium to-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour