The Honeybadger Changelog

Here's what's cooking at Honeybadger.

Explore error tracking data in Honeybadger Insights

One of the best ways to get started with Honeybadger Insights is to use it with your existing Honeybadger error tracking data—which we include for free with every error tracking plan.

Sometimes you want to know something about a particular error, how many errors have occurred with a specific bit of context data, what else was happening around the time the error occurred, etc.

To make it easier to answer these questions quickly, we’ve added Insights context menus to the error detail page. When you hover over any Insights-enabled field, you’ll notice that the value is highlighted. Click to open a context menu with common Insights operations for that field.

The menu options change based on the type of data (for example, if it’s a number, you’ll see a count operation). When you select an option it opens the query in Insights, making it easy to explore from there.

View an error in Honeybadger to try it out.

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.

Use streams to improve query performance in Honeybadger Insights

Streams are the fundamental data sources in Honeybadger Insights. They serve as the starting point for your queries and represent the data you want to analyze.

When you create a new Honeybadger project, we automatically set up two streams: an Internal stream for your Honeybadger-generated events (like errors, uptime checks, and notifications), and a Default stream for the custom data you send to Honeybadger.

You can select the active streams from the steam selector at the top of the query editor. This affects the data that Insights returns for your queries.

A search interface in a logging system with two tabs highlighted in a red outline: "Default" and "Internal," both with close (X) buttons. Below the tabs is a query that selects timestamp and preview fields, sorting by timestamp. The search controls show a 3-hour time range in PDT timezone, with results showing "1000 of 1.00K results" and a green checkmark indicating successful execution.

Removing a stream you don't need can improve your query response times because Insights doesn't need to scan that data when executing your query. So, for example, if you're querying your application telemetry, you can remove the Internal stream to get a faster response.

You can’t create additional streams yet, but that’s something we’re considering.

Check out the developer docs 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!