Advanced Error Monitoring, Tracking & Reporting with Retrace
Are Important Application Errors Hiding in your Logs?Using a logging framework and monitoring application errors is critical. The problem is most developers log them to a text file or database table. If you want to wait until your users report application errors, you can then go back to your log files and try and find related errors. It makes a lot more sense to constantly monitor your applications for errors so you can identify and fix problems ASAP.
Why Developers Need an Error Tracking ServiceTo make the most of your application errors, you should use an error reporting service. They can collect all of your errors and provide valuable insights in real-time about application problems.
- Real-time alerts - know immediately when a new error happens
- Centralized repository - one place your team can access everything
- Error rates - quickly identify large spikes in error rates
- Improve productivity - find root cause of problems much faster
How to Identify Root Cause Instantly
Being able to know that errors are happening is awesome, and much better than nothing. With Retrace, you can go from seeing just an error message to also seeing the complete context of what your code was doing. Understanding what your entire application stack is doing is critical to identifying root cause. Additional details:
- Web request details
- Related log messages
- SQL queries being called
- Interaction with other dependencies (caching, queueing, etc)
Three Types of Application ErrorsNormally, developers have to specifically catch and log errors in their code so they can find them later in their logging files. If they rigorously follow good practices to always use "try catch" blocks and log errors, you should collect most of your errors. There are potentially three types of errors that can occur within your application. 1. Errors caught in your code that are logged or ignored This is the normal scenario. You use "try catch" blocks and do a good job of logging your exceptions or at least handling exceptions so your users never see them. 2. Errors caught outside of your own code, in another library, and handled somehow These are the types of errors that occur within the .NET framework or JVM and are caught and handled within it. The errors are happening, but you never even see them. 3. Uncaught errors that bubble up to your users If you don't properly catch errors, your app may return a 500 level HTTP status code and an error to your users. These are the worst kind of errors.
Track Application Errors Without Logging ThemRetrace can collect errors in multiple ways. When using our full APM with code profiling, we are able to collect exceptions directly from .NET or Java, without any code changes! Retrace also accepts any errors reported directly from your code via your logging libraries. Our users typically find all kinds of errors they never knew even existed. Many times they find errors that have existed for a long time that were being caught and thrown away by their code. These errors could be hidden problems or simply causing unnecessary performance overhead. Note: Retrace's functionality differs by programming language.
Retrace Error Monitoring Features
View Web Request DetailsFor every error that you log, Retrace will attempt to collect any details about the current web request. These details are very valuable to get more context.
- Full stack trace
- Header, session, and cookie values