Monitor ASP.NET Applications for higher performance and availability with WildMetrix™
Maximize ASP.NET Application performance, availability, and reliability with WildMetrix ASP.NET Application monitoring solutions.
See your website and web applications run live to find the pages and objects which are
taking longest to load or are failing. Correlate page execution with performance
counters of any tier or inter-dependencies and drill on load balanced websites or
distributed web applications.
Benefits
of Monitoring ASP.NET Applications with WildMetrix
Helps administrators detect problems in their Windows Server architecture
Quickly diagnose exactly where and what the problems are
Resolves the problems from a single easy-to-use interface
Gain understanding of entire Windows Server system inside and out
ASP.NET architecture has many components and
interdependencies. Its multi-tiered capabilities
supports scaled-out applications in a distributed
environment. The same web pages can also be loaded
on multiple web servers in a load balanced
architecture to support higher volumes of web
traffic.
Web
Application Analyzer
Analyze web pages from distributed servers as a single application
Locate top page errors, longest running, and top load pages
Gain understanding of entire distributed web performance inside and out
Pages calling asp.net methods, executing sql
statements, and downloading information and files
can slow down the rest of the web application.
Correlation of web pages with performance counters
helps to identify the web pages which are impacting
server and application performance.
Web
Page Correlation
Identify pages impacting server performance
Identify pages that cause delays or errors when other pages are
executing (usually caused by locking)
Correlate page effect on dependant
application layer and
infrastructure
Customizable ASP.NET Application v1.1 Dashboards
Live performance dashboards give you the performance metrics,
and events of ASP.NET Application v1.1 in a single view with quick link
access to powerful analytical charting. Dashboards include:
ASP.NET v1.1 Applications And Loading
ASP.NET v1.1 Cache and Memory
ASP.NET v1.1 Diagnostics
ASP.NET v1.1 Errors and Exceptions
ASP.NET v1.1 Performance Explorer
ASP.NET v1.1 Web Server Requests
Powerful Analytics
The tools make the difference when finding the root-cause of
performance bottlenecks, application faults, and performing trend
analysis. Analytical Charting features include:
Correlation of Live or Historical Data
Drill-Down, Zoom, and Statistic Lines
OpenGL 3D Surface Analysis
Live, Second, Minute, Hourly, and Monthly Data Periods
Powerful Monitoring Solutions
Deployment of pre-built monitoring solutions is as simple as
Drag-n-Drop. Policies are customizable by adding performance
counters and setting your desired collection and retention intervals
as well as alerting rules.
The ASP.NET Application monitoring policy includes:
(click nodes to drill down)
WildMetrix Monitoring Policies
ASP.NET Web Applications v2.0
Application
\ASP.NET v2.0.50727\Application Restarts
Number of times the application has been restarted during the web server's lifetime.
\ASP.NET v2.0.50727\Applications Running
Number of currently running web applications.
\ASP.NET v2.0.50727\Worker Process Restarts
Number of times a worker process has restarted on the machine.
\ASP.NET v2.0.50727\Worker Processes Running
Number of worker processes running on the machine.
Cache
\ASP.NET Apps v2.0.50727(__Total__)\Cache API Entries
Total number of entries within the cache added by the user.
\ASP.NET Apps v2.0.50727(__Total__)\Cache API Hit Ratio
Ratio of hits called from user code.
\ASP.NET Apps v2.0.50727(__Total__)\Cache API Turnover Rate
Number of additions and removals to the API cache per second.
\ASP.NET Apps v2.0.50727(__Total__)\Cache Total Entries
Total number of entries within the cache (both internal and user added)
\ASP.NET Apps v2.0.50727(__Total__)\Cache Total Hit Ratio
Ratio of hits from all cache calls.
\ASP.NET Apps v2.0.50727(__Total__)\Cache Total Turnover Rate
Number of additions and removals to the total cache per second.
Errors
\ASP.NET Apps v2.0.50727(__Total__)\Errors During Compilation
Number of errors that have occurred during compilation.
\ASP.NET Apps v2.0.50727(__Total__)\Errors During Execution
Number of errors that have occurred during the processing of a request.
\ASP.NET Apps v2.0.50727(__Total__)\Errors During Preprocessing
Number of errors that have occurred during parsing and configuration.
\ASP.NET Apps v2.0.50727(__Total__)\Errors Unhandled During Execution
Number of errors not handled by user code, but by the default error handler.
Exceptions
\.NET CLR Exceptions(_Global_)\# of Exceps Thrown / sec
This counter displays the number of exceptions thrown per second. These include both .NET exceptions and unmanaged exceptions that get converted into .NET exceptions e.g. null pointer reference exception in unmanaged code would get re-thrown in managed code as a .NET System.NullReferenceException; this counter includes both handled and unhandled exceptions. Exceptions should only occur in rare situations and not in the normal control flow of the program; this counter was designed as an indicator of potential performance problems due to large (>100s) rate of exceptions thrown. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval.
Loading
\.NET CLR Interop(_Global_)\# of Stubs
This counter displays the current number of stubs created by the CLR. Stubs are responsible for marshalling arguments and return values from managed to unmanaged code and vice versa; during a COM Interop call or PInvoke call.
\.NET CLR Loading(_Global_)\Bytes in Loader Heap
This counter displays the current size (in bytes) of the memory committed by the class loader across all AppDomains. (Committed memory is the physical memory for which space has been reserved on the disk paging file.)
\.NET CLR Loading(_Global_)\Current appdomains
This counter displays the current number of AppDomains loaded in this application. AppDomains (application domains) provide a secure and versatile unit of processing that the CLR can use to provide isolation between applications running in the same process.
\.NET CLR Loading(_Global_)\Current Assemblies
This counter displays the current number of Assemblies loaded across all AppDomains in this application. If the Assembly is loaded as domain-neutral from multiple AppDomains then this counter is incremented once only. Assemblies can be loaded as domain-neutral when their code can be shared by all AppDomains or they can be loaded as domain-specific when their code is private to the AppDomain.
\.NET CLR Loading(_Global_)\Rate of Assemblies
This counter displays the number of Assemblies loaded across all AppDomains per second. If the Assembly is loaded as domain-neutral from multiple AppDomains then this counter is incremented once only. Assemblies can be loaded as domain-neutral when their code can be shared by all AppDomains or they can be loaded as domain-specific when their code is private to the AppDomain. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval.
Logging
\Extended:Server()\IISWebLog
The IISWeblog extended counter is a real-time provider a IIS website requests.
It is import to note that the ISAPI Logging Filter must be installed on specific devices when adding IIS counters.
W3SVC - Long Page Request Duration
W3SVC - Not found
W3SVC - Precondition Failed
W3SVC - Server access denied
W3SVC - Server internal error
W3SVC - URI Too Long
\Extended:Server\EventLog
The EventLog extended counter is a real-time provider of event log data. The counter captures all events from the event logs.
.NET Runtime
ASP-Related Error
ASP.NET Application
ASP.NET Application
Core WWW Service Event
IIS 6 CMD Failed to execute
IIS 6 A physical path was used. Invalid path
IIS 6 A server side include depth has been exceeded
IIS 6 Access denied Cannot process file
IIS 6 Cannot launch out of process component
IIS 6 FTP Server couldnt initialize security
IIS 6 FTP unable to initialize shortage of memory.
IIS 6 HTTP Server couldnt initialize its security
IIS 6 Lack of EXECUTE permission
IIS 6 No license for a SSL connection
IIS 6 Security error occurred while processing a users security credentials
IIS 6 Service not started HTTP Server shortage of available memory
IIS 6 The certificate may be invalid expired
IIS 6 The server certificate has been revoked
IIS 6 The server certificate has expired or is not yet valid
IIS 6 Too many concurrent users
IIS 6 User denied access to the current directory
IIS 6 User failed to log on, no access to home directory
IIS 6 WWW Publishing Service failed to enable bandwidth throttling
IIS Start command
IIS Stop command
ODBC Driver Errors Returned by IIS
Server-Side Includes Event
WWW Service Performance Counter
WWW Service Worker Process Event
WWW Service-Related Event
\Extended:Server\ServiceLog
The ServiceLog extended counter is a query to check for status changes of registered services. Status changes include Running, Stopping, Stopped, and Starting.
ASP .NET State Service Stopped
Memory
\.NET CLR Memory(_Global_)\# Bytes in all Heaps
This counter is the sum of four other counters; Gen 0 Heap Size; Gen 1 Heap Size; Gen 2 Heap Size and the Large Object Heap Size. This counter indicates the current memory allocated in bytes on the GC Heaps.
\.NET CLR Memory(_Global_)\# Gen 0 Collections
This counter displays the number of times the generation 0 objects (youngest; most recently allocated) are garbage collected (Gen 0 GC) since the start of the application. Gen 0 GC occurs when the available memory in generation 0 is not sufficient to satisfy an allocation request. This counter is incremented at the end of a Gen 0 GC. Higher generation GCs include all lower generation GCs. This counter is explicitly incremented when a higher generation (Gen 1 or Gen 2) GC occurs. _Global_ counter value is not accurate and should be ignored. This counter displays the last observed value.
\.NET CLR Memory(_Global_)\# Gen 1 Collections
This counter displays the number of times the generation 1 objects are garbage collected since the start of the application. The counter is incremented at the end of a Gen 1 GC. Higher generation GCs include all lower generation GCs. This counter is explicitly incremented when a higher generation (Gen 2) GC occurs. _Global_ counter value is not accurate and should be ignored. This counter displays the last observed value.
\.NET CLR Memory(_Global_)\# Gen 2 Collections
This counter displays the number of times the generation 2 objects (older) are garbage collected since the start of the application. The counter is incremented at the end of a Gen 2 GC (also called full GC). _Global_ counter value is not accurate and should be ignored. This counter displays the last observed value.
\.NET CLR Memory(_Global_)\# Induced GC
This counter displays the peak number of times a garbage collection was performed because of an explicit call to GC.Collect. Its a good practice to let the GC tune the frequency of its collections.
\.NET CLR Memory(_Global_)\% Time in GC
% Time in GC is the percentage of elapsed time that was spent in performing a garbage collection (GC) since the last GC cycle. This counter is usually an indicator of the work done by the Garbage Collector on behalf of the application to collect and compact memory. This counter is updated only at the end of every GC and the counter value reflects the last observed value; its not an average.
Above average amount of resources being used for garbage collecting
High amount of resources being used for garbage collecting
Processes
\Process(inetinfo)\% Processor Time
% Processor Time is the percentage of elapsed time that all of process threads used the processor to execution instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count.
\Process(inetinfo)\Handle Count
The total number of handles currently open by this process. This number is equal to the sum of the handles currently open by each thread in this process.
\Process(inetinfo)\IO Read Bytes/sec
The rate at which the process is reading bytes from I/O operations. This counter counts all I/O activity generated by the process to include file, network and device I/Os.
\Process(inetinfo)\IO Write Bytes/sec
The rate at which the process is writing bytes to I/O operations. This counter counts all I/O activity generated by the process to include file, network and device I/Os.
\Process(inetinfo)\Page Faults/sec
Page Faults/sec is the rate at which page faults by the threads executing in this process are occurring. A page fault occurs when a thread refers to a virtual memory page that is not in its working set in main memory. This may not cause the page to be fetched from disk if it is on the standby list and hence already in main memory, or if it is in use by another process with whom the page is shared.
\Process(inetinfo)\Private Bytes
Working Set is the current size, in bytes, of the Working Set of this process. The Working Set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the Working Set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from Working Sets. If they are needed they will then be soft-faulted back into the Working Set before leaving main memory.
\Process(inetinfo)\Thread Count
The number of threads currently active in this process. An instruction is the basic unit of execution in a processor, and a thread is the object that executes instructions. Every running process has at least one thread.
\Process(inetinfo)\Virtual Bytes
Virtual Bytes is the current size, in bytes, of the virtual address space the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite, and the process can limit its ability to load libraries.
\Process(inetinfo)\Working Set
Working Set is the current size, in bytes, of the Working Set of this process. The Working Set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the Working Set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from Working Sets. If they are needed they will then be soft-faulted back into the Working Set before leaving main memory.
\Process(w3wp)\% Processor Time
% Processor Time is the percentage of elapsed time that all of process threads used the processor to execution instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count.
\Process(w3wp)\Handle Count
The total number of handles currently open by this process. This number is equal to the sum of the handles currently open by each thread in this process.
\Process(w3wp)\IO Read Bytes/sec
The rate at which the process is reading bytes from I/O operations. This counter counts all I/O activity generated by the process to include file, network and device I/Os.
\Process(w3wp)\IO Write Bytes/sec
The rate at which the process is writing bytes to I/O operations. This counter counts all I/O activity generated by the process to include file, network and device I/Os.
\Process(w3wp)\Page Faults/sec
Page Faults/sec is the rate at which page faults by the threads executing in this process are occurring. A page fault occurs when a thread refers to a virtual memory page that is not in its working set in main memory. This may not cause the page to be fetched from disk if it is on the standby list and hence already in main memory, or if it is in use by another process with whom the page is shared.
\Process(w3wp)\Private Bytes
Private Bytes is the current size, in bytes, of memory that this process has allocated that cannot be shared with other processes.
\Process(w3wp)\Thread Count
The number of threads currently active in this process. An instruction is the basic unit of execution in a processor, and a thread is the object that executes instructions. Every running process has at least one thread.
\Process(w3wp)\Virtual Bytes
Virtual Bytes is the current size, in bytes, of the virtual address space the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite, and the process can limit its ability to load libraries.
\Process(w3wp)\Working Set
Working Set is the current size, in bytes, of the Working Set of this process. The Working Set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the Working Set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from Working Sets. If they are needed they will then be soft-faulted back into the Working Set before leaving main memory.
Requests
\ASP.NET Apps v2.0.50727(__Total__)\Compilations Total
Number of .asax, .ascx, .ashx, .asmx, or .aspx source files dynamically compiled.
\ASP.NET Apps v2.0.50727(__Total__)\Errors During Execution
Number of errors that have occurred during the processing of a request.
\ASP.NET v2.0.50727\Request Execution Time
The number of milliseconds that it took to execute the most recent request.
\ASP.NET v2.0.50727\Request Wait Time
The number of milliseconds the most recent request was waiting in the queue.
\ASP.NET v2.0.50727\Requests Current
The current number of requests, including those that are queued, currently executing, or waiting to be written to the client. Under the ASP.NET process model, when this counter exceeds the requestQueueLimit defined in the processModel configuration section, ASP.NET will begin rejecting requests.
\ASP.NET v2.0.50727\Requests Queued
The number of requests waiting to be processed.
\ASP.NET v2.0.50727\Requests Rejected
The number of requests rejected because the request queue was full.
Web Services
\Web Service(_Total)\Current Connections
Current Connections is the current number of connections established with the Web service.
\Web Service(_Total)\ISAPI Extension Requests/sec
The rate that ISAPI Extension requests are received by the Web service.