Product Update: enhanced zoom, 95th percentiles, trace diffs, and more.

Today we're excited to announce the release of our latest Ruby on Rails monitoring agent and a major UI update. This release continues our focus on quickly revealing your path to a faster, more reliable Rails app.

Enhanced zoom

Determining how to make your Rails app faster often involves investigating the opposite: inspecting your app's worst performing controller-actions and their requests. We're working to make this investigation effortless. Just follow your intuition when you see a problem area on a chart:

zoom

Click-and-drag on the chart to reveal a list of endpoints we've collected detailed transactions traces for during that period. For context, you'll see a sparkline of each endpoint's response time. Sort by slowest response time or largest memory increase.

95th Percentile response times

Rails apps with controller-actions that have a wide variety of response times are more difficult to scale. In addition to breaking down each controller-action's response time by category (ActiveRecord, HTTP, View, etc), we now track the 95th percentile response time for every endpoint. This provides insight into every endpoint's worst-case performance.

More intelligent transaction traces

We've enhanced our transaction tracing algorithm to collect traces across a wider variety of response times: you'll now see traces from your have-to-be fast controller-actions. This is the foundation for two new features below: our new trace explorer and trace diffs.

Enhanced endpoint trace explorer

The same zoom functionality found on your application-level dashboard is available for each endpoint: use it navigate to problematic time periods and inspect traces. You can also view a list of your traces in a variety of different ways over a given time period: slowest, largest memory increases, most recent, etc.

zoom endpoint

Trace Diffs: why was a request slow?

When you're viewing a transaction trace for a slow request, context is important: where are the hotspots in the trace vs. a normal, happy request? Is slowness associated with just a single database query? Did this request execute a code path that faster requests don't run?

Our transaction traces now visually represent each instrumented method call vs. the same method call in a normal request. Think of it as a performance diff. This helps you focus your time on the hotspots:

diffs

Faster access to specific controller-actions and background jobs

Quickly navigate to critical controller-actions and background jobs: our navigation menu now contains a pulldown that provides a sortable list of all of your actions and jobs from every page:

sort

Background Jobs

All of the enhancements mentioned here not only apply to controller-actions, but to background jobs as well.

Imperceptible overhead

We've added the agent-side enhancements without adding additional overhead to the agent. Our most recent benchmarks still apply.

Upgrading

These enhancements are available in version 1.6.0+ of our agent. Simply run bundle update scout_apm inside your Rails application directory to grab the latest.

BETA - memory instrumentation

In the screenshots above, you may have noticed subtle indications of memory instrumentation. Contact support@scoutapm.com to try our memory bloat / leak detection.

Feedback?

We welcome your feedback: shoot an email to support@scoutapm.com with any questions or comments.