-
Notifications
You must be signed in to change notification settings - Fork 11
Closed
Labels
Description
Improve exception and stack trace display in the log viewer with syntax highlighting, clickable frames, and error grouping to make debugging faster and more intuitive.
Problem:
Currently, exceptions and stack traces are displayed as plain text within log messages. This makes it difficult to:
- Parse stack traces visually (no syntax highlighting)
- Identify the exact file and line causing the error
- Group similar errors together
- Navigate to specific stack frames
Acceptance Criteria:
Stack Trace Parsing:
- Auto-detect stack traces in log messages (Node.js, Python, Java, Go, PHP formats)
- Parse stack trace into structured frames (file, line, function, column)
- Extract exception type, message, and cause chain
Enhanced Visualization:
- Syntax-highlighted stack traces (different colors for file paths, line numbers, functions)
- Exception type badge (e.g.,
TypeError,NullPointerException,ValueError) - Collapsible stack trace frames (show top 3-5 frames by default)
- Clickable file paths (if GitHub/GitLab repo linked, open in browser)
- Inline code preview (show relevant code lines if available)
Error Grouping:
- Group similar exceptions by stack trace fingerprint (ignore variable values)
- Show error frequency: "This error occurred 47 times in the last hour"
- Link to first occurrence and most recent occurrence
- Chart: error frequency over time
Exception Detail Modal:
- Click "View Exception Details" button on error logs
- Modal shows: exception type, message, full stack trace, metadata
- Tabs: Stack Trace | Cause Chain | Related Logs | Context
- Copy buttons: copy full stack trace, copy specific frame
Stack Trace Parsing Libraries:
- JavaScript:
error-stack-parser,stacktrace-js - Python: Built-in
tracebackmodule (backend parsing) - Java: Regex-based parsing (backend)
- Multi-language:
stacktrace-parser(supports multiple formats)
Configuration:
- Environment variable:
ENABLE_ERROR_GROUPING(default: true) - Admin UI: enable/disable error grouping per project
- Configurable grouping window (1 hour, 24 hours, 7 days)
Performance Considerations:
- Parse stack traces in background worker (don't block ingestion)
- Cache parsed stack traces (Redis with 1-hour TTL)
- Limit error group storage (auto-archive old groups after 30 days)
Optional Enhancements:
- AI-powered error suggestions: "This error is commonly caused by..."
- Link to StackOverflow search for exception type
- Sentry-style error trends chart (increasing, decreasing, stable)
- Slack notification: "New error type detected: TypeError in user.ts:45