-
Notifications
You must be signed in to change notification settings - Fork 2.8k
fix: we were missing content from langfuse traces #7135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Fixes missing Langfuse trace content by propagating user/assistant text into Langfuse trace-level input/output and improving Langfuse base URL env var compatibility.
Changes:
- Add trace-level update support in
ObservationLayerand filtertrace_input/trace_outputout of span updates. - Record tool-call input and trace input/output from the agent via
tracingfields/events. - Expand Langfuse base URL env var lookup to include
LANGFUSE_BASE_URLandLANGFUSE_HOST.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| crates/goose/src/tracing/observation_layer.rs | Adds trace update path for input/output and tests covering trace-only and mixed metadata behavior. |
| crates/goose/src/tracing/langfuse_layer.rs | Accepts additional env vars for Langfuse base URL configuration. |
| crates/goose/src/agents/agent.rs | Instruments tool dispatch and reply flow to emit trace input/output content. |
| "tool": tool_call.name, | ||
| "arguments": tool_call.arguments, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
json!({"tool": tool_call.name, "arguments": tool_call.arguments}) moves fields out of tool_call, so subsequent uses of tool_call.name / tool_call.arguments in this function will not compile; serialize references (e.g., &tool_call.name / &tool_call.arguments) or clone the fields before building input_summary.
| "tool": tool_call.name, | |
| "arguments": tool_call.arguments, | |
| "tool": &tool_call.name, | |
| "arguments": &tool_call.arguments, |
| for (k, v) in updates { | ||
| body[k] = v; |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
body[k] = v is indexing a serde_json::Value with a String, which doesn’t type-check; use body[&k] = v or mutate the underlying object via as_object_mut() and insert.
| for (k, v) in updates { | |
| body[k] = v; | |
| if let Some(map) = body.as_object_mut() { | |
| for (k, v) in updates { | |
| map.insert(k, v); | |
| } |
codefromthecrypt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, shortly I'll do another pass on otel cleanups since have a conference soon to show off goose at!
* origin/main: (107 commits) feat: Allow overriding default bat themes using environment variables (#7140) Make the system prompt smaller (#6991) Pre release script (#7145) Spelling (#7137) feat(mcp): upgrade rmcp to 0.15.0 and advertise MCP Apps UI extension capability (#6927) fix: ensure assistant messages with tool_calls include content field (#7076) fix(canonical): handle gcp_vertex_ai model mapping correctly (#6836) Group dependencies in root Cargo.toml (#6948) refactor: updated elevenLabs API module and `remove button` UX (#6781) fix: we were missing content from langfuse traces (#7135) docs: update username in authors.yml (#7132) fix extension selector syncing issues (#7133) fix(acp): per-session Agent for model isolation and load_session restore (#7115) fix(claude-code): defensive coding improvements for model switching (#7131) feat(claude-code): dynamic model listing and mid-session model switching (#7120) Inline worklet source (#7128) [docs] One shot prompting is dead - Blog Post (#7113) fix: correct spelling of Debbie O'Brien's name in authors.yml (#7127) docs: GCP Vertex AI org policy filtering & update OnboardingProviderSetup component (#7125) feat: replace subagent and skills with unified summon extension (#6964) ... # Conflicts: # Cargo.lock # Cargo.toml
* upstream/main: (109 commits) [docs] Skills Marketplace UI Improvements (block#7158) More no-window flags (block#7122) feat: Allow overriding default bat themes using environment variables (block#7140) Make the system prompt smaller (block#6991) Pre release script (block#7145) Spelling (block#7137) feat(mcp): upgrade rmcp to 0.15.0 and advertise MCP Apps UI extension capability (block#6927) fix: ensure assistant messages with tool_calls include content field (block#7076) fix(canonical): handle gcp_vertex_ai model mapping correctly (block#6836) Group dependencies in root Cargo.toml (block#6948) refactor: updated elevenLabs API module and `remove button` UX (block#6781) fix: we were missing content from langfuse traces (block#7135) docs: update username in authors.yml (block#7132) fix extension selector syncing issues (block#7133) fix(acp): per-session Agent for model isolation and load_session restore (block#7115) fix(claude-code): defensive coding improvements for model switching (block#7131) feat(claude-code): dynamic model listing and mid-session model switching (block#7120) Inline worklet source (block#7128) [docs] One shot prompting is dead - Blog Post (block#7113) fix: correct spelling of Debbie O'Brien's name in authors.yml (block#7127) ...
fixes ##7121
seems to bring the content back, if we still want langfuse that is cc @blackgirlbytes @DOsinga