Not all errors are created equal. For some applications there is an acceptable error rate that is typical and completely fine. For example, an e-commerce application can surface an error when someone enters an invalid coupon code. In this scenario there is nothing wrong with the application itself but there are many reasons why you might want more information about these kinds of errors. There are other errors that are a major problem whenever they surface, and you need to be able to troubleshoot these kinds of errors immediately.
Figure 1: Fake error message just for fun. Generated at atomsmasher.org
Error Message Troubleshooting
The first step in troubleshooting error messages is understanding what errors are being thrown by the application and how often. You’ll find the Error Messages screen on Application, Service, and Endpoint dashboards. The Error Messages screen is automatically filtered for you depending on the path you’ve taken to get there.
Specifically, if you are on an Application Perspectives dashboard (Figure 2)you will see error messages associated with every service and endpoint contained within that perspective.
Figure 2: Error messages filtered by “Application”
If you’re in a service dashboard(Figure 3), you’ll see error messages associated only with that service.
Figure 3: Error messages filtered by “Service”
And likewise, when you’re in a service endpoint dashboard(Figure 4) you’ll only see error messages associated with that service endpoint.
Figure 4: Error messages filtered by “Endpoint”
Great, automatic filtering is really useful and will save significant time. Just as important however, is what happens after you’ve identified an error that needs troubleshooting. To troubleshoot an error, you click on that error and drill down into the “Analyze” screen(Figure 5). From here you are presented with a list of every call that contains said error. EVERY CALL! Not some portion or sampling of the calls. All of them. Why is this important? It means that you will always have all of the information required to solve a problem at the moment you’re doing the analysis. There’s no need to hope the problem re-occurs.
Figure 5: Drill down from error message to all calls containing that specific error
Click on any call name(Figure 6) and you will be presented with a full distributed trace of a transaction containing the error to troubleshoot. Within the trace details you’ll find the information you need to understand the reason for the error.
Figure 6: Drill down from list of calls to distributed trace containing error
Error Message Analysis
The “Analyze” capability within Instana enables you to quickly and easily filter through your entire data set to create meaningful information. When it comes to error messages, it is valuable to understand what errors occur, how frequently, within which services, etc. Getting to this level of information is easily achieved by clicking on a few filters(Figure 7). There’s no need to learn a new query language.
Figure 7: Use Instana’s Analyze capability to easily identify all erroneous calls
Instana’s latest Error Messages capabilities make it easy to troubleshoot or optimize your applications, services, and endpoints. Most people are unaware of the large amount of errors thrown within their applications so sign up for a free trial of Instana today and see what’s going on in your own applications.