PerformanceMonitor Class

Represents a process performance monitor that operates similar to the Windows Performance Monitor utility that can be used to monitor system performance.

Definition

Namespace: Gemstone.Diagnostics
Assembly: Gemstone.Diagnostics (in Gemstone.Diagnostics.dll) Version: 1.0.128 -- Release Build+d9d157c80da59365061f9bf4a5d1ecd0f0496e1b
public class PerformanceMonitor : PerformanceMonitorBase
Inheritance
Object    PerformanceMonitorBase    PerformanceMonitor

Example

This example shows how to use PerformanceMonitor for monitoring application performance:
C#
using System;
using System.Threading;
using Gemstone.Diagnostics;

class Program
{
    static void Main(string[] args)
    {
        PerformanceMonitor perfMon = new PerformanceMonitor();
        while (true)
        {
            // Display process performance.
            Thread.Sleep(5000);
            Console.WriteLine("");
            Console.Write(perfMon.Status);
        }
    }
}

Constructors

PerformanceMonitor Initializes a new instance of the PerformanceMonitor class.
PerformanceMonitor(Double, Boolean) Initializes a new instance of the PerformanceMonitor class.
PerformanceMonitor(String, Boolean) Initializes a new instance of the PerformanceMonitor class.
PerformanceMonitor(String, Double, Boolean) Initializes a new instance of the PerformanceMonitor class.

Properties

Counters Gets a read-only list of the PerformanceCounter objects monitored by the PerformanceMonitor object.
(Inherited from PerformanceMonitorBase)
CPUUsage Gets the PerformanceCounter that monitors the processor utilization of the monitored process.
HandleCount Gets the PerformanceCounter that monitors the total number of handles currently open by the monitored process.
IOActivity Gets the PerformanceCounter that monitors the rate at which the monitored process is issuing read and write I/O operations.
IOUsage Gets the PerformanceCounter that monitors the rate at which the monitored process is issuing bytes to I/O operations that do not involve data such as control operations.
IPDataReceiveRate Gets the PerformanceCounter that monitors the IP based datagrams received / second of the system.
IPDataSendRate Gets the PerformanceCounter that monitors the IP based datagrams sent / second of the system.
LifetimeStatus Gets the lifetime status statistics of the PerformanceMonitor object.
(Inherited from PerformanceMonitorBase)
MemoryUsage Gets the PerformanceCounter that monitors the memory utilization of the monitored process.
Name Gets the friendly name of the PerformanceMonitor object.
(Overrides PerformanceMonitorBaseName)
ProcessName Gets or sets the name of the Process to be monitored.
SamplingInterval Gets or sets the interval, in milliseconds, at which the Counters are to be sampled.
(Inherited from PerformanceMonitorBase)
Status Gets the current status of the PerformanceMonitorBase object.
(Inherited from PerformanceMonitorBase)
ThreadCount Gets the PerformanceCounter that monitors the number of threads currently active in the monitored process.
ThreadingContentionRate Gets the PerformanceCounter that monitors the .NET threading contention rate / second of the process.

Methods

AddCounter(PerformanceCounter) Adds a PerformanceCounter to be monitored.
(Inherited from PerformanceMonitorBase)
AddCounter(String, String, String) Adds a PerformanceCounter to be monitored.
(Inherited from PerformanceMonitorBase)
AddCounter(String, String, String, String) Adds a PerformanceCounter to be monitored.
(Inherited from PerformanceMonitorBase)
AddCounter(String, String, String, String, String) Adds a PerformanceCounter to be monitored.
(Inherited from PerformanceMonitorBase)
AddCounter(String, String, String, String, String, Single, Boolean, FuncSingle, Single, FuncSingle, Boolean) Adds a PerformanceCounter to be monitored.
(Inherited from PerformanceMonitorBase)
Dispose Releases all the resources used by the PerformanceMonitorBase object.
(Inherited from PerformanceMonitorBase)
Dispose(Boolean) Releases the unmanaged resources used by the PerformanceMonitorBase object and optionally releases the managed resources.
(Inherited from PerformanceMonitorBase)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Finalize Releases the unmanaged resources before the PerformanceMonitor object is reclaimed by GC.
(Overrides PerformanceMonitorBaseFinalize)
FindCounter(String) Returns a PerformanceCounter object matching the specified counter name.
(Inherited from PerformanceMonitorBase)
FindCounter(String, String) Returns a PerformanceCounter object matching the specified counter name.
(Inherited from PerformanceMonitorBase)
FindCounters(String) Returns PerformanceCounter array matching the specified counter name.
(Inherited from PerformanceMonitorBase)
FindCounters(String, String) Returns PerformanceCounter array matching the specified counter name.
(Inherited from PerformanceMonitorBase)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
RemoveCounter Removes a PerformanceCounter being monitored.
(Inherited from PerformanceMonitorBase)
SampleCounters Sample all defined counters.
(Inherited from PerformanceMonitorBase)
SampleCustomCounters Handle sampling of custom counters.
(Overrides PerformanceMonitorBaseSampleCustomCounters)
ToStringReturns a string that represents the current object.
(Inherited from Object)

Fields

ThreadPoolCountersCategoryName Name of the custom thread pool counters category.

See Also