.NET CLR Exceptions(w3wp)\# of Exceps Thrown / sec | The
number of exceptions thrown per second. These include both .NET
exceptions and unmanaged exceptions that get converted into .NET
exceptions (e.g., a null pointer reference exception in unmanaged code
would get rethrown in managed code as a .NET
System.NullReference-Exception). 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. |
.NET CLR Jit(w3wp)\% Time in Jit | The
percentage of elapsed time spent in JIT compilation since the last JIT
compilation phase. This counter is updated at the end of every JIT
compilation phase. A JIT compilation phase is the phase when a method
and its dependencies are being compiled. |
.NET CLR Jit(w3wp)\IL Bytes Jitted / sec | The
total IL bytes jitted since the start of the application. This counter
is exactly equivalent to the “Total # of IL Bytes Jitted” counter. |
.NET CLR Loading(w3wp)\% Time Loading | |
.NET CLR Loading(w3wp)\Current appdomains | 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(w3wp)\Current Assemblies | 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 LocksAndThreads(w3wp)\Queue Length/sec | The
total number of times threads in the CLR have attempted to acquire a
managed lock unsuccessfully. Managed locks can be acquired in many
ways—by the “lock” statement in C#, or by calling System.Monitor.Enter,
or by using MethodImplOptions.Synchronized custom attribute. |
.NET CLR LocksAndThreads(w3wp)\Total # of Contentions | The
total number of times threads in the CLR have attempted to acquire a
managed lock unsuccessfully. Managed locks can be acquired in many
ways—by the “lock” statement in C#, or by calling System.Monitor.Enter,
or by using MethodImplOptions.Synchronized custom attribute. |
.NET CLR Memory(w3wp)\% Time in GC | 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; it is not an average. |
.NET CLR Memory(w3wp)\# Total Committed Bytes | The
amount of virtual memory (in bytes) currently committed by the Garbage
Collector. (Committed memory is the physical memory for which space has
been reserved on the disk paging file.) |
.NET CLR Memory(w3wp)\# Bytes in all Heaps | 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(w3wp)\# Gen 0 Collections | 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(w3wp)\# Gen 1 Collections | 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(w3wp)\# Gen 2 Collections | 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(w3wp)\# Induced GC | The
peak number of times a garbage collection was performed because of an
explicit call to GC.Collect. It’s a good practice to let the GC tune the
frequency of its collections. |
.NET CLR Memory(w3wp)\Allocated Bytes/sec | The
rate of bytes per second allocated on the GC Heap. This counter is
updated at the end of every GC, not at each allocation. 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. |
.NET CLR Memory(w3wp)\Finalization Survivors | The
number of garbage collected objects that survive a collection because
they are waiting to be finalized. If these objects hold references to
other objects, then those objects also survive but are not counted by
this counter; the “Promoted Finalization-Memory from Gen 0” and
“Promoted Finalization-Memory from Gen 1” counters represent all the
memory that survived due to finalization. This counter is not a
cumulative counter; it’s updated at the end of every GC with count of
the survivors during that particular GC only. This counter was designed
to indicate the extra overhead that the application might incur because
of finalization. |
.NET CLR Memory(w3wp)\Gen 0 Heap Size | The
maximum bytes that can be allocated in generation 0 (Gen 0); it does
not indicate the current number of bytes allocated in Gen 0. A Gen 0 GC
is triggered when the allocations since the last GC exceed this size.
The Gen 0 size is tuned by the Garbage Collector and can change during
the execution of the application. At the end of a Gen 0 collection, the
size of the Gen 0 heap is in fact 0 bytes; this counter displays the
size (in bytes) of allocations that would trigger the next Gen 0 GC.
This counter is updated at the end of a GC; it’s not updated on every
allocation. |
.NET CLR Memory(w3wp)\Gen 1 Heap Size | The
current number of bytes in generation 1 (Gen 1); this counter does not
display the maximum size of Gen 1. Objects are not directly allocated in
this generation; they are promoted from previous Gen 0 GCs. This
counter is updated at the end of a GC; it’s not updated on every
allocation. |
.NET CLR Memory(w3wp)\Gen 2 Heap Size | The
current number of bytes in generation 1 (Gen 1); this counter does not
display the maximum size of Gen 1. Objects are not directly allocated in
this generation; they are promoted from previous Gen 0 GCs. This
counter is updated at the end of a GC; it’s not updated on every
allocation. |
.NET CLR Memory(w3wp)\Large Object Heap Size | The
current size of the Large Object Heap in bytes. Objects greater than 20
kilobytes (KB) are treated as large objects by the Garbage Collector
and are directly allocated in a special heap; they are not promoted
through the generations. This counter is updated at the end of a GC;
it’s not updated on every allocation. |
.NET CLR Memory(w3wp)\Process ID | The process ID of the CLR process instance being monitored. |
.NET CLR Security(w3wp)\% Time in RT checks | The
percentage of elapsed time spent in performing run-time Code Access
Security (CAS) checks since the last such check. CAS allows code to be
trusted to varying degrees and enforces these varying levels of trust
depending on code identity. This counter is updated at the end of a
run-time security check. It represents the last observed value; it’s not
an average. |
ASP.NET Applications(__Total__)\Cache Total Trims | Total number of entries forcibly removed from the cache due to memory pressure. |
ASP.NET Applications(__Total__)\Cache Total Entries | Total number of entries within the cache (both internal and user added) |
ASP.NET Applications(__Total__)\Cache Total Hit Ratio | Ratio of hits from all cache calls. |
ASP.NET Applications(__Total__)\Cache Total Turnover Rate | Number of additions and removals to the total cache per second. |
ASP.NET Applications(__Total__)\Output Cache Entries | Current number of entries in the output cache. |
ASP.NET Applications(__Total__)\Output Cache Hits | Total number of output cacheable requests served from the output cache. |
ASP.NET Applications(__Total__)\Output Cache Hit Ratio | Ratio of hits to requests for output cacheable requests. |
ASP.NET Applications(__Total__)\Output Cache Turnover Rate | Number of additions and removals to the output cache per second. |
ASP.NET Applications(__Total__)\Compilations Total | Number of .asax, .ascx, .ashx, .asmx, or .aspx source files dynamically compiled. |
ASP.NET Applications(__Total__)\Errors Total/Sec | Rate of errors occurred. |
ASP.NET Applications(__Total__)\Pipeline Instance Count | Number of active pipeline instances. |
ASP.NET Applications(__Total__)\Requests Executing | The number of requests currently executing. |
ASP.NET Applications(__Total__)\Requests in Application Queue | The number of requests in the application request queue. |
ASP.NET Applications(__Total__)\Requests/Sec | The number of requests executed per second. |
ASP.NET\Application Restarts | Number of times the application has been restarted during the Web server’s lifetime. |
ASP.NET\Request Wait Time | The number of milliseconds the most recent request was waiting in the queue. |
ASP.NET\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\Requests Queued | The number of requests waiting to be processed. |
ASP.NET\Requests Rejected | The number of requests rejected because the request queue was full. |
Web Service(_Total)\Get Requests/sec | The rate at which HTTP requests using the GET method are made. GET requests are the most common HTTP request. |
Web Service(_Total)\Post Requests/sec | The rate at which HTTP requests using the POST method are made. |
Web Service(_Total)\Connection Attempts/sec | The rate that connections to the Web service are being attempted. |
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 at which ISAPI Extension requests are received by the Web service. |
Web Service\Service Uptime | The length of time the Web Service has been running. |
Web Service\Total Method Requests | The number of all HTTP requests (since service startup). |
Web Service Cache\URI Cache Hits % | The ratio of user-mode URI Cache Hits to total cache requests (since service startup). |