Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

169 lines
8.3 KiB

// **************************************************************************
// Copyright (c) 1997-1999 Microsoft Corporation
//
// File: AppStatsProv.mof
//
// Description:
// Creates the ComPlusAppStats class and associated registration entries
//
// History:
//
// **************************************************************************
#pragma autorecover
#pragma namespace("\\root\\cimv2")
instance of __Namespace
{
Name = "MicrosoftHealthMonitor" ;
} ;
#pragma namespace("\\root\\cimv2\\MicrosoftHealthMonitor")
instance of __Win32Provider as $P
{
Name = "MicrosoftComPlus_AppStats" ;
ClsId = "{44262D4C-372F-4C89-BAF7-9A2C2A437B2F}" ;
} ;
instance of __InstanceProviderRegistration
{
Provider = $P;
SupportsPut = FALSE;
SupportsGet = TRUE;
SupportsDelete = FALSE;
SupportsEnumeration = FALSE;
};
/////////////////////////////////////////////////////////////////////
//
// Declare a class whose dynamic instances are provided by the
// sample provider.
[dynamic, provider("MicrosoftComPlus_AppStats"), Description("This class provides statistics for a COM+ App and process statistics for the associated process if the COM+ App is running")]
class MicrosoftComPlus_AppStats
{
[Key, Description("COM+ App Name")]
string AppName;
[Key, Description("Number of seconds to monitor without a query")]
sint32 MaxIdleTime;
[Description("Committed transactions since monitoring began")]
sint32 TotalCommittedTransactions;
[Description("Committed transactions per second since the last query")]
real32 CommittedTransactionsPerSecond;
[Description("Aborted transactions since monitoring began")]
sint32 TotalAbortedTransactions;
[Description("Aborted transactions per second since the last query")]
real32 AbortedTransactionsPerSecond;
[Description("Object creations since monitoring began")]
sint32 TotalObjectCreations;
[Description("Object creations per second since the last query")]
real32 ObjectCreationsPerSecond;
[Description("Object activations since monitoring began")]
sint32 TotalObjectActivations;
[Description("Object activations per second since the last query")]
real32 ObjectActivationsPerSecond;
[Description("Total number of shutdowns since monitoring began")]
sint32 TotalShutdowns;
[Description("Timeout shutdowns since monitoring began")]
sint32 TimeoutShutdowns;
[Description("Administrative shutdowns since monitoring began")]
sint32 AdminShutdowns;
[Description("Unexpected shutdowns since monitoring began")]
sint32 FailureShutdowns;
[Description("Object pool timeouts since monitoring began")]
sint32 ObjectPoolTimeouts;
[Description("Process statistic: a short textual description (one-line string) of the object")]
string Caption;
[Description("Process statistic: the name of the class or the subclass used in the creation of an instance")]
string CreationClassName;
[Description("Process statistic: time that the process began executing")]
datetime CreationDate;
[Description("Process statistic: the name of the Computer System class or the subclass used in the creation of an instance")]
string CSCreationClassName;
[Description("Process statistic: the name of the Computer System")]
string CSName;
[Description("Process statistic: a textual description of the object")]
string Description;
[Description("Process statistic: the path to the executable file of the process")]
string ExecutablePath;
[Description("Process statistic: the current operating condition of the process. Values include ready (2), running (3), and blocked (4), among others.")]
uint16 ExecutionState;
[Description("Process statistic: a string used to identify the process. A process ID is a process handle.")]
string Handle;
[Description("Process statistic: the total number of handles currently open by this process")]
uint32 HandleCount;
[Description("Process statistic: time when the object was installed. A lack of a value does not indicate that the object is not installed.")]
datetime InstallDate;
[Description("Process statistic: time in kernel mode, in milliseconds. If this information is not available, a value of 0 should be used.")]
uint64 KernelModeTime;
[Description("Process statistic: the maximum working set size of the process")]
uint32 MaximumWorkingSetSize;
[Description("Process statistic: the minimum working set size of the process")]
uint32 MinimumWorkingSetSize;
[Description("Process statistic: the label by which the object is known")]
string Name;
[Description("Process statistic: the name of the Operating System class or the subclass used in the creation of an instance")]
string OSCreationClassName;
[Description("Process statistic: the name of the Operating System")]
string OSName;
[Description("Process statistic: the number of I/O operations performed, other than read and write operations.")]
uint64 OtherOperationCount;
[Description("Process statistic: the amount of data transferred during operations other than read and write operations.")]
uint64 OtherTransferCount;
[Description("Process statistic: the number of page faults generated by the process")]
uint32 PageFaults;
[Description("Process statistic: the amount of page file space currently being used by the process")]
uint32 PageFileUsage;
[Description("Process statistic: the unique identifier of the process that created this process. Process identifier numbers are reused, so they only identify a process for the lifetime of that process.")]
uint32 ParentProcessId;
[Description("Process statistic: the maximum amount of page file space used during the life of the process")]
uint32 PeakPageFileUsage;
[Description("Process statistic: the maximum virtual address space the process has used at any one time")]
uint64 PeakVirtualSize;
[Description("Process statistic: the peak working set size of the process")]
uint32 PeakWorkingSetSize;
[Description("Process statistic: the scheduling priority of the process within the operating system. Priority values can range from 0 (lowest priority) to 31 (highest priority)")]
uint32 Priority;
[Description("Process statistic: the current number of pages allocated that are accessible only to this process")]
uint64 PrivatePageCount;
[Description("Process statistic: the global process identifier that can be used to identify a process")]
uint32 ProcessId;
[Description("Process statistic: the quota amount of non-paged pool usage for the process")]
uint32 QuotaNonPagedPoolUsage;
[Description("Process statistic: the quota amount of paged pool usage for the process")]
uint32 QuotaPagedPoolUsage;
[Description("Process statistic: the peak quota amount of non-paged pool usage for the process")]
uint32 QuotaPeakNonPagedPoolUsage;
[Description("Process statistic: the peak quota amount of paged pool usage for the process")]
uint32 QuotaPeakPagedPoolUsage;
[Description("Process statistic: the number of read operations performed")]
uint64 ReadOperationCount;
[Description("Process statistic: the amount of data read")]
uint64 ReadTransferCount;
[Description("Process statistic: the unique identifier that is generated by the operating system when the session is created. A session spans a period of time from log in to log out on a particular system")]
uint32 SessionId;
[Description("Process statistic: the current status of the object such as OK, Degraded, Pred Fail, Error, Starting, Stopping, or Service")]
string Status;
[Description("Process statistic: time that the process was stopped or terminated")]
datetime TerminationDate;
[Description("Process statistic: the number of active threads in this process")]
uint32 ThreadCount;
[Description("Process statistic: time in user mode, in milliseconds. If this information is not available, a value of 0 should be used.")]
uint64 UserModeTime;
[Description("Process statistic: the current size in bytes of the virtual address space the process is using")]
uint64 VirtualSize;
[Description("Process statistic: the version of Windows in which the process is running")]
string WindowsVersion;
[Description("Process statistic: the amount of memory in bytes that a process needs to execute efficiently, for an operating system that uses page-based memory management")]
uint64 WorkingSetSize;
[Description("Process statistic: the number of write operations performed")]
uint64 WriteOperationCount;
[Description("Process statistic: the amount of data written")]
uint64 WriteTransferCount;
};