System.Threading.TThreadPoolStats

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

  TThreadPoolStats = record
  private
    FWorkerThreadCount: Integer;
    FMinLimitWorkerThreadCount: Integer;
    FMaxLimitWorkerThreadCount: Integer;
    FIdleWorkerThreadCount: Integer;
    FQueuedRequestCount: Integer;
    FRetiredWorkerThreadCount: Integer;
    FAverageCPUUsage: Integer;
    FCurrentCPUUsage: Integer;
    FThreadSuspended: Integer;
    FLastSuspendTick: Cardinal;
    FLastThreadCreationTick: Cardinal;
    FLastQueuedRequestCount: Integer;
    class function GetThreadPoolStats(const Pool: TThreadPool): TThreadPoolStats; static;
    class function GetCurrentThreadPoolStats: TThreadPoolStats; static; inline;
    class function GetDefaultThreadPoolStats: TThreadPoolStats; static; inline;
  public
    property WorkerThreadCount: Integer read FWorkerThreadCount;
    property MinLimitWorkerThreadCount: Integer read FMinLimitWorkerThreadCount;
    property MaxLimitWorkerThreadCount: Integer read FMaxLimitWorkerThreadCount;
    property IdleWorkerThreadCount: Integer read FIdleWorkerThreadCount;
    property QueuedRequestCount: Integer read FQueuedRequestCount;
    property RetiredWorkerThreadCount: Integer read FRetiredWorkerThreadCount;
    property AverageCPUUsage: Integer read FAverageCPUUsage;
    property CurrentCPUUsage: Integer read FCurrentCPUUsage;
    property ThreadSuspended: Integer read FThreadSuspended;
    property LastSuspendTick: Cardinal read FLastSuspendTick;
    property LastThreadCreationTick: Cardinal read FLastThreadCreationTick;
    property LastQueuedRequestCount: Integer read FLastQueuedRequestCount;
    class property Current: TThreadPoolStats read GetCurrentThreadPoolStats;
    class property Default: TThreadPoolStats read GetDefaultThreadPoolStats;
  end;

C++

struct DECLSPEC_DRECORD TThreadPoolStats
{
private:
    int FWorkerThreadCount;
    int FMinLimitWorkerThreadCount;
    int FMaxLimitWorkerThreadCount;
    int FIdleWorkerThreadCount;
    int FQueuedRequestCount;
    int FRetiredWorkerThreadCount;
    int FAverageCPUUsage;
    int FCurrentCPUUsage;
    int FThreadSuspended;
    unsigned FLastSuspendTick;
    unsigned FLastThreadCreationTick;
    int FLastQueuedRequestCount;
    static TThreadPoolStats __fastcall GetThreadPoolStats(TThreadPool* const Pool);
    static TThreadPoolStats __fastcall GetCurrentThreadPoolStats();
    static TThreadPoolStats __fastcall GetDefaultThreadPoolStats();
public:
    __property int WorkerThreadCount = {read=FWorkerThreadCount};
    __property int MinLimitWorkerThreadCount = {read=FMinLimitWorkerThreadCount};
    __property int MaxLimitWorkerThreadCount = {read=FMaxLimitWorkerThreadCount};
    __property int IdleWorkerThreadCount = {read=FIdleWorkerThreadCount};
    __property int QueuedRequestCount = {read=FQueuedRequestCount};
    __property int RetiredWorkerThreadCount = {read=FRetiredWorkerThreadCount};
    __property int AverageCPUUsage = {read=FAverageCPUUsage};
    __property int CurrentCPUUsage = {read=FCurrentCPUUsage};
    __property int ThreadSuspended = {read=FThreadSuspended};
    __property unsigned LastSuspendTick = {read=FLastSuspendTick};
    __property unsigned LastThreadCreationTick = {read=FLastThreadCreationTick};
    __property int LastQueuedRequestCount = {read=FLastQueuedRequestCount};
    /* static */ __property TThreadPoolStats Current = {read=GetCurrentThreadPoolStats};
    /* static */ __property TThreadPoolStats Default = {read=GetDefaultThreadPoolStats};
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.Threading.pas
System.Threading.hpp
System.Threading System.Threading

Description

This record is used to grab a "snapshot" of a threadpool's internal state.

This is useful in peering into the inner workings of a threadpool for diagnostic purposes. This snapshot may not be strictly accurate because the accessed threadpool continues to run.

Do not depend on this structure for anything other than simply hinting at the internal state.