BACK TO INDEX

Win32_PerfFormattedData_NETFramework_NETCLRLocksAndThreads
Stats for CLR Locks and Threads.
NameSpace Path
\ROOT\CIMV2
PROPERTYSMS_REPORTCIMTYPEDESCRIPTION
CaptionStringA short textual description (one-line string) for the statistic or metric.
ContentionRatePersecUInt32Rate at which threads in the runtime attempt 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.
CurrentQueueLengthUInt32This counter displays the total number of threads currently waiting to acquire some managed lock in the application. This counter is not an average over time; it displays the last observed value.
DescriptionStringA textual description of the statistic or metric.
Frequency_ObjectUInt64NA
Frequency_PerfTimeUInt64NA
Frequency_Sys100NSUInt64NA
NameStringThe Name property defines the label by which the statistic or metric is known. When subclassed, the property can be overridden to be a Key property.
NumberofcurrentlogicalThreadsUInt32This counter displays the number of current .NET thread objects in the application. A .NET thread object is created either by new System.Threading.Thread or when an unmanaged thread enters the managed environment. This counters maintains the count of both running and stopped threads. This counter is not an average over time; it just displays the last observed value.
NumberofcurrentphysicalThreadsUInt32This counter displays the number of native OS threads created and owned by the CLR to act as underlying threads for .NET thread objects. This counters value does not include the threads used by the CLR in its internal operations; it is a subset of the threads in the OS process.
NumberofcurrentrecognizedthreadsUInt32This counter displays the number of threads that are currently recognized by the CLR; they have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice.
NumberoftotalrecognizedthreadsUInt32This counter displays the total number of threads that have been recognized by the CLR since the start of this application; these threads have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice.
QueueLengthPeakUInt32This counter displays the total number of threads that waited to acquire some managed lock since the start of the application.
QueueLengthPersecUInt32This counter displays the number of threads per second waiting to acquire some lock in the application. 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.
rateofrecognizedthreadsPersecUInt32This counter displays the number of threads per second that have been recognized by the CLR; these threads have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice. 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.
Timestamp_ObjectUInt64NA
Timestamp_PerfTimeUInt64NA
Timestamp_Sys100NSUInt64NA
TotalNumberofContentionsUInt32This counter displays 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.
SAMPLE DATA INSTANCE
   [Description("Stats for CLR Locks and Threads."): ToInstance Amended, DisplayName(".NET CLR LocksAndThreads"): ToInstance Amended, genericperfctr: ToInstance Amended, locale(1033): ToInstance Amended]
   instance of Win32_PerfFormattedData_NETFramework_NETCLRLocksAndThreads
   {
    [Description("Rate at which threads in the runtime attempt 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."): ToInstance Amended, DisplayName("Contention Rate / sec"): ToInstance Amended] ContentionRatePersec = 0;
    [Description("This counter displays the total number of threads currently waiting to acquire some managed lock in the application. This counter is not an average over time; it displays the last observed value."): ToInstance Amended, DisplayName("Current Queue Length"): ToInstance Amended] CurrentQueueLength = 0;
    Name = "_Global_";
    [Description("This counter displays the number of current .NET thread objects in the application. A .NET thread object is created either by new System.Threading.Thread or when an unmanaged thread enters the managed environment. This counters maintains the count of both running and stopped threads. This counter is not an average over time; it just displays the last observed value."): ToInstance Amended, DisplayName("# of current logical Threads"): ToInstance Amended] NumberofcurrentlogicalThreads = 50;
    [Description("This counter displays the number of native OS threads created and owned by the CLR to act as underlying threads for .NET thread objects. This counters value does not include the threads used by the CLR in its internal operations; it is a subset of the threads in the OS process."): ToInstance Amended, DisplayName("# of current physical Threads"): ToInstance Amended] NumberofcurrentphysicalThreads = 37;
    [Description("This counter displays the number of threads that are currently recognized by the CLR; they have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice."): ToInstance Amended, DisplayName("# of current recognized threads"): ToInstance Amended] Numberofcurrentrecognizedthreads = 13;
    [Description("This counter displays the total number of threads that have been recognized by the CLR since the start of this application; these threads have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice."): ToInstance Amended, DisplayName("# of total recognized threads"): ToInstance Amended] Numberoftotalrecognizedthreads = 70;
    [Description("This counter displays the total number of threads that waited to acquire some managed lock since the start of the application."): ToInstance Amended, DisplayName("Queue Length Peak"): ToInstance Amended] QueueLengthPeak = 0;
    [Description("This counter displays the number of threads per second waiting to acquire some lock in the application. 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."): ToInstance Amended, DisplayName("Queue Length / sec"): ToInstance Amended] QueueLengthPersec = 0;
    [Description("This counter displays the number of threads per second that have been recognized by the CLR; these threads have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice. 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."): ToInstance Amended, DisplayName("rate of recognized threads / sec"): ToInstance Amended] rateofrecognizedthreadsPersec = 0;
    [Description("This counter displays 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."): ToInstance Amended, DisplayName("Total # of Contentions"): ToInstance Amended] TotalNumberofContentions = 155;
   };