Metric types

To understand what metrics New Relic collects, it's helpful to understand how our metrics are structured. Metric names are paths delimited by the "/" character. They usually follow this pattern:

<category>/<class>/<method>

This document describes some main metric categories. For instructions on how to collect your own metrics, see Custom metrics.

ActiveMerchant

New Relic tracks a variety of metrics on ActiveMerchant transactions which can be used for business analytics as well as performance monitoring. The metrics are summarized by operation as well as by gateway.

regex sample metric legend name
ActiveMerchant/.* ActiveMerchant/PayJunctionGateway
ActiveMerchant/gateway/.* ActiveMerchant/gateway/PayJunctionGateway/purchase PayJunctionGateway
ActiveMerchant/operation/.* ActiveMerchant/operation/purchase purchase

For more information, see the ActiveMerchant website.

ActiveRecord

ActiveRecord is the Object-Relational Mapping API used by Ruby on Rails applications. The metrics shown here measure the performance of ActiveRecord's find and save methods.

regex sample metric legend name
ActiveRecord/.*/find ActiveRecord/User/find User#find
ActiveRecord/.*/save ActiveRecord/Product/save Product#save

For more information, see the API Documentation for ActiveRecord.

Apdex

Apdex is a measure of user satisfaction with page load times.

Controller

In Ruby on Rails applications, HTTP requests are handled by Controller actions. A Rails application has many controllers, each of which has one or more actions. When your rails application receives an http request, that request is routed to the appropriate controller and action, based on the URL of that request. That action then does whatever processing is neccesary to generate an http response, which is most often a web page, but could also be a page fragment, an xml document, or any other kind of data that is requested by the client.

The following metrics track the performance of controller actions, regardless of routing, and without taking into account any network or web server effects.

regex sample metric legend name
Controller/.* Controller/Users/show /Users/show
Controller/.*/(?!\(other\)).* Controller/Users/show /Users/show
Controller$ Controller All Controller Actions
ControllerCPU/ ControllerCPU/Users/Show /Users/show

For more information, see the API documentation for ActionController.

Errors

This metric tracks the number of errors or exceptions raised while processing requests.

regex sample metric legend name
Errors/all Errors/all

External services

External service instrumentation captures calls to out-of-process services such as web services, resources in the cloud and any other network calls. It does not include other first class back-end components such as MemCache and the database.

In Ruby applications we instrument the Net::Http library to capture all HTTP services.

regex sample metric legend name
External/[^/]+/all$ External/service.example.com/all All service.example.com calls
External/ External/host.aws.com/Net::Http::POST Net::Http::POST[host.aws.com]
External/all$ External/all External Services
External/[^/]+/(?!all)/ External/service.example.com/all All service.example.com calls

HTTP dispatcher

This metric represents a summary of the throughput and response time of all web requests.

regex sample metric legend name
^HttpDispatcher$ HttpDispatcher HttpDispatcher

MemCache

MemCache is a popular technology that enables applications to access shared memory provided by any number of physical machines as a global cache. Applications that heavily use the database often use MemCache for performance and scalability benefits.

These metrics measure the frequency and response time of calls to MemCache to read and write data from the cache. Response times should be low (less than 5 ms) for a well performing MemCache deployment.

regex sample metric legend name
MemCache/.* MemCache/read MemCache read operations
MemCache/read MemCache/read MemCache read operations
MemCache/write MemCache/write MemCache write operations

Mongrel

This metric measures the length of the mongrel queue, which holds pending http requests to be processed by mongrel. The HTTP Activity graph overlays the maximimum queue length for a given period. The value is zero if mongrel is processing a request but has no other requests waiting in its queue.

When looking at this value across an aggregate cluster of mongrels, the queue lengths of all mongrels is added together, showing the sum of all queue lengths.

A mongrel queue length should be at or near zero; if it is consistently at a higher level, then it indicates that your rails application is having trouble keeping up with its load requirements.

regex sample metric legend name
Mongrel/Queue Length Mongrel/Queue Length Queue Length

View

ActionView is a package in Rails that is used to render the output that is the response to an http request, such as an html page or an xml document. The View is rendered by the controller that is handling the request.

If View metrics represent a large portion of your controller's response time, it could mean you are doing a lot of database operations inside the view template itself.

regex sample metric legend name
View/.* View/Users/_child.html.erb/Partial Users/_child.html.erb
View/.*/Partial View/Users/_child.html.erb/Partial Users/_child.html.erb
View/.*/Rendering View/Users/show.html.erb/Rendering Users/show.html.erb

For more information, see the API Documentation for ActionView.

For more help

If you need additional help, get support at support.newrelic.com.