The Honeybadger Changelog

Here's what's cooking at Honeybadger.

Performance monitoring for Laravel

Introducing Laravel performance monitoring in Honeybadger!

Laravel/Statamic Performance dashboard in Honeybadger, showing various charts and metrics over a 7-day period. Charts include request counts, response distributions, job durations, response codes, and tables for slowest controllers and requests.

We've added two new features just for Laravel developers:

  1. A new Laravel performance dashboard. Instead of creating a dashboard from scratch, select “ Laravel” from our list of curated monitoring dashboards. The new dashboard allows you to monitor requests and background jobs, slow requests and queries, and more.
  2. Laravel performance instrumentation. Our composer package now automatically sends performance events and metrics from Laravel. The new instrumentation is what powers your dashboard, but you can also use BadgerQL to dig into the data yourself.

To use these features, you'll need to upgrade to version 4.2.x of the honeybadger-laravel composer package and enable a config option in config/honeybadger.php:

  'events' => [
      'enabled' => true
  ]

You can also customize the default dashboard and send your application logs to Honeybadger — read the full blog post to learn more.

Send Elixir events to Honeybadger Insights

You can now send events to Honeybadger Insights from our Elixir client library. Use the Honeybadger.event/1 function to send event data to the events API. A ts field with the current timestamp will be added to the data if it isn't provided:

Honeybadger.event(%{
  event_type: "user_created",
  user: user.id
})

You can also use Honeybadger.event/2, which accepts a string as the first parameter and adds that value to the event_type field in the map before being sent to the API:

Honeybadger.event("user_created", %{
  user: user.id
})

You can find these events with the following BadgerQL query:

fields @ts, @preview
| filter event_type::str == "user_created"
| sort @ts

This is just the first step towards supporting logging and performance monitoring in Elixir!

Follow redirects in uptime checks

Honeybadger's uptime monitoring feature checks your website and API endpoints from different locations around the world, giving you confidence that everyone can access your services.

The most common type of uptime check is a "success" check, which verifies that your server responds with a 20x status code. Sometimes, your server might respond with a redirect (3xx status code) before rendering the final page—such as when a user is redirected to a sign-in page.

You can now configure Honeybadger to follow those redirects and perform the 20x uptime check on the final page in the redirect chain. The default is to follow up to 5 redirects, but you can configure the number of redirects to follow in the settings for each uptime check.

A user interface for configuring outage and redirect settings. It includes an "Outage threshold" input field with up and down arrows, explaining that it sets the number of unsuccessful checks before an alert is triggered. Below, a "Max redirects" field is set to 0, with an arrow pointing to it. The interface explains this setting controls the maximum number of redirects to follow when checking a URL, with 0 disabling redirects. At the bottom, there are two checkboxes: "Enable checks" is selected, while "Publish a public status page" is unchecked.

Setting max redirects to 0 mimics the prior behavior of not following redirects, in which case you can use a second "exact" check with the status code being 301, 302, etc. to verify that specific redirects are happening.

Point-and-click query builder

In Honeybadger Insights, you can use BadgerQL to dig into your application's performance data and debug issues. But sometimes you don't know what you're looking for, and you want to quickly explore your application events with filter, count, etc. To save you some typing, we've added a point-and-click query mode.

Click on any value in the events view to open a context menu with common BadgerQL operations for that field. When you select one, it will automatically be added to the current query—no typing required. It's a great way to quickly explore your data and discover new insights.

Granular check-in notifications

Honeybadger's check-ins feature allows you to monitor your cron jobs and periodic tasks with a simple heartbeat monitor, ensuring that important things—such as a nightly backup or a weekly billing task—happen on time. The way it works is simple: we give you a URL, and you call the URL. If we stop hearing from you within a configured time period, Honeybadger alerts you.

Before today, all check-ins for a project would notify all configured alert and integration channels; there was no way to select individual check-ins for individual alerts. We've improved this so that you can now select which specific check-ins you want to be notified of for each of your integrations/alerts.

A user interface showing two sections: "Check-In Events" and "Check-Ins". The Check-In Events section explains notifications for missing cron jobs or services, with checkboxes for "When a check-in is missing" and "When a check-in is reporting again". The Check-Ins section lists events to be reported, with checkboxes for "Payment Processor", "Email Notifier", and "SMS Notifier". The design uses a clean, minimalist layout with teal checkboxes for selected options.

This changelog began on June 1, 2024. This is the end!