Technics‎ > ‎

.NET Framework

Introduction


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.


.NET FRAMEWORK Metrics


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.

MetricDescription
Exceptions ThrownThis counter indicates the total number of exceptions generated in managed code since the application restarted.
Exceptions Thrown Per Sec 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.
MetricDescription
CCWs 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.
Marshalling 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.
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.

MetricDescription
Methods Jitted Displays the total number of methods JIT-compiled since the application started.
Standard Jit Failures 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.

MetricDescription
Load Failures Displays the peak number of classes that have failed to load since the application started.
Current Classes Loaded 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 Description
Current Logical Threads Displays the number of current managed thread objects in the application.
Current Physical Threads 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 Description
Bytes in All Heaps Displays the current memory allocated in bytes on the garbage collection heaps.
Sink Blocks in Use 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.







References