You are in the right place! Retrace APM is designed to help developers optimize the performance of their applications and is an excellent Application Insights alternative.
Development teams need visibility to application
performance, errors, logs, metrics and monitoring.
Retrace provides a simple and holistic
experience for developers.
Here are some key differences:
Retrace combines code level performance, application metrics, errors, and logging together in one easy to use solution. All the data is at your fingertips with a simple user interface designed for developers. If you want to verify application performance, look for ways to optimize it, or hunt down ugly bugs, Retrace has you covered.
Retrace provides reporting of every single SQL query in your application. Quickly find slow and high volume queries.
Application Insights only provides reporting down to the server and database. This isn’t very helpful for identifying why your app is slow.
With ZERO code changes, Retrace can track up to every single exception thrown in your code. You can send exceptions to Retrace, tell it to collect only unhandled exceptions or tell it to collect all “first chance exceptions” for .NET, which is literally every exception thrown.
Application Insights only shows exceptions that have been explicitly logged to it. Which means it is missing lots of exceptions.
Retrace captures key methods in your code, how your code uses dependencies, SQL queries, HTTP calls, errors, logs, and more. It presents all of this in an easy to use format that developers love.
For this sample request below on the right, Retrace shows all of these excellent details:
2 SQL queries, 2 Redis calls, 1 external HTTP call, 2 MVC child actions, 2 MVC partial views, all HTTP modules, 8 log statements, and 1 exception
Application Insights only supports SQL Server, HTTP calls, Azure Storage, and Cosmos DB.
Retrace supports many other dependencies including Oracle, PostgreSQL, MySQL, MongoDB, RavenDB, Elasticsearch, Redis, Memcached, AppFabric, MSMQ, NServiceBus, AWS services and much more.
Application Insights does not have full support for application dependencies being used with asynchronous code. Including basic async HttpClient usage.
Retrace has complete support for asynchronous .NET programming including all dependencies and even your own custom code.
Application Insights tracks how much time is spent in the dependencies they support, but they don’t present it in a very usable way.
Retrace puts this front and center in your dashboard. Immediately identify if SQL, HTTP calls or any dependency is causing performance problems.
Application Insights does not provide any way to monitor an individual key transaction in your application. Most applications have critical or high volume requests that should be closely monitored. This is key functionality for any APM product that Application Insights does not provide.
Retrace allows you to monitor the performance of any web request or SQL query in your application.
Application Insights provides some basic features around search for log or “trace” messages. For advanced functionality, you have to send your logs to Microsoft OMS Log Analytics, which is an additional cost.
Retrace provides many advanced log management features at no additional cost:
More: Retrace Log Management Combines Logs, Errors, and Code Level Performance
Retrace provides many advantages when it comes to monitoring and sending alerts when problems arise. Retrace supports notification groups, escalation, and dashboards to view all alerts across all of your applications.
A critical feature for any application performance management solution is the ability to view data across multiple applications. Application Insights isolates all of its reporting within individual applications. Your only option is custom build dashboards in the Azure Portal.
Retrace provides first class support for reporting across multiple environments for a specific application as well as across all applications. You can quickly find your slowest web requests, SQL queries, exceptions and much more across every app.
Being able to view all exceptions and search logs across all apps is critical functionality that all developers need.
Since Retrace uses the .NET CLR profiler, it can be customized to track any method in your code that can then be visible in Retrace’s awesome transaction traces. Application Insights does not provide any mechanism to profile specific methods in your code.
More: Configuring Custom Profiling For .NET
Retrace provides full support for Windows Services & Azure Worker Roles. All you have to do is define the scope of what a transaction is and Retrace can automatically detect all of your application dependencies and provide all the same great functionality that it does with web apps.
Application Insights requires all reporting of Windows Services to be coded manually. You would have to go through every place in your code that you do a SQL query, HTTP call, etc and manually report it to Application Insights.
More: Overview Of Tracking Non-Web Transactions
Retrace tracks the server time it takes to execute query along with how long it takes to download the SQL query results. For a query that returns a lot of data, the total amount of time can be much longer. This is important to understand so you can fully realize the impact it has on how long your web request or transaction is taking. Retrace tracks the full time.
Retrace scrubs all SQL queries to remove dynamic SQL and potentially sensitive information. This is part of our process of uniquely identifying all of your SQL queries.
Application Insights collects all of your SQL statements. If you are using dynamic SQL that may include sensitive data, it is being sent to Microsoft.
We hope you now see why Retrace is the #1 Application Insights alternative. Retrace provides robust application performance management functionality with an amazing user experience designed just for developers.
Still not convinced? Check out our pricing calculator to see how much you could be paying for all these service!
If you would like to be a guest contributor to the Stackify blog please reach out to stackify@stackify.com