Matt Test

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.

“` xml





“`

> 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.

“` csharp
using StackifyLib; //extension methods are here

//create your logger
static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(Program));

logger.Debug(“Some cool logging message”, new { clientid = 54732}); //extension method

//You can also log an object like a dictionary
Dictionary dictionary = new Dictionary();
dictionary[“clientid”] = 54732;

logger.Debug(“Another cool logging message”, dictionary); //extension method
“`

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.

![Retrace Application Monitoring Dashboard](https://cdn.document360.io/3fcaf473-a1ef-4778-aa2c-fd28411c2b01/Images/Documentation/42ee55b5-e0c1-427c-9084-f697feb51b34.png){height=”” width=””}

## Retrace Application Monitoring is 6 Integrated Modules

### Transaction Tracing

At the heart of Retrace is its ability to collect very detailed performance data and [transaction traces](https://stackify.com/transaction-tracing-optimize/) 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](http://stackify.com/prefix/), on your dev box to get this same powerful tracing ability.

![Application monitoring trace](http://stackify.com/wp-content/uploads/2015/09/transaction-trace-annotated.png)

### APM – Code Level Application Performance Monitoring

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

![Application monitoring of dependencies](http://stackify.com/wp-content/uploads/2017/02/application-montoring-app-dependencies.png)

### Log Aggregation, Searching, and Monitoring

Retrace enables you to [centralize all of your application and server logs](https://stackify.com/log-management/) in one place. Full text searching and support for [structured logging](https://stackify.com/what-is-structured-logging-and-why-developers-need-it/) 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.

![Monitor application logs](https://stackify.com/wp-content/uploads/2017/02/application-monitoring-log-dashboard.png)

### Application Errors Tracking, Reporting and Alerting

Stop logging your errors to log files that you don’t even look at. Let Retrace [collect all of your exceptions](https://stackify.com/error-monitoring/) 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.

[Monitor unique application errors](https://stackify.com/wp-content/uploads/2017/02/application-monitoring-errors.png)

### Server, Application, and Custom Metrics

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](https://stackify.com/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

![Monitor server and application metrics](https://stackify.com/wp-content/uploads/2017/02/application-monitoring-metrics.png)

### Fully Integrated Alerts

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