HP Processor Provider
Description: HP Processor Provider Data Sheet
Keywords: C++ API, HP-UX, Managed System Identity

# WBEM Provider Data Sheet

# Processor Provider

This data sheet provides information about the HP Processor WBEM provider (implemented using the C++ Provider API of HP WBEM Services for HP-UX).

This provider supports the CIM_Processor and PG_Processor classes. The intended audience of this document is software professionals who will design, implement, enhance, and/or support client applications that will use this provider.

This data sheet was last updated 20-August-2002. The most recent version can be found at software.hp.com.

Keywords: (C++ API, HP-UX, Process, HP Processor, CIM_Processor, PG_Processor)

Table Of Contents

1. Provider Overview (Description, Requirements, Release History, Supported Managed Resources, Special Requirements & Dependencies)

2. Setting Up This Provider (Installing, Configuring)

3. Using This Provider (Schema Supported, Indications Generated, Associations Provided)

4. Links To More Information (Additional Provider Documentation, WBEM Information, Managed Resource Information, Client Information, Support Contacts, Migration and Co-existence Information, Possible Provider Enhancements)

5. Limitations, Known Defects, and Performance Considerations

### 1. Provider Overview

· Description
The Processor Provider makes available basic processor information such as name of the executable image, process ID, priority, execution state, and various process resource utilization statistics. In addition to implementing the properties of CIM_Processor, this HP Processor Provider implements the properties anticipated for CIM_Processor in CIM v2.6 (final). Because CIM v2.6 (final) has not been officially released at this time, the classes are implemented as PG_Processor. Client applications can use this provider to give clients an understanding of the processes running on the Managed System within the context of its operating system. The current implementation is for HP-UX only.

· Requirements
Implemented and tested on HP-UX 11.11 based systems.

· Release History
31-December-2002 - initial release.

· Supported Managed Resources
Managed systems (servers and appliances) running HP-UX 11.0 and 11.11.

· Special Requirements & Dependencies
None.

### 2. Setting Up This Provider

· Installing This Provider

This provider is available from software.hp.com.

· Schema MOF file: PG_Processor20.mof

· Provider registration MOF file: PG_Processor20R.mof

The provider executable is "libProcessorModule.sl". The provider is registered to support the “root/cimv2” namespace as an instance provider. The provider is installed with the swinstall facility of HP-UX.

· Configuring This Provider
This provider does not accept specific configuration adjustments (beyond standard WBEM support).

### 3. Using This Provider

· Schema supported by this provider

This provider supports the CIM_Processor and PG_Processor classes. Tables 1 through 5 describe the properties and methods supported by the provider.

Table 1 describes the properties of the CIM_Processor class. It has three columns. The first is the property name (including type and units), the second is the property inheritance (indicating which class or superclass defines the property), and the third is the property’s value and data source. Each row describes a property.

Table 1: CIM_Processor Properties

Property Name | ## Property Inheritance | Property Value (& data source)
string Caption | Inherited from CIM_ManagedElement | Returns the first argument of the command line for the process.
string Description | Inherited from CIM_ManagedElement | Returns a string containing the entire command line for the process.
datetime InstallDate | Inherited from CIM_ManagedSystemElement | Not implemented.
string CSCreationClassName [Key] | Inherited from CIM_Processor. Propagated from CIM_OperatingSystem.CSCreationClassName. | Returns the string “CIM_UnitaryComputerSystem”.
string CSName [Key] | Inherited from CIM_Processor. Propagated from CIM_OperatingSystem.CSName. | The fully qualified host name returned by the gethostbyname() system call. If a name service is not available, just uses the hostname return by the gethostname() system call.
string OSCreationClassName [Key] | Inherited from CIM_Processor. Propagated from CIM_OperatingSystem.CreationClassName. | Returns the string “CIM_OperatingSystem”.
string OSName [Key] | Inherited from CIM_Processor. Propagated from CIM_OperatingSystem.Name. | The value of sysname in the utsname structure returned by the uname() system call.
string Name | Inherited from CIM_ManagedSystemElement, overridden in CIM_Processor. | The base name of the executable image from the value of pst_ucomm in the pst_status structure returned by the pstat_getproc() system call.
string CreationClassName [Key] | Local to CIM_Processor. | Returns the string “CIM_Processor”.
string Handle [Key] | Local to CIM_Processor. | The process ID, obtained from the value of pst_pid in the pst_status structure returned by the pstat_getproc() system call.
uint32 Priority | Local to CIM_Processor. | The process priority, obtained from the value of pst_pri in the pst_status structure returned by the pstat_getproc() system call.
uint16 ExecutionState | Local to CIM_Processor. | Based on the process state obtained from the value of pst_state in the pst_status structure returned by the pstat_getproc() system call. Mapped to ExecutionState as follows: · PS_SLEEP: 6 (“SuspendedReady”) · PS_RUN: 3 (“Running”) · PS_STOP: 8 (“Stopped”) · PS_ZOMBIE: 1 (“Other”) · PS_IDLE: 2 (“Ready”) · PS_OTHER: 1 (“Other”) · all other values: 0 (“Unknown”)
string OtherExecutionDescription | Local to CIM_Processor. | Returns the string “Zombie” for zombie (PS_ZOMBIE), “Other” for status “other” (PS_OTHER), and NULL for all other values of pst_state as described for ExecutionState above.
datetime CreationDate | Local to CIM_Processor. | The time the process started, obtained using the value of pst_start in the pst_status structure returned by the pstat_getproc() system call.
datetime TerminationDate | Local to CIM_Processor. | Not implemented.
uint64 KernelModeTime | Local to CIM_Processor. | System time spent executing, obtained from the value of pst_stime in the pst_status structure returned by the pstat_getproc() system call. pst_stime is multiplied by 1,000 to convert it to milliseconds.
uint64 UserModeTime | Local to CIM_Processor. | User time spent executing, obtained from the value of pst_utime in the pst_status structure returned by the pstat_getproc() system call. pst_utime is multiplied by 1,000 to convert it to milliseconds.
uint64 WorkingSetSize | Local to CIM_Processor. | Returns 0 (zero) indicating information is not available.

Table 2 describes the properties of the PG_Processor class. It has three columns. The first is the property name (including type and units), the second is the property inheritance (indicating which class or superclass defines the property), and the third is the property’s value and data source. Each row describes a property.

Table 2: PG_Processor Properties

Property Name | ## Property Inheritance | Property Value (& data source)
The PG_Processor class inherits properties of superclass CIM_Processor (as described in Table 1 and not repeated here).
string ParentProcessID | Local to PG_Processor. | The parent process ID, obtained from the value of pst_ppid in the pst_status structure returned by the pstat_getproc() system call.
uint64 RealUserID | Local to PG_Processor. | The real user ID, obtained from the value of pst_uid in the pst_status structure returned by the pstat_getproc() system call.
uint64 ProcessGroupID | Local to PG_Processor. | The real GID, obtained from the value of pst_gid in the pst_status structure returned by the pstat_getproc() system call.
uint64 ProcessSessionId | Local to PG_Processor. | The session ID, obtained from the value of pst_sid in the pst_status structure returned by the pstat_getproc() system call.
string ProcessTTY | Local to PG_Processor. | The full path name (for example /dev/ttyp1) of the TTY device which corresponds to the values of pst_major and pst_minor in the pst_status structure returned by the pstat_getproc() system call.
string ModulePath | Local to PG_Processor. | Not supported. Note that Unix does not require placing the full path name in the first argument of the command line.
string Parameters | Local to PG_Processor. | The arguments of the command line (including the command itself). Parsed from the value of the pst_cmd string in the pst_status structure returned by the pstat_getproc() system call.
uint32 ProcessNiceValue | Local to PG_Processor. | The process nice value, obtained from the value of pst_nice in the pst_status structure returned by the pstat_getproc() system call.
string ProcessWaitingForEvent | Local to PG_Processor. | Not implemented.

Table 3 describes the intrinsic methods for CIM_Processor and PG_Processor supported by this provider. It has three columns. The first is the method name, the second is a description of the provider’s actions based on invoking that method, and the third is a list of any exceptions that could result from invoking the method. Each row describes a method. Note that this provider supports no extrinsic methods.

Table 3: Intrinsic Methods for CIM_Processor and PG_Processor

Method Name | Description | Exceptions Thrown
enumerateInstances | Returns all instances of class with all properties and respective values. | None
enumerateInstanceNames | Returns object path of all instances of class. | None
getInstance | Supported. | CIM_ERR_INVALID_PARAMETER if wrong class for a key. CIM_ERR_NOT_FOUND if wrong number of keys, or process is not found.
modifyInstance | Does nothing. | CIM_ERR_NOT_SUPPORTED
deleteInstance | Does nothing. | CIM_ERR_NOT_SUPPORTED
initialize | Does nothing. | None.
terminate | Does nothing. | None
createInstance | Does nothing. | CIM_ERR_NOT_SUPPORTED

· Indications generated by this provider
This provider does not currently generate any indications.

· Associations provided by this provider
This provider does not currently support any associations.

### 4. Links To More Information

· Additional Provider Documentation
There is currently no additional documentation for this provider beyond this data sheet.

See also man pages for information on the various commands and system calls noted in the descriptions above.

· WBEM information
For a CIM tutorial, go to http://www.dmtf.org/education/cimtutorial.php.
For information about HP WBEM Services for HP-UX, see http://software.hp.com/.
For information about WBEMsource, see http://www.wbemsource.org.

· Managed Resource Documentation
See also the HP-UX man page for pstat(2) and other system calls as referenced in the descriptions above.

· Client Information
None.

· Support Contacts
None.

· Migration and Co-existence Information
None.

· Possible provider enhancements
Possible enhancements by the open source community to this provider could include the following:

(1) This provider does not currently support all inherited methods and properties (as indicated in section 3).

(3) Some properties in PG_Processor and its superclasses could be writable. For example, a client could modify the value of Priority to move a process’s priority up or down.

(4) The createInstance and deleteInstance methods could be considered as ways to fork and kill a process respectively.

(5) The provider currently doesn’t check Flags when invoked by CIMOM.

(6) The provider currently doesn’t check Property List when invoked by CIMOM. Some properties are more expensive to gather (for example, number of users) and could be skipped if not requested.

### 5. Limitations, Known Defect, and Performance Considerations

· This provider does not support all inherited methods and properties (as indicated in section 3).

· This provider ignores properties lists and flags.

Top of Page