Faultline is an embedded error tracking engine designed for Rails applications, offering seamless error capture and notification without relying on external services. With features like smart grouping, local variables capture, and a standalone dashboard, it empowers developers to efficiently manage errors and maintain application stability.
Faultline is a self-hosted error tracking engine designed specifically for Rails 8+ applications. It enables comprehensive error management without reliance on external services or ongoing SaaS fees. With Faultline, developers can effectively track errors, receive notifications, and resolve issues through a streamlined dashboard.
Key Features
- Automatic Error Capture: Integrated with Rack middleware and Rails error reporting APIs to automatically capture errors.
- Smart Grouping: Errors are intelligently grouped by a unique fingerprint comprising class, message, and location.
- Debugger Inspector: View source code alongside local variables, facilitating easier debugging.
- Local Variables Capture: Automatically captures variable values at the point of error generation.
- Full-Text Search: Search functionality allows filtering errors by exception class, message, or file path.
- Status Management: Easily mark errors as resolved, unresolved, or ignored.
- Auto-Reopen: Automatically reopen resolved errors when they occur again.
- GitHub Integration: Generate GitHub issues directly from error reports, including comprehensive context.
- Rate Limiting: Configure cooldowns to prevent notification floods during error occurrences.
- Pluggable Notifiers: Supports various notification systems such as Telegram, Slack, and webhooks, with options to create custom notifiers.
- Standalone Dashboard: Tailwind UI for an intuitive dashboard featuring interactive charts and time-range zooming.
- Configurable Authentication: Offers seamless integration with Devise, Warden, or custom authentication methods.
- Request Context: Captures extensive context data such as URL, parameters, headers, user information, and custom data for each error occurrence.
Usage
Explore the error dashboard at /faultline to monitor application errors effectively. In case of unexpected errors, capture and track them manually using:
begin
risky_operation
rescue => e
Faultline.track(e, {
request: request,
user: current_user,
custom_data: { order_id: @order.id }
})
raise
end
Faultline facilitates easier debugging by capturing local variables at the error's point of occurrence, thus eliminating the need for reproduction. Additionally, the following configuration options allow for tailored handling of notifications and error tracking:
- Error Filtering: Customize which exceptions and user agents are ignored.
- Custom Context: Add unique contextual data with every error occurrence for enhanced monitoring.
Ideal Use Cases
Faultline is particularly beneficial for teams that desire complete control over their error data and prioritize privacy or compliance (GDPR, HIPAA). It is tailored for Rails-only applications that seek simplicity over complexity, allowing developers to avoid vendor lock-in and recurring SaaS expenses.
Explore Faultline to enhance error tracking and create a more reliable and manageable Rails application.
No comments yet.
Sign in to be the first to comment.