Metrics

Overview

The overview page provides an at-a-glance, auto-refreshing view of your app’s performance and resource usage (mean response time by category, 95th percentile response time, throughput, error rate, and more). You can quickly dive into endpoint activity via click-and-drag (or pinch-and-expand with a mobile device) on the overview chart.

overview

Additionally, you can compare metrics in the overview chart and see how your app’s performance compares to different time periods.

Endpoints

See a list of all your web endpoints and view those that have the highest time consumption, most throughput, allocations, or error rates. Additionally, you can narrow in on specific timeframes and see which endpoints had higher time consumption during overall regressed time periods.

Use the comparison to look for both individual and aggregate trend lines amongst all your endpoints.

endpoints

Individual Endpoints

You can view metrics for specific controller-action and background job workers. There is a similar chart interaction to the App Performance Overview page, with one difference: your selection will render an updated list of transaction traces that correspond to the selected time period: individual endpoints and background jobs

You can sort traces by response time, object allocations, date, and more.

Background Jobs

Similar to web endpoints page, view a list of your background jobs for your application and aggregate metrics such as execution time, throughput, latency, max allocations and error rate.

background jobs

Database

Heroku Customers: You will need to enable the database monitoring addon.

When the database monitoring feature is enabled, you’ll gain access to both a high-level overview of your database query performance and detailed information on specific queries. Together, these pieces make it easier to get to the source of slow query performance.

database

Database Queries Overview

The high-level view helps you identify where to start:

overview

The chart at the top shows your app’s most time-consuming queries over time. Beneath the chart, you’ll find a sortable list of queries grouped by a label (for Rails apps, this is the ActiveRecord model and operation) and the caller (a web endpoint or a background job):

This high-level view is engineered to reduce the investigation time required to:

Zooming

If there is a spike in time consumed or throughput, you can easily see what changed during that period. Click and drag over the area of interest on the chart:

zoom

Annotations are added to the queries list when zooming:

Database Events

Scout highlights significant events in database performance in the sidebar. For example, if time spent in database queries increases dramatically, you’ll find an insight here. Clicking on an insight jumps to the time window referenced by the insight.

Database Query Details

After identifying an expensive query, you need to see where the query is called and the underlying SQL. Click on a query to reveal details:

detail

You’ll see the raw SQL and a list of individual query execution times that appeared in transaction traces. Scout collects backtraces on queries consuming more than 500 ms. If we’ve collected a backtrace for the query, you’ll see an icon next to the timing information. Click on one of the traces to reveal that trace in a new window:

trace

The source of that trace is immediately displayed.

External Services

Gain deeper visibility to further drill down metrics and the time spent into your external API calls with our External Services Dashboard.

external services