Microsoft developed a unified development environment to resolve the problem of having multiple development environments: .NET Framework. It is language-neutral and built to provide with the tools and solutions that programmers need to build rich applications in the stateless environment of the Internet.
One of the main objectives of this framework is to provide a simplified development model so that a lot of the plumbing that was required to develop in the past is eliminated. The .NET Framework is a simpler development environment and will give developers more power over their applications. This framework uses the latest in Internet standards such as XML, SOAP, and HTTP. Moreover the applications built on this platform are easy to deploy and maintain. It includes two main components: the Common Language Runtime and the Base Class Libraries. The Common Language Runtime (CLR) manages the execution of the code and provides access to a variety of services that will make the development process easier. The Base Class Libraries (BCL) are a set of classes, value types, and interfaces that give you access to specific developer utilities and various system functions.
There are different classes of .Net Framework Metrics. The following describes the different types of metrics defined and some examples of them.
1. CLR Exceptions Metrics
The metrics in the .NET CLR Exceptions category provide information about the exceptions thrown by an application.
Metric
Exceptions Thrown
Exceptions Thrown Per Sec
Description
This counter indicates the total number of exceptions generated in managed code since the application restarted.
This counter indicates the total number of exceptions generated per second in managed code.
Table 1 - .NET CLR Exceptions Metrics examples.
2. CLR Interop Metrics
The metrics in the .NET CLR Interop category provide information about an application's interaction with COM components, COM+ services, and external type libraries.
Metric
CCWs
Marshalling
Table 2 - .NET CLR Interop Metrics examples.
3. CLR JIT Metrics
The metrics in the .NET CLR JIT category provide information about Just-in-Time (JIT) information for the code that has just been compiled. JIT compilation is used to compile IL methods to native machine language immediately before execution of the methods.
Description
Displays the current number of COM callable wrappers (CCWs). A CCW is a proxy for a managed object being referenced from an unmanaged COM client. This counter indicates the number of managed objects referenced by unmanaged COM code.
Displays the total number of times arguments and return values have been marshalled from managed to unmanaged code, and vice versa, since the application started.
Metric
Methods Jitted
Standard Jit Failures
Description
Displays the total number of methods JIT-compiled since the application started.
Displays the peak number of methods the JIT compiler has failed to compile since the application started.
Table 3 - .NET CLR JIT Metrics examples.
4. CLR Loading Metrics
The metrics in the .NET CLR Loading category provide information assemblies, classes, and application domains that are loaded.
Metric
Load Failures
Current Classes Loaded
Description
Displays the peak number of classes that have failed to load since the application started.
Displays the current number of classes loaded in all assemblies.
Table 4 - .NET CLR Loading Metrics examples.
5. CLR Locks and Threads Metrics
The metrics in the .NET CLR Locks and Threads category provide information about managed locks and threads that an application uses.
Metric
Current Logical Threads
Current Physical Threads
Description
Displays the number of current managed thread objects in the application.
Displays the number of native operating system threads created and owned by the common language runtime to act as underlying threads for managed thread objects.
Table 5 - .NET CLR Locks and Threads Metrics examples.
6- CLR Memory Metrics
The metrics in the .NET CLR Memory category provide information about managed and unmanaged memory consumption
Metric
Bytes in All Heaps
Sink Blocks in Use
Description
Displays the current memory allocated in bytes on the garbage collection heaps.
Displays the current number of synchronization blocks in use.
Table 6. .NET CLR Memory Metrics examples.
7- CLR Networking Metrics
The metrics in the .NET CLR Networking category provide information about data that an application sends and receives over the network.
Metric
Description
Bytes Received
Displays the cumulative number of bytes received over all open socket connections.
Bytes Sent
Displays the cumulative number of bytes sent over all open socket connections since the process started.
Table 7. .NET CLR Networking Metrics examples.
8- CLR Remoting Metrics
The metrics in the .NET CLR Remoting category provide information about .NET remoting performance and its various key performance counters. The throughput of the remote component can be measured using the Remote Calls Per Sec and Requests Per Sec counters.
Metric
Description
Channels
Displays the total number of remoting channels registered across all application domains since the application started.
Total Remote Calls
Displays the total number of remote procedure calls invoked since the application started.
Table 8 .NET CLR Remoting Metrics examples.
9- CLR Security Metrics
The metrics in the .NET CLR Security category provide information about code access security checks and how they affect performance.
Metric
Description
Total Runtime Checks
Displays the total number of runtime code access security checks performed since the application started.
Link Time Checks
Displays the total number of link-time code access security checks since the application started.
Table 9 .NET CLR Security Metrics examples.
10- Data Metrics
The metrics in the .NET Data category provide information about ADO.NET data access performance. These counters provide valuable information to effectively measure the data access performance by measuring the utilization and effectiveness of pooling and failed connects.
Metric
Description
SQL Client Failed Commands
Total number of command executions that have failed for any reason.
SQL Client Failed Connects
Total number of connection open attempts that have failed for any reason.
Table 10 .NET Data Metrics examples.
11- CLR Response Metric
The metric in the NetCLR Response category provides information about the status of the Microsoft .NET Framework
Metric
Description
Status
Displays the status of the Microsoft IIS 6.0 target. The status of the target is based on whether the service IISADMIN is running or stopped.
Table 11 .NET CLR Response Metric.