close
NEW v0.5.0 — now database-agnostic (PostgreSQL · MySQL · SQLite) with full test coverage

Catch bugs
before your users do

Self-hosted error tracking for Rails.
One gem. Zero SaaS. Full control.

# Add to your Gemfile:
gem "findbug", "~> 0.5.0"

# Install and you're done!
$ rails generate findbug:install
$ rails db:migrate

# Access the dashboard
http://localhost:3010/findbug

# Default credentials:
# Username: admin
# Password: findbug

Everything you need to track errors

Production-ready error tracking and performance monitoring without the complexity or cost.

Error Tracking

Capture exceptions with full stack traces, request data, and custom context. Automatic grouping of similar errors.

1class OrdersController < ApplicationController
2  def create
3    @order = Order.new(order_params)
4    raise PaymentError, "Card declined" # FindBug captures this
5  end
6end

Zero Impact

Async writes via Redis buffer. Never blocks your requests.

~1ms
Capture time
0%
Request blocking

Self-Hosted

Your data stays on your infrastructure. Database-agnostic — works with PostgreSQL, MySQL, or SQLite.

🌐
Your App
🗄️
Your DB

Performance Monitoring

Track request timing, SQL queries, and automatic N+1 detection. Know exactly what's slowing your app down.

Database
156ms
View
48ms
Ruby
24ms
Other
12ms

Built-in Dashboard

Beautiful web UI for viewing errors and performance metrics.

PaymentError: Card declined 142
TimeoutError: Request timed out 38
ValidationError: Email invalid 12

Multi-channel Alerts

Get notified via Email, Slack, Discord, or custom webhooks.

Why choose FindBug?

Self-hosted means you own everything. Here's what that unlocks.

Zero Cost

No per-seat pricing, no usage limits, no surprise bills.

Monthly cost
$26+/seat Free forever
Team size limits
Pay per user Unlimited
Event quotas
Tier limits No limits

Full Data Ownership

Your error data never leaves your infrastructure.

Data location
Third-party Your servers
GDPR/HIPAA
Requires DPA Built-in
Data retention
Plan limits You decide

Dead Simple Setup

One gem, one command. No SDK configuration hell.

Installation
SDK + API keys One gem
Configuration
DSN, tokens Zero config
Background jobs
Sidekiq required Built-in

Always Available

No external dependencies. Works even when the internet doesn't.

Network dependency
Required None
Service outages
Data loss risk Impossible
Capture latency
Network RTT ~1ms local
$0
Monthly cost
~1ms
Capture time
100%
Data ownership
2 min
Setup time
79
Passing specs

Built for performance

FindBug is designed to never slow down your application.

Your Rails App
Requests flow through normally
Exception Middleware
Performance Instrumentation
Redis Buffer
Async queue for events
~1ms write
Non-blocking
Circuit breaker
Background Thread
Flushes every 30 seconds
No Sidekiq needed
Your Database
PostgreSQL · MySQL · SQLite
Dashboard
/findbug
~1ms
Capture time
Zero
Request blocking
30s
Flush interval
Built-in
Circuit breaker

See it in action

A preview of what your FindBug dashboard looks like with real error data.

localhost:3010/findbug

Dashboard

Monitor errors and performance across your application.

Unresolved Errors
12
Total: 247
Errors (24h)
38
Last 7d: 156
Avg Response Time
142ms
1,847 requests (24h)
N+1 Issues (24h)
3
Performance issues detected

Recent Errors

Unresolved errors from your application

Error Count Last Seen
Stripe::CardError
Your card was declined
142 2 minutes ago
ActiveRecord::RecordInvalid
Validation failed: Email taken
89 5 minutes ago
Net::ReadTimeout
Request to api.example.com...
8 12 minutes ago

Slowest Endpoints

Performance data from the last 24 hours

Endpoint Avg Max
OrdersController#create 847ms 1,245ms
ReportsController#index 623ms 982ms
UsersController#show 156ms 298ms

Errors

Track and manage application errors.

Showing 5 of 12 errors

Error Status Count Last Seen Actions
Stripe::CardError
Your card was declined
error production
unresolved 142 2 minutes ago
ActiveRecord::RecordInvalid
Validation failed: Email has already been taken
error production
unresolved 89 5 minutes ago
Net::ReadTimeout
Request to api.example.com timed out
warning production
unresolved 23 12 minutes ago
NoMethodError
undefined method 'name' for nil
error staging
unresolved 8 34 minutes ago
ActionController::ParameterMissing
param is missing or the value is empty: user
error production
unresolved 3 1 hour ago

Performance

Total Requests
1,847
Avg Duration
142ms
Max Duration
1,245ms
N+1 Rate
12%

Slowest Endpoints

Endpoint Avg Max Count
OrdersController#create 847ms 1,245ms 312
ReportsController#index 623ms 982ms 156
UsersController#show 156ms 298ms 847
Api::V1::ProductsController#index 89ms 201ms 1,203

N+1 Hotspots

Endpoint N+1 Count Avg Queries
OrdersController#create 47 18
ReportsController#index 23 12
UsersController#show 5 4

Throughput Over Time

Requests per interval

00:00 23:00

Alerts

Manage alert channels and send test notifications.

Total Channels
3
2 enabled
Throttle Period
300s
5 minutes between alerts per error
Alert Status
Active
Alerts will be sent when errors occur
Channel Config Status Actions
Production Slack Slack https://hooks.slack.com/service********
Dev Team Email Email [email protected], [email protected]
Discord Staging Discord https://discord.com/api/web********

Own Your
Error Data

Open source, self-hosted, and forever free. Your errors, your infrastructure, your rules.

Get Started
FindBug Dashboard
12
Errors
847
Requests
42ms
Avg Time