There is a contradiction in building great software applications. Engineers don’t write code with the intention of users experiencing errors. Yet we all know that software has bugs regardless of the efforts employed to avoid them. Even if you could build bug-free software, errors can be caused by failures of dependencies outside the code (databases, external services, disk issues, etc.). Errors are unpredictable by their nature. The key is to identify and resolve them quickly.
That’s why we are so excited to put the power of advanced analytics into New Relic APM with a brand-new, easy-to-use, point-and-click experience for error analysis.
A live analytics tool to track errors in context
When trying to track down errors, developers and site-reliability engineers almost never have the full context of the application, and errors always seem to pop up at the worst time. Every situation could require visibility into different dimensions—and you can’t know with certainty ahead of time which dimension will matter most. That’s why having access to every attribute of every error can make it easier to fast-track that analysis.
The new APM Errors functionality is a real-time analytics tool with a trio of dynamic charts that create an intuitive and usable Web interface for you to analyze and solve application issues. It will enable you to segment and pivot APM error data across a range of dimensions, including company, frequency, error type, or any other attribute. For example, as shown in the screenshot below, you will be able to filter according to a particular error type that you’ve seen spike, and then facet by host to see if it might be an underlying infrastructure issue.
You will be able to filter and facet across multiple dimensions, so you can better focus your root cause investigations. For example, suppose you get reports of application issues, but all you know is that the affected customers were using the Chrome browser:- You would first look for your most common error type, and see that it’s
Java.Lang.ArrayIndexOutOfBoundsException
. - Then you would filter by two dimensions:
- Errors in the class
Java.Lang.ArrayIndexOutOfBoundsException
; and - Transactions where the client was Google Chrome.
- Errors in the class
- Then you’d facet by a third dimension, the version of Google Chrome used by the client, and see that version 46 is most common.
So, to focus on the most common error traces, you’d focus on error traces for ArrayIndexOutOfBoundsException
where the client was Chrome v46. This capability will accelerate troubleshooting efficiency and speed mean time to resolution (MTTR).
How APM Errors works
So how does the new APM Errors functionality work? It all starts with the data.
Our agents instrument software directly, providing code-level visibility that includes response-time measurements as well as fine-grained details of every error. When this feature is available, this unsampled, unaggregated data will be sent securely to our cloud-based big-data store. The New Relic data cluster provides scalability and query performance enabled by our multi-tenant SaaS architecture. This is the “secret sauce” that will deliver blazing fast iterative exploration and analysis of error data.
We are currently in a beta for select customers with applications in Java, Ruby, Python, Node.js, and PHP. If you’re interested, you can request to participate here. We expect to make this capability available to all New Relic APM users in the coming weeks, with Python and Node.js support coming soon.
Michael Butt contributed to this post
Forward-Looking Statements
This post contains “forward-looking” statements, as that term is defined under the federal securities laws, including but not limited to APM Errors and is ability to enable Customers to segment and pivot APM error data across a range of dimensions to see how errors are affecting particular customers, and send data to our cloud-based big-data store with “blazing fast” iterative exploration and analysis of error data, the benefits of our new features to our customers and the availability of support for Python and Node.js and any features or benefits related thereto. The achievement or success of the matters covered by such forward-looking statements are based on New Relic’s current assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties, assumptions, and changes in circumstances that may cause New Relic’s actual results, performance, or achievements to differ materially from those expressed or implied in any forward-looking statement. Further information on factors that could affect New Relic’s financial and other results and the forward-looking statements in this press releasepost is included in the filings we make with the SEC from time to time, including in New Relic’s most recent Form 10-Q, particularly under the captions “Risk Factors” and “Management’s Discussion and Analysis of Financial Condition and Results of Operations.” Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at http://ir.newrelic.com or the SEC’s website at www.sec.gov. New Relic assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
Background image courtesy of Shutterstock.com.