Dotnet Performance Counter : JIT Compiler

In this article we are going to know about performance counters related to JIT and its processing. 

As we monitor dotnet run time environment (CLR) during performance test, we need to know what to look for if we are measuring performance affected by JIT compilation . It will also help to monitor JIT's performance.


Number of bytes of MSIL processed by JIT(IL Bytes JITted) : Shows amount of IL/MSIL code compiled by JIT  compiler since the application started(in byte).

Total IL bytes processed by JIT : Same as previous(IL Bytes JITted) but with all in count. So, it will same in one collected sample.

Rate of IL processing by JIT (IL Bytes JITted / sec) : Shows rate of IL code compilation by JIT.
Note : This rate represents JIT compilation rate between two collected samples not average of all.
This is an important measurement for performance.,spatially for application running server capacity.

Number of Methods processed by JIT(Methods JITted)
: Shows total number of Methods JIT compiled since the application started.
Note: It excludes, per-compiled methods.

Standard JIT Failures : It shows JIT compilation failures peak number of methods since the application started. MSIL verification, JIT internal error, Resource or Dependency Errors etc will also be included in count.
This is another important counter for performance monitoring.

Time % for a code in a JIT compilation phase:(% Time in JIT) : JIT copulation occurs in phases. A phase occurs when a method and its dependencies are compiled. This time shows % of total time needed for compilation in one phase JIT. That means, for example, this shows how much percentage need for JIT to compile a piece of code in respect to total method compilation.
Note : This counter is updated at the end of every JIT compilation phase.(neutralize the counter for each phase)
This is another important counter for performance monitoring for individual code block performance.

Thanks ..:)



No comments:

Post a Comment