I recently became New Relic Certified Performance Pro, and if you are not familiar with New Relic just yet, I would highly encourage you to check it out. When it comes to troubleshooting issues with your application or even just looking for a way to tune up its performance, New Relic can be an invaluable resource to have. There are several types of monitoring that New Relic offers, but for the purpose of this piece and the focus of the certification exam. and we will concentrate on New Relic APM (more on this later).
The certification itself is relatively straightforward. New Relic suggests preparing for the certification by running through just one of their free online courses. However, an additional webinar exists with the sole purpose of preparing you to take the certification exam. The webinar is quite useful for getting a sense of what questions you will come across. To pass, you will need to score at least an 80%, but considering you will have seen a majority of the questions in the course’s practice tests and webinar, this should not be too difficult for most. Some important aspects of New Relic that you will see on the exam (and will definitely need to understand in order to use New Relic effectively) are: Application Performance Monitoring (APM) at large, Transactions, Error Analytics, Alerts, and Apdex.
First, it is important to understand APM. While New Relic offers all kinds of monitoring, APM is really the core of New Relic. You will need to understand that it truly does monitor the performance of the application, and neither the performance of the hardware the application is running on, nor direct user experience (though an important argument could and should be made that the performance of your application will have a significant impact on user experience).
Transactions are one of my favorite aspects of New Relic. Transactions really refer to an event that took place in a specific part of your application. They become especially useful when trying to track down a part of your application that is taking up a lot of time and/or resources. Transactions can cover anything from a request for an external web resource to slow database queries, though exact queries will likely be obfuscated by default. Understanding how you can effectively drill into the transactions to track down a slow or buggy method in your application is incredibly important.
New Relic’s Error Analytics is another nice feature that is especially useful for fires or other critical issues. Error Analytics combines the powerful granularity of monitoring transactions with the stack traces from reported errors that you may normally have to dig through logs to find. With New Relic’s Error Analytics you have the ability to monitor errors of various levels of criticality and get a sense of their frequency. As previously mentioned, Error Analytics is integrated with transactions such that you have the ability to drill down and see what part of your application is responsible.
As with most aspects of New Relic, alerts can be created with a great deal of granularity and can be especially helpful if you are looking to monitor a specific aspect of your application or simply stay up to date with any major outages. Alerts are a big-ticket item for us at SD, as they allow us to hop on a client’s emergency before they even recognize that something is wrong. One particularly useful feature of Alerts is the ability to assign different groups to notify in the event of a disruption or degradation of service. In most cases our clients prefer to be in the loop when an Alert for an outage comes in, however there may be cases where an Alert is critical for one party and more or less noise for another. Setting up proper notification channels are just one part of the granularity of Alerts. When it comes to taking the certification test, you will want to make sure that you also understand the conditions that are involved with creating Alerts as well as how to set up Alerts for what New Relic calls “key transactions.”
Apdex refers to a generated score that your application receives and represents a numeric value that can be assigned to the health and/or performance of your application. Essentially there are 3 buckets that a request to your application can fall into: Satisfied, Tolerating, and Frustrated. While the exact threshold (T value) that determines which bucket a request falls into is up for you to decide, there is a very specific formula that is used to calculate your application’s Apdex Score. Understanding how your Apdex score is calculated is critical to determine your T value, as this threshold is quite subjective and vary from application to application. If you are considering taking the certification test, make sure you understand how to calculate an application’s Apdex.
Overall, New Relic is an invaluable resource for developers looking to monitor their applications health and/or performance. The certification test is well worth your time if you are looking to get a better understanding of how to get the APM tools to work for you and get the most out of them. If you are looking for additional resources regarding APM, New Relic’s APM documentation is always a great starting place. And do not forget that there is so much more that New Relic can do for you; APM is just the tip of the performance monitoring iceberg!
Written by: Jeremy Dennen, Back End Programmer