How Trace URLs Work
Every trace in ABV has a unique, permanent URL that points directly to the trace in the dashboard. Trace URLs provide instant access to the complete interaction timeline, including:- Full prompt and response content
- Token usage and cost breakdowns
- Latency metrics (first token, total duration)
- Tool calls and function executions
- Error messages and stack traces
- Session context and user metadata
Understand Trace URL Structure
app.abv.dev: ABV Dashboard (US region)eu.app.abv.dev: EU region alternative<trace-id>: Unique identifier for the trace (32-character hex string)
- Permanent: URLs never expire or change
- Unique: Each trace has exactly one URL
- Private by default: Only team members with access to the project can view
- Shareable: Can be made public for external sharing (clients, community)
Get Trace URLs Programmatically
Add Trace URLs to Logs and Monitoring
- Click trace URLs in logs to jump directly to ABV dashboard
- Correlate application logs with LLM traces instantly
- No manual searching for traces by timestamp or metadata
Share Traces with Teammates (Private)
- Get the trace URL (via SDK or dashboard)
- Share the URL via Slack, email, GitHub issue, Jira ticket, etc.
- Teammates click the URL and see the full trace (if they have project access)
- Trace URLs respect ABV’s role-based access controls (RBAC)
- Users must be logged into ABV and have project permissions
- URLs work across sessions and devices (permanent links)
Make Traces Public (Optional)
- Open the trace in the ABV Dashboard
- Toggle “Private” to “Public”
- Share the same trace URL publicly
Why Use Trace URLs?
Bug Reports: Attach Evidence to Issues
Bug Reports: Attach Evidence to Issues
- Developer: “Can you describe the bug?”
- Reporter: “The LLM said Paris is in Germany”
- Developer: “What was the input? What model? What timestamp?”
- Reporter: “Uh, I don’t remember… it was yesterday around 3pm”
- Developer spends hours searching logs and trying to reproduce
- Reporter files GitHub issue: “LLM gave incorrect geography answer: [trace URL]”
- Developer clicks URL, sees:
- Input: “What country is Paris in?”
- Output: “Paris is in Germany”
- Model: gpt-3.5-turbo
- Timestamp: 2025-01-15 15:23:45
- Prompt version: v2.3 (identifies the regression)
- Developer reproduces immediately and fixes the prompt
- Include trace URLs in GitHub issues, Jira tickets, Linear tasks
- Add trace URLs to error logs and exception handlers
- Make traces public if sharing with external contributors or clients
Customer Support: Instant Context for Engineering
Customer Support: Instant Context for Engineering
- User: “The chatbot gave me wrong refund info”
- Support: “Can you send a screenshot?”
- User: “Here’s the screenshot” (blurry image)
- Support: “What was your account ID?”
- User: “[email protected]”
- Support: “What time did this happen?”
- User: “Around 2pm yesterday”
- Support forwards vague details to engineering
- Engineering searches logs for 30 minutes to find the interaction
- User: “The chatbot gave me wrong refund info”
- Support searches traces by user email in ABV
- Support finds the trace, clicks “Share URL”
- Support sends trace URL to engineering: “This trace shows the issue”
- Engineering clicks URL, sees full interaction in 5 seconds
- Engineering identifies prompt used outdated policy docs (RAG issue)
- Fix deployed within hours instead of days
- Time to resolution: Days → hours
- Context loss: Eliminated
- Customer satisfaction: Improved (faster fixes)
Collaboration: Share Exact Context with Teammates
Collaboration: Share Exact Context with Teammates
Code Reviews: Reference Specific Traces in PRs
Code Reviews: Reference Specific Traces in PRs
- Reviewers see concrete data instead of claims
- Evidence-based code reviews
- Easier to spot regressions or unintended side effects
Jupyter Notebooks: Interactive Trace Exploration
Jupyter Notebooks: Interactive Trace Exploration
- Click traces directly from notebook cells
- Compare experiment results side-by-side in ABV Dashboard
- Reproducible experiments (trace URLs never expire)
Logs and Monitoring: Correlate Events Across Systems
Logs and Monitoring: Correlate Events Across Systems
- Search logs by request ID
- Click the
abv_trace_urlfield to open the trace in ABV - See full LLM interaction (prompt, response, costs) alongside application logs
- Single pane of glass: Logs + LLM traces in one workflow
- Faster root cause analysis (correlate errors with LLM behavior)
- No manual searching across systems
Implementation Patterns
Python: Get Trace URL in Decorator Pattern
Python: Get Trace URL in Decorator Pattern
@observe() decorator and retrieve trace URLs with abv.get_trace_url().Basic usage:Python: Get Trace URL in Context Managers
Python: Get Trace URL in Context Managers
abv.start_as_current_span() and retrieve trace URLs within the context.Example:JavaScript/TypeScript: Get Trace URL
JavaScript/TypeScript: Get Trace URL
@abvdev/client package to retrieve trace URLs from trace IDs.Setup:Make Traces Public via SDK
Make Traces Public via SDK
- PII (emails, phone numbers, addresses)
- API keys, passwords, or tokens
- Proprietary prompts or system instructions
Construct Trace URLs Manually
Construct Trace URLs Manually