318 lines
16 KiB
C++
318 lines
16 KiB
C++
#pragma once
|
|
|
|
#ifdef MONITOR_EXPORTS
|
|
#define MONITOR_API __declspec(dllexport)
|
|
#else
|
|
#define MONITOR_API __declspec(dllimport)
|
|
#endif
|
|
|
|
#include <list>
|
|
#include <string>
|
|
using namespace std;
|
|
|
|
class MONITOR_API Common
|
|
{
|
|
public:
|
|
static string WideStringToString(const wstring & str);
|
|
static wstring StringToWideString(const string & str);
|
|
static double GetCounterValue(const wchar_t * fullCounterPath);
|
|
static double GetCounterValueWithIdle(const wchar_t * fullCounterPath,int idleTime);
|
|
static list<wstring> GetInstanceName(const wchar_t * objectName);
|
|
static list<wstring> GetCounterList(const wchar_t * objectName);
|
|
};
|
|
|
|
class MONITOR_API LogicalDisk
|
|
{
|
|
public:
|
|
static list<wstring> GetInstances();
|
|
static list<wstring> GetCounterList();
|
|
static double GetFreeSpacePercent(const wchar_t * instanceName);
|
|
static double GetFreeMegabytes(const wchar_t * instanceName);
|
|
static double GetCurrentDiskQueueLength(const wchar_t * instanceName);
|
|
static double GetDiskTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskQueueLength(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskReadTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskReadQueueLength(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskWriteTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskWriteQueueLength(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskTransferTimeInSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskReadTimeInSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskWriteTimeInSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskTransfersPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskReadsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskWritesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskReadBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskWriteBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskBytesPerTransfer(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskBytesPerRead(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskBytesPerWrite(const wchar_t * instanceName, int idleTime);
|
|
static double GetIdleTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetSplitIOPerSecond(const wchar_t * instanceName, int idleTime);
|
|
};
|
|
|
|
class MONITOR_API Memory
|
|
{
|
|
public:
|
|
static list<wstring> GetCounterList();
|
|
static double GetPageFaultsPerSecond(int idleTime);
|
|
static double GetAvailableBytes();
|
|
static double GetCommittedBytes();
|
|
static double GetCommitLimit();
|
|
static double GetWriteCopiesPerSecond(int idleTime);
|
|
static double GetTransitionFaultsPerSecond(int idleTime);
|
|
static double GetCacheFaultsPerSecond(int idleTime);
|
|
static double GetDemandZeroFaultsPerSecond(int idleTime);
|
|
static double GetPagesPerSecond(int idleTime);
|
|
static double GetPagesInputPerSecond(int idleTime);
|
|
static double GetPageReadsPerSecond(int idleTime);
|
|
static double GetPagesOutputPerSecond(int idleTime);
|
|
static double GetPoolPagedBytes();
|
|
static double GetPoolNonpagedBytes();
|
|
static double GetPageWritesPerSecond(int idleTime);
|
|
static double GetPoolPagedAllocs();
|
|
static double GetPoolNonpagedAllocs();
|
|
static double GetFreeSystemPageTableEntries();
|
|
static double GetCacheBytes();
|
|
static double GetCacheBytesPeak();
|
|
static double GetPoolPagedResidentBytes();
|
|
static double GetSystemCodeTotalBytes();
|
|
static double GetSystemCodeResidentBytes();
|
|
static double GetSystemDriverTotalBytes();
|
|
static double GetSystemDriverResidentBytes();
|
|
static double GetSystemCacheResidentBytes();
|
|
static double GetCommittedBytesInUsePercent();
|
|
static double GetAvailableKiloBytes();
|
|
static double GetAvailableMegaBytes();
|
|
static double GetTransitionPagesRepurposedPerSecond(int idleTime);
|
|
static double GetFreeAndZeroPageListBytes();
|
|
static double GetModifiedPageListBytes();
|
|
static double GetStandbyCacheReserveBytes();
|
|
static double GetStandbyCacheNormalPriorityBytes();
|
|
static double GetStandbyCacheCoreBytes();
|
|
static double GetLongTermAverageStandbyCacheLifetimes();
|
|
};
|
|
|
|
class MONITOR_API NetworkInterface
|
|
{
|
|
public:
|
|
static list<wstring> GetInstances();
|
|
static list<wstring> GetCounterList();
|
|
static double GetBytesTotalPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsReceivedPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsSentPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetCurrentBandwidth(const wchar_t * instanceName);
|
|
static double GetBytesReceivedPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsReceivedUnicastPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsReceivedNonUnicastPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsReceivedDiscarded(const wchar_t * instanceName);
|
|
static double GetPacketsReceivedErrors(const wchar_t * instanceName);
|
|
static double GetPacketsReceivedUnknown(const wchar_t * instanceName);
|
|
static double GetBytesSentPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsSentUnicastPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsSentNonUnicastPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPacketsOutboundDiscarded(const wchar_t * instanceName);
|
|
static double GetPacketsOutboundErrors(const wchar_t * instanceName);
|
|
static double GetOutputQueueLength(const wchar_t * instanceName);
|
|
static double GetOffloadedConnections(const wchar_t * instanceName);
|
|
static double GetTcpActiveRscConnections(const wchar_t * instanceName);
|
|
static double GetTcpRscCoalescedPacketsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetTcpRscExceptionsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetTcpRscAveragePacketSize(const wchar_t * instanceName);
|
|
};
|
|
|
|
class MONITOR_API PhysicalDisk
|
|
{
|
|
public:
|
|
static list<wstring> GetInstances();
|
|
static list<wstring> GetCounterList();
|
|
static double GetCurrentDiskQueueLength(const wchar_t * instanceName);
|
|
static double GetDiskTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskQueueLength(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskReadTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskReadQueueLength(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskWriteTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskWriteQueueLength(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskTransferTimeInSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskReadTimeInSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskWriteTimeInSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskTransfersPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskReadsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskWritesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskReadBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDiskWriteBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskBytesPerTransfer(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskBytesPerRead(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageDiskBytesPerWrite(const wchar_t * instanceName, int idleTime);
|
|
static double GetIdleTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetSplitIOPerSecond(const wchar_t * instanceName, int idleTime);
|
|
};
|
|
|
|
class MONITOR_API Process
|
|
{
|
|
public:
|
|
static list<wstring> GetInstances();
|
|
static list<wstring> GetCounterList();
|
|
static double GetProcessorTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetUserTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetPrivilegedTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetVirtualBytesPeak(const wchar_t * instanceName);
|
|
static double GetVirtualBytes(const wchar_t * instanceName);
|
|
static double GetPageFaultsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetWorkingSetPeak(const wchar_t * instanceName);
|
|
static double GetWorkingSet(const wchar_t * instanceName);
|
|
static double GetPageFileBytesPeak(const wchar_t * instanceName);
|
|
static double GetPageFileBytes(const wchar_t * instanceName);
|
|
static double GetPrivateBytes(const wchar_t * instanceName);
|
|
static double GetThreadCount(const wchar_t * instanceName);
|
|
static double GetPriorityBase(const wchar_t * instanceName);
|
|
static double GetElapsedTime(const wchar_t * instanceName);
|
|
static double GetProcessId(const wchar_t * instanceName);
|
|
static double GetCreatingProcessId(const wchar_t * instanceName);
|
|
static double GetPoolPagedBytes(const wchar_t * instanceName);
|
|
static double GetPoolNonpagedBytes(const wchar_t * instanceName);
|
|
static double GetHandleCount(const wchar_t * instanceName);
|
|
static double GetIOReadOperationsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetIOWriteOperationsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetIODataOperationsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetIOOtherOperationsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetIOReadBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetIOWriteBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetIODataBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetIOOtherBytesPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPrivateWorkingSet(const wchar_t * instanceName);
|
|
};
|
|
|
|
class MONITOR_API Processor
|
|
{
|
|
public:
|
|
static list<wstring> GetInstances();
|
|
static list<wstring> GetCounterList();
|
|
static double GetProcessorTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetUserTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetPrivilegedTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetInterruptsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDpcTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetInterruptTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetDpcsQueuedPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetDpcRate(const wchar_t * instanceName);
|
|
static double GetIdleTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetC1TimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetC2TimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetC3TimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetC1TransitionsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetC2TransitionsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetC3TransitionsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
};
|
|
|
|
class MONITOR_API ProcessorInformation
|
|
{
|
|
public:
|
|
static list<wstring> GetInstances();
|
|
static list<wstring> GetCounterList();
|
|
static double GetPerformanceLimitFlags(const wchar_t * instanceName);
|
|
static double GetPerformanceLimitPercent(const wchar_t * instanceName);
|
|
static double GetPrivilegedUtilityPercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetProcessorUtilityPercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetProcessorPerformancePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetIdleBreakEventsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetAverageIdleTime(const wchar_t * instanceName, int idleTime);
|
|
static double GetClockInterruptsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetProcessorStateFlags(const wchar_t * instanceName);
|
|
static double GetPercentageOfMaximumFrequency(const wchar_t * instanceName);
|
|
static double GetProcessorFrequency(const wchar_t * instanceName);
|
|
static double GetParkingStatus(const wchar_t * instanceName);
|
|
static double GetPriorityTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetC3TransitionsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetC2TransitionsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetC1TransitionsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetC3TimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetC2TimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetC1TimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetIdleTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetDpcRate(const wchar_t * instanceName);
|
|
static double GetDpcsQueuedPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetInterruptTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetDpcTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetInterruptsPerSecond(const wchar_t * instanceName, int idleTime);
|
|
static double GetPrivilegedTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetUserTimePercent(const wchar_t * instanceName, int idleTime);
|
|
static double GetProcessorTimePercent(const wchar_t * instanceName, int idleTime);
|
|
};
|
|
|
|
class MONITOR_API System
|
|
{
|
|
public:
|
|
static list<wstring> GetCounterList();
|
|
static double GetFileReadOperationsPerSecond(int idleTime);
|
|
static double GetFileWriteOperationsPerSecond(int idleTime);
|
|
static double GetFileControlOperationsPerSecond(int idleTime);
|
|
static double GetFileReadBytesPerSecond(int idleTime);
|
|
static double GetFileWriteBytesPerSecond(int idleTime);
|
|
static double GetFileControlBytesPerSecond(int idleTime);
|
|
static double GetContextSwitchesPerSecond(int idleTime);
|
|
static double GetSystemCallsPerSecond(int idleTime);
|
|
static double GetFileDataOperationsPerSecond(int idleTime);
|
|
static double GetSystemUpTime();
|
|
static double GetProcessorQueueLength();
|
|
static double GetProcessesCount();
|
|
static double GetThreadsCount();
|
|
static double GetAlignmentFixupsPerSecond(int idleTime);
|
|
static double GetExceptionDispatchesPerSecond(int idleTime);
|
|
static double GetFloatingEmulationsPerSecond(int idleTime);
|
|
static double GetRegistryQuotaInUsePercent();
|
|
};
|
|
|
|
class MONITOR_API TCPv4
|
|
{
|
|
public:
|
|
static list<wstring> GetCounterList();
|
|
static double GetSegmentsPerSecond(int idleTime);
|
|
static double GetConnectionsEstablished();
|
|
static double GetConnectionsActive();
|
|
static double GetConnectionsPassive();
|
|
static double GetConnectionFailures();
|
|
static double GetConnectionsReset();
|
|
static double GetSegmentsReceivedPerSecond(int idleTime);
|
|
static double GetSegmentsSentPerSecond(int idleTime);
|
|
static double GetSegmentsRetransmittedPerSecond(int idleTime);
|
|
};
|
|
|
|
class MONITOR_API TCPv6
|
|
{
|
|
public:
|
|
static list<wstring> GetCounterList();
|
|
static double GetSegmentsPerSecond(int idleTime);
|
|
static double GetConnectionsEstablished();
|
|
static double GetConnectionsActive();
|
|
static double GetConnectionsPassive();
|
|
static double GetConnectionFailures();
|
|
static double GetConnectionsReset();
|
|
static double GetSegmentsReceivedPerSecond(int idleTime);
|
|
static double GetSegmentsSentPerSecond(int idleTime);
|
|
static double GetSegmentsRetransmittedPerSecond(int idleTime);
|
|
};
|
|
|
|
class MONITOR_API UDPv4
|
|
{
|
|
public:
|
|
static list<wstring> GetCounterList();
|
|
static double GetDatagramsPerSecond(int idleTime);
|
|
static double GetDatagramsReceivedPerSecond(int idleTime);
|
|
static double GetDatagramsNoPortPerSecond(int idleTime);
|
|
static double GetDatagramsReceivedErrors();
|
|
static double GetDatagramsSentPerSecond(int idleTime);
|
|
};
|
|
|
|
class MONITOR_API UDPv6
|
|
{
|
|
public:
|
|
static list<wstring> GetCounterList();
|
|
static double GetDatagramsPerSecond(int idleTime);
|
|
static double GetDatagramsReceivedPerSecond(int idleTime);
|
|
static double GetDatagramsNoPortPerSecond(int idleTime);
|
|
static double GetDatagramsReceivedErrors();
|
|
static double GetDatagramsSentPerSecond(int idleTime);
|
|
}; |