The best time for developers to optimize their code is while they are writing it. Developers can leverage the detailed transaction tracing available from APM type tools, like Prefix, as a fast feedback loop to understand what their code is doing and how long it takes. Prefix works as an ASP.NET profiler and also works with several common JVMs for Java.
Transaction tracing is a critical feedback loop for developers
“When informed about a problem whilst in the moment I’m in a much better position to make corrections or come up with alternative solutions. Without a quick feedback loop, the passing of time makes it difficult to get into the initial mindset which caused the problem to begin with.” – Vince Panuccio
Lightweight code profilers and other data collect methodologies can be used to provide developers a wealth of information about what their code is doing. Including logging statements, errors, SQL queries, web services, and other dependencies.
Today’s applications are complex and typically connect to multiple dependencies like SQL & NoSQL databases, PaaS services, mongodb, elasticsearch, redis, queueing, and many other services. Prefix helps developers instantly understand if their code is using them correctly and how they impact the performance of their app.
Example transaction trace captured by Prefix
As an example, developers can find common problems like N+1 database query patterns caused by SQL queries being ran in a loop. Prefix’s built in suggestions highlights a potential problem and the 38 database queries becomes a glaring problem.
This instant feedback can help developers validate that their code is doing what they expected it to do. Profiling and performance tuning is something developers don’t typically do until the tail end of a project. Most of the time, they don’t even do it unless there is a known performance issue in the code or they are doing stress testing.
By using tools like Prefix, developers can continually be looking for performance problems in their code as part of their natural development process. The transaction tracing that developers can get from these types of free tools is a must have.
- 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