Product Changelog

What we ship, improve, and polish in DeadBro, newest updates first.

Platform Monitoring Integrations Stability

ActiveRecord object tracking and richer request tables

DeadBro now tracks how many ActiveRecord model instances are hydrated during each web request and background job. The count appears as AR Objects in the Counts panel of every request detail page. When a request instantiates 10 000 or more objects it is automatically flagged as a standout and surfaces in the Issues page with a teal AR Nk badge showing the rounded count—a quick signal that something is loading far more data than it needs to. The instrumentation hooks into Rails' native instantiation.active_record notification so there is nothing to configure and the overhead is negligible. Requires dead_bro 0.2.15.

The All Requests, Slow Requests, and Timeline tables have also been refreshed. Every row now shows a Mem column with the process RSS at the time of the request (orange above 200 MB, red above 500 MB), and the old single N+1 badge has been replaced with a compact Flags column that surfaces all active issues at once—N+1, Slow, Mem, SQL+, and AR—so you can triage a list of requests without opening each one.

DB connection wait and queue time in performance breakdown

The performance breakdown bar now tracks two more slices of time that were previously invisible. DB Wait shows how long your threads spend blocked waiting to acquire a database connection from the pool—a separate cost from query execution that can quietly inflate response times when the pool is undersized. Queue time (already shown for web requests) is now also reported for background jobs, measured from when the job was enqueued to when a worker actually picked it up. Both metrics are collected by dead_bro 0.2.14 and require no configuration changes.

Redis command tracking

The gem now instruments Redis at the client level, capturing every command, pipeline, and MULTI/EXEC block executed during a request or job—with command name, key, duration, and database index. Redis time will appear alongside SQL, cache, and view rendering in the existing performance breakdown so you can see exactly how much of your response time Redis is responsible for. Requires dead_bro 0.2.14.

Concurrent Requests panel on request detail

Every request detail page now shows a Concurrent Requests panel — a Gantt-style chart of every other request that was running on your application at the same time. The current request is pinned at the top as a blue anchor bar; the rest are sorted by start time and colour-coded by status (green for 2xx, amber for 4xx, red for 5xx with a glow). The shared time axis shows the exact window from the earliest start to the latest end, so you can see pile-ups, long-running stragglers, and overlapping errors at a glance. Click any row to jump straight into that request’s detail page.

Request Timeline for your application

Each application now has a Timeline page in the sidebar that lists every web request in chronological order—newest first—so you can scan what happened across your app instead of drilling into one endpoint at a time. Pick a start and end date to focus on a specific window (an incident, a deploy, a spike), filter by duration or path (wildcards supported), and scroll through the full list with infinite loading. Open any row to jump straight into request detail.

Performance breakdown on request type pages

Each request type now opens on a Performance tab. A stacked bar chart and breakdown table show exactly where time goes for that endpoint—controller logic, database queries, view rendering, and external HTTP calls—so you can see which layer is the bottleneck at a glance. The tab also surfaces your top five slowest SQL queries for that endpoint with normalized query text, average duration, and relative share of total DB time.

Light mode and theme toggle

DeadBro now ships with a light mode. A toggle in the header navbar switches between light and dark, and your preference is saved so it persists across page refreshes and navigation.

Time Bro respects your chart timeframe

Clicking a data point on any dashboard chart now opens Time Bro with a window that matches what the chart actually shows. On a 1-hour view each point represents one minute, so Time Bro opens that minute—same as before. On a 4h–24h view each bucket covers a full hour, so clicking shows you that entire hour of requests. On a 7-day or 30-day view you get the full day. The navigation arrows step by the same unit, and the request count in the modal now matches what you saw on the chart.

Problematic Requests page

There is now a dedicated Problematic Requests page for each application, reachable from the sidebar. It lists every endpoint that has tripped a performance flag, tagged with one or more granular badges: N+1 (SQL count far above normal), Slow (duration well above your baseline), Memory (RAM spike), and High SQL (unusually high query count). The list loads incrementally as you scroll, so large histories stay quick.

Gem version in the sidebar

The application sidebar now shows the version of the dead_bro gem your app is currently reporting. When a newer version is available you will see an amber Update available badge that links directly to the gem’s GitHub repository—so it’s easy to spot when you’re running something old without leaving the dashboard.

Automatic Insights on your app dashboard

DeadBro now watches incoming requests and automatically surfaces Insights—notable patterns worth your attention—on your app dashboard and the account overview. We detect five types automatically: memory spikes (a request using far more RAM than your recent baseline), N+1 queries (SQL count far above normal for that endpoint), high-throughput windows (an unusual surge in requests over the current hour), P95 regressions (the slowest 5% of requests getting significantly slower than usual), and error bursts (five or more errors on the same endpoint in thirty minutes). No configuration required—Insights appear as they are detected and clear automatically after seven days.

Public status pages and embeddable uptime badges

You can turn on a public status page for a website check so stakeholders see current state, recent availability, and incident history without logging in. We also generate SVG badges you can drop into docs or READMEs to show live status at a glance. Configure both from the check’s edit screen when you want them.

Compare APM request traffic across deploys

On a slow or noisy request you can now line up behavior before and after a deploy—handy when you are validating a release or hunting a regression. The compare view sits alongside the existing request detail so you can jump between single-request context and a deploy-to-deploy diff.

Elasticsearch and OpenSearch calls on the request timeline

When your app reports Elasticsearch or OpenSearch work for a request, the detail page now lists those operations with method, path, status, and time—so slow search clusters show up next to SQL, Redis, and the rest of the waterfall instead of disappearing into a black box.

Snappier dashboards with large histories

We tightened several hot paths in how APM history is loaded and rendered, so common views stay quick as your data volume grows.

Delete applications and clearer account settings

You can remove an APM application from your account when you no longer need it; removal is soft-deleted and finished in the background so you are not stuck waiting on a huge cleanup. Profile and account settings are now driven more consistently from the server, which makes the forms easier to evolve and keeps what you see in sync with what is stored.

Calmer uptime notifications

Incident alerts wait briefly for the situation to stabilize before firing, and we skip notifications when a check was only down for under three minutes—enough to cut chatter from flaky networks and quick deploy blips without changing how we record downtime. Related background work was merged so maintenance-style jobs run on a simpler schedule.

Server metrics, overload awareness, and clearer checks UI

Linked servers now collect resource-style metrics over time, with detail on the server page and optional threshold notifications when things look overloaded (including Pushover where you use it). Uptime probes send a DeadBroBot User-Agent so you can tell our traffic apart in your logs. We also iterated on the website checks experience with layout and validation polish.

Admin tools: search, pagination, and richer listings

The internal admin area for accounts, users, applications, blogs, and websites now supports search, pagination, and Turbo-driven listing frames so large tables stay usable. You will also see extra fields where they help support workflows, and uptime checks in admin gained sensible sorting.

Per-check incident notifications

Each website check now has its own notification setting, so you can mute noisy or low-priority endpoints without turning off alerts for everything else. Open a check’s Edit page from the uptime dashboard to choose whether that check should send email and Pushover when it goes down or comes back up. Your profile still controls how you receive those channels; the check decides whether this monitor participates at all.

Account-wide APM dashboard

There is a new dashboard for your whole account: see errors and traffic across your applications, how throughput looks over the last day for your busiest apps, recent deploys, and important logs—all in one place. You’ll find it from Dashboard in the sidebar (above Applications). Older bookmarks to the app dashboard still work and take you here.

Uptime checks: clearer, more accurate, easier to manage

Website checks now run against your linked server so results match your real setup. You can pause and resume checks when you need maintenance windows, see quick trend hints at a glance, and add or edit checks with clearer validation and on-page feedback when something needs fixing.

Always see which account you’re using

If you work in more than one account, the app now makes the active account obvious in the navigation so you can switch context with confidence.

Incident email alerts are opt-in

New accounts start with incident email notifications turned off. Turn them on when you want email in the loop for downtime—so you only get the noise you choose.

Usage summary on the Applications page

Your applications list now includes a summary of how your account is using the product against your limits, so you can see where you stand without hunting through settings.

Pushover alerts for incidents

You can get incident notifications on your phone through Pushover, with optional alert sounds. Connect your Pushover user key in your profile and choose how you want to be notified. We also added Pushover to the Integrations page so it’s easy to discover.

Faster experience as your history grows

We improved how older APM data is stored and retrieved behind the scenes, so the app stays responsive as you collect more performance history over time.

Request activity updates live

On request-type views, new traffic appears automatically without refreshing the page. New rows are briefly highlighted so you can spot what just arrived, and we simplified the table so it’s easier to read at a glance.

Easier-to-read performance charts

Charts on the requests view show fewer crowded axis and legend labels, so performance trends are easier to follow on a normal laptop screen.