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
·
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.
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).
·
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 |
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 |
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.
·
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.
·
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.
·
This provider does not
support all inherited methods and properties (as indicated in section 3).
·
This provider ignores
properties lists and flags.