Who gets called when a critical application stops working over the weekend? Developers do.
Let’s face it, being on call sucks. It sucks a lot less as a developer when you have amazing application monitoring in place. Today’s applications rely on multiple services like SQL databases, external web services, queues, caching, cloud providers, and much more.
Thankfully, most all of these things are built for high availability, but unfortunately, minor application problems are still a reality on a regular basis, along with the occasional outage. When application problems do arise, they need to find the problem quickly so they may go back to their weekend or finish their work items for the sprint.
This article covers our application monitoring best practices with Retrace.
Our goal from the day Stackify was started has always been to improve how developers monitor and troubleshoot application problems. Lots of application performance monitoring tools exist. The problem is it required multiple isolated tools and many of them were designed for IT operations, not developers. Retrace changes this by combining exactly what developers want and need to see, how they want to see it.
We call it Retrace because of it’s ability to help you retrace what your code is doing to quickly find bugs and performance problems.
Retrace is a simple to use SaaS application monitoring solution that combines several key products:
- APM – code level application performance visibility
- Transaction tracing – code level traces of what your code is doing
- Metrics – server, application, and custom metrics monitoring
- Logs – aggregation, searching, and management
- Errors – aggregation, reporting & alerting
- Alerts – robust monitoring and alert capabilities
Retrace collects a lot of data about your application’s performance and health. The combination of all of this data in one place plus a simple to use user interface for developers makes Retrace very different than every other APM solution you have ever used. No matter if it is your first day on the job or have been supporting the same app for years, with Retrace you can see everything you would want to know without any guesswork.
In a single screenshot below you can see how easy it is to access monitoring metrics, performance reporting, errors, and logging for a single application. You can also see a nice chart that clearly shows that external web service calls account for most of the response time taken.
At the heart of Retrace is its ability to collect very detailed performance data and transaction traces for your applications. We call it Retrace because of it’s ability to help you re-trace what your code is doing to quickly find bugs and performance problems.
Traces contain these types of data:
- Web request info like URL, etc
- Key methods in your code
- What dependencies did your code call (SQL, caching, HTTP calls, etc)
- Application errors
- Logging statements
Retrace provides the most detailed traces you will find in any application performance monitoring software or APM solution. Try our free tool, Prefix, on your dev box to get this same powerful tracing ability.
Retrace collects very detailed data via its code profiling and transaction tracing capabilities. All of that data is aggregated and crunched to provide powerful reporting and alerting capabilities. With Retrace you can quickly identify why your application is slow or not working properly.
Key APM features:
- Monitor app performance by response times, user satisfaction, etc
- Understand performance based on application dependencies
- Identify slowest and most used web requests
- Monitor key web requests or transactions
- Identify slowest and most used SQL queries
- Monitor the performance of specific SQL queries
Retrace enables you to centralize all of your application and server logs in one place. Full text searching and support for structured logging makes it easy to find anything you want to see in your logs. You can even setup log searches to run every few minutes and alert your team if anything is found.
Application logs are supported by common logging frameworks like log4net, NLog, log4j, logback and others. Server logs from syslog, Windows Events, and web server access logs are also supported.
Stop logging your errors to log files that you don’t even look at. Let Retrace collect all of your exceptions and send you an email when new errors are found. Exceptions are uniquely identified and alerts can be setup based on error rates per application.
With Retrace you can even see all the logging statements that occurred in the same web request and potentially see the complete transaction trace that was recorded. Being able to go from an error to understanding exactly what was going on is a little magical.
It is important to monitor basic server metrics like CPU, memory, network, and disk performance. Developers can also monitor their applications and track things like garbage collection, request queuing, transaction volumes, page load times, and much more.
Some of the types of application metrics you can monitor:
- Windows Performance Counters
- JMX mBeans
- Custom application metrics
- Error rates
- Custom metrics via Retrace API
Powerful charting and dashboards make it easy to analyze and trend your monitoring metrics.
- Built-in dashboards
- Interactive charting
- Easily compare metrics across multiple servers
- See trends at a glance with sparklines
Retrace can monitor a lot of different things about your applications and send you alerts when something isn’t working properly. Alerts are grouped by application to show you all open alerts for the application in one view instead of a flurry of emails. Retrace offers provides a wide array of performance monitoring capabilities.
- Email, SMS & Slack notifications
- Escalate alerts if not resolved or severity worsens
- Configure notifications differently by app and server
Developers need more that basic server monitoring to quickly find and fix application performance problems. Existing application performance management solutions are very expensive and lack some key features discussed here that developers need in an APM product. Retrace provides developers affordable and easy to use application monitoring software. We hope these best practices help your improve how you do application monitoring!