After months of hard work, we are excited to be releasing v4.0 of our .NET agent. The last major update v3.0, came out 6 months ago. This release has several major changes you should be aware of plus some exciting new features.
Speed, baby, speed!
Most importantly, we have spent many days doing nothing but optimizing the performance overhead of our .NET CLR profiler and our agent that runs as a Windows Service. Generally speaking, we have reduced the CPU overhead of both roughly 50% which is a huge accomplishment. Our goal is to provide an amazing amount of details about what your code is doing while ensuring that Retrace itself does not hurt the performance of your application and is safe to run in production.
Support for ASP.NET Core on Windows
We released support for .NET Core in Prefix a while back. That has now been extended to Retrace in this update. It does require adding StackifyMiddleware to your app for it to work. We expect there will be a few things to improve as we go along, so feel free to reach out if it isn’t tracking something properly or we are missing support for a popular 3rd party library.
Support for Windows Services
By default Retrace supports IIS based apps. We are excited to announce that Retrace now supports Windows Services and Azure Worker Roles. Self hosted web apps are now supported with WCF or Web API. Other apps, like those that listen to a queue or do job scheduling are also supported. We have put together a good support doc about some of these various scenarios and how to get them working: Overview Of Tracking Non Web Transactions
New feature: Tracked Functions
Tracked Functions essentially allow you to track a sub-transaction or block of code within a larger transaction. For example, we implemented it for tracking all of our various Elasticsearch queries to uniquely identify them. Learn more in our docs.
They require a simple code change to implement via: StackifyLib.ProfileTracer.CreateAsTrackedFunction()
- Numerous updates to how we parse and analyze SQL statements to improve performance and reduce the uniqueness of queries for better reporting.
- Improved retry logic when uploading data
- Improved async support for some scenarios
- Many other bug fixes and improvements
Haven’t tried Retrace on your servers? We think it’s rad. Try it free!
- How to Use Web.Config customErrors for ASP.NET - April 26, 2017
- Best Practices for Error Handling in ASP.NET MVC - April 25, 2017
- What is NullReferenceException? Object reference not set to an instance of an object - April 17, 2017
- Understanding # of Exceps Thrown / Sec, and How to Find Exceptions - April 17, 2017
- How to Generate C# Random Numbers, Pseudo vs Secure Random Numbers - April 16, 2017