Custom Performance Counters with PostSharp in Windows Azure

The performance measurement is one of the most important things in the software development. Performance should be addressed throughout the whole development process and not only when the risks become problems. Major motivation for running something in the cloud is the fault-tolerance and scalability. Notice: without performance, scalability doesn’t exists.

“Performance and scalability are inseparable from each other. It doesn’t make sense to talk about scalability if a software system doesn’t perform. However, a software system may perform but not scale.”

This article shows you an approach how to dynamically measure performance of your code at runtime. With the help of PostSharp I created the aspect which is applicable to the all members in the solution. This aspect is using the performance counter of type AverageTimer32  to the measure average execution time.