Error Tracking & Exception Monitoring

Fix production errors before users report them

Real-time error detection, production debugging, and powerful triage tools help your team find and fix errors fast.

browser toolbar
Status
Message
NoMethodError: undefined method `trial?` for nil:NilClass (NoMethodError)
Backtrace
  • user.rb 175 trial?
    [PROJECT_ROOT]/app/models/user.rb:175:in `trial?'
    def trial?
        accounts.first.trial?
    end
URL
GET /users/sign_up
Users
jane@example.com (5 times)
Browser
US Flag Browser: Mobile Safari Operating System: iOS Device: mobile Mobile Safari 11.0
Show User Agent

Getting started is easy

Setup takes just a few minutes and comes with great defaults.

Installing Honeybadger in a Rails app is just a few terminal commands:

$ bundle add honeybadger
$ bundle exec honeybadger install [API KEY]

That’s it. See the developer docs for the latest instructions.

Error detection in real time, with less noise

Automatic deduping

Honeybadger groups similar errors into a single issue so you don't get flooded with duplicate notifications.

Real-time alerts

Get notified as soon as code breaks, in the tools your team already uses, including Slack and PagerDuty.

Notification controls

Pause alerts for noisy errors or ignore errors that don't need action, so your team can focus on the problems that matter.

Chris Patton
"Wow — Customers are blown away that I email them so quickly after an error."
— Chris Patton, Founder of Punchpass.com

Ask your agent what broke

Give your coding agent the error, backtrace, and deploy context to investigate the cause and draft a fix in your code.

❯ anything new since the last deploy?
⏵ honeybadger.list_faults (since deploy 4e1a9b2)
⏵ honeybadger.get_fault

One new error: Stripe::InvalidRequestError in SubscriptionsController#update, 38 occurrences. The deploy started sending the plan name to Stripe instead of the price ID.

⏵ edit app/services/billing.rb

Fixed. Want me to open a PR?

app/services/billing.rb
class Billing
def update_subscription(subscription, plan)
Stripe::Subscription.update(
subscription.stripe_id,
- items: [{ price: plan.name }],
+ items: [{ price: plan.stripe_price_id }],
proration_behavior: "create_prorations",
)
end
end

Go from error to fix in minutes

  • Error context. Inspect request data, environment details, and a backtrace linked to your source code.
  • Breadcrumbs. See the client-side and server-side events leading up to the failure.
  • Deploy tracking. Connect errors to releases, resolve them when you ship a fix, and get notified if they return.
Breadcrumbs

Understand your app's health

See how errors and performance change over time, so you know where to investigate next.

Checkout health Last 3 hours

Sample checkout incident data from 08:20 to 11:00 UTC. After deploy b7e204f at 09:50, the error rate rises from near zero to roughly 30%, and p99 duration climbs from about 400 milliseconds to 1.8 seconds. The responses chart shows 5xx failures replacing some successful 2xx responses while total traffic stays roughly steady. After fix deploy c41d7a8 at 10:30, errors return to near zero and p99 returns to around 400 milliseconds. The deployment list also shows the earlier revision 9a1f3c0 at 08:52.

Query your error history

Honeybadger Insights is included with error tracking at no extra cost. Query historical errors to find patterns, trends, and recurring issues.

Add performance context

Just Enough APM™ tracks response times, slow queries, and background jobs with dashboards you can extend and customize.

Stay informed

Hotspot reports, affected user reports, spike alerts, and weekly summary emails help you decide where to focus next.

Fix the errors that matter most

Find the errors that need attention, then automate the follow-up so your team can focus on the fix.

Search production errors for a specific account, excluding resolved and ignored issues

Search and organize

Find errors across projects with autocomplete. Filter by affected account, environment, or status, and use tags to organize your backlog.

Automate error triage

Apply bulk actions or save a search to handle new errors as they arrive. Send errors to GitHub as issues and assign them to your coding agent.

Molly Struve
"One of the primary reasons everyone is in love with Honeybadger is because they can actually search and find errors easily, the UI is spot on."
— Molly Struve, Sr. Site Reliability Engineer at Netflix

Work together to ship faster

Keep discussions, ownership, and issue tracking attached to each error, so everyone knows what happened and who's handling it. When a problem resurfaces, your team can pick up where they left off.

Team collaboration

Keep conversations, investigation notes, and past decisions with each error, so everyone has the context to help.

Assignment and ownership

Assign errors and @-mention teammates for input. Everyone can see who's handling what and join in when they're needed.

Tool integrations

Connect GitHub Issues, Jira, Linear, or Shortcut. Automatically create and update issues as errors are found and fixed.

Connect the tools your team uses

Send alerts to your team, create issues in your issue tracker, and connect errors to your source code with Honeybadger's integrations.

Support from the developers who build Honeybadger

Any Honeybadger customer will tell you that we have the best developer-led support in the industry. Go ahead and email us right now—you'll get a fast reply from our dev team, and we'll go above and beyond to answer your questions.
Ben Curtis

Ben Curtis

To: Jason Charnes

Subject: Re: Uploading logs

Happy to help! And thanks for letting me know it (mostly) worked. I guess I have some debugging to do on that environment variable. :)

One last thing... make sure you run this to get Vector to start after a reboot:

sudo systemctl enable vector.service

I put that in the gist after I sent the last email to you, so you may have done that already, but you may not have, and it doesn't hurt to do it twice. :)

Oh, and about the log prefix you mentioned... look in config/environments/production.rb for config.log_tags and comment that out. That's probably what's adding that stuff to your logs.

Jason Charnes

Jason Charnes

To: Honeybadger Support

Subject: Re: Uploading logs

That did the trick!!

This is so awesome. Again, thank you!

How ClickFunnels transformed their error tracking

ClickFunnels, a SaaS platform powering $10 billion+ in transactions, migrated 15 Rails and JavaScript projects to Honeybadger—cutting monitoring costs by 33% and giving their engineering team the confidence to deploy 15+ times per day.

"Honeybadger is built for engineers by engineers. That's their edge over Sentry or Datadog—they go straight to the end user, not C-suite sales. Error monitoring is a commodity, but their focus isn't."
— Nate Vick, VP of Platform Engineering, ClickFunnels
Simplify your life with Honeybadger

Get monitoring done.

Get real-time alerts when code breaks, monitor performance, and fix errors in record time.