exacct::object::group(3perl) [opensolaris man page]
Exacct::Object::Group(3PERL) Perl Library Functions Exacct::Object::Group(3PERL)NAME
Exacct::Object::Group - exacct group manipulation
SYNOPSIS
use Sun::Solaris::Exacct::Object;
my $ea_grp = Sun::Solaris::Exacct::Object::Group->new(
& EXT_GROUP | &EXC_DEFAULT | &EXD_GROUP_PROC);
DESCRIPTION
This module is used for manipulating libexacct(3LIB) Group objects. A libexacct Group object is represented as an opaque reference blessed
into the Sun::Solaris::Exacct::Object::Group class, which is a subclass of the Sun::Solaris::Exacct::Object class. The Items within a Group
are stored inside a Perl array. A reference to the array can be accessed with the inherited value() method. The individual Items within a
Group can be manipulated with the normal Perl array syntax and operators. All data elements of the array must be derived from the
Sun::Solaris::Exacct::Object class. Group objects can also be nested inside each other simply by adding an existing Group as a data Item.
Constants
None.
Functions
None.
Class methods
Class methods include those inherited from the Sun::Solaris::Exacct::Object base class, plus the following:
new($catalog, @objects) This method creates and returns a new Sun::Solaris::Exacct::Object::Group. The catalog tag can be either an
integer or a Sun::Solaris::Exacct::Catalog. The catalog tag should be a valid catalog tag for a Perl exacct
Group object. The @objects parameter is a list of Sun::Solaris::Exacct::Object to be stored inside the Group. A
copy of all the passed Items is taken and any Group objects are recursively copied. The contents of the returned
Group object can be accessed with the array returned by the value method.
Object methods
as_hash() This method returns the contents of the group as a hash reference. It uses the string value of each item's catalog ID as
the hash entry key and the scalar value returned by value() as the hash entry value. This form should be used if there
are no duplicate catalog tags in the group.
This method and its companion as_hashlist() are the fastest ways to access the contents of a Group.
as_hashlist() This method returns the contents of the group as a hash reference. It uses the string value of each item's catalog id as
the hash entry key and an array of the scalar values returned by value() as the hash entry value for all the items that
share a common key. This form should be used if there might be duplicate catalog tags in the group.
This method and its companion as_hash() are the fastest ways to access the contents of a Group.
Exports
None.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWpl5u |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
SEE ALSO Exacct(3PERL), Exacct::Catalog(3PERL), Exacct::File(3PERL), Exacct::Object(3PERL), Exacct::Object::Item(3PERL), libexacct(3LIB),
attributes(5)SunOS 5.11 1 Dec 2002 Exacct::Object::Group(3PERL)
Check Out this Related Man Page
Exacct::Object(3PERL) Perl Library Functions Exacct::Object(3PERL)NAME
Exacct::Object - exacct object manipulation
SYNOPSIS
use Sun::Solaris::Exacct::Object qw(:ALL);
print($ea_obj->value(), "
");
DESCRIPTION
This module is used as a parent of the two possible types of Perl exacct objects: Items and Groups. An Item is either a single data value
such as the number of seconds of user CPU time consumed by a process, an embedded Perl exacct object, or a block of raw data. A Group is
an ordered collection of Perl exacct Items such as all of the resource usage values for a particular process or task. If Groups need to be
nested within each other, the inner Groups can be stored as embedded Perl exacct objects inside the enclosing Group.
This module contains methods that are common to both Perl exacct Items and Groups. The attributes of Sun::Solaris::Exacct::Object and all
classes derived from it are read-only after initial creation with new(). This behavior prevents the inadvertent modification of the
attributes that could produce inconsistent catalog tags and data values. The only exception is the array used to store the Items inside a
Group object, which can be modified using the normal Perl array operators. See the value() method below.
Constants
EO_ERROR, EO_NONE, EO_ITEM, and EO_GROUP.
Functions
None.
Class methods
dump($object, $filehandle)
This method dumps formatted text representation of a Perl exacct object to the supplied file handle. If no file handle is specified,
the text representation is dumped to STDOUT. See EXAMPLES below for sample output.
Object methods
type()
This method returns the type field of the Perl exacct object. The value of the type field is returned as a dual-typed scalar and is
either EO_ITEM, EO_GROUP, or EO_NONE.
catalog()
This method returns the catalog field of the Perl exacct object. The value is returned as a Sun::Solaris::Exacct::Catalog object.
match_catalog($catalog)
This method matches the passed catalog tag against the object. True is returned of a match occurs. Otherwise false is returned. This
method has the same behavior as the underlying ea_match_object_catalog(3EXACCT) function.
value()
This method returns the value of the Perl exacct object. In the case of an Item, this object will normally be a Perl scalar, either a
number or string. For raw Items, the buffer contained inside the object is returned as a Perl string that can be manipulated with the
Perl unpack() function. If the Item contains either a nested Item or a nested Group, the enclosed Item is returned as a reference to an
object of the appropriate subtype of the Sun::Solaris::Exacct::Object class.
For Group objects, if value() is called in a scalar context, the return value is a reference to the underlying array used to store the
component Items of the Group. Since this array can be manipulated with the normal Perl array indexing syntax and array operators, the
objects inside the Group can be manipulated. All objects in the array must be derived from the Sun::Solaris::Exacct::Object class. Any
attempt to insert something else into the array will generate a fatal runtime error that can be caught with an eval { } block.
If value() is called in a list context for a Group object, it returns a list of all the objects in the Group. Unlike the array refer-
ence returned in a scalar context, this list cannot be manipulated to add or delete Items from a Group. This mechanism is considerably
faster than the array mechanism described above and is the preferred mechanism if a Group is being examined in a read-only manner.
Exports
By default nothing is exported from this module. The following tags can be used to selectively import constants and functions defined in
this module:
:CONSTANTS EO_ERROR, EO_NONE, EO_ITEM, and EO_GROUP
:ALL :CONSTANTS
EXAMPLES
Example 1: Output of the dump() method for a Perl exacct Group object.
The following is an example of output of the dump() method for a Perl exacct Group object.
GROUP
Catalog = EXT_GROUP|EXC_DEFAULT|EXD_GROUP_PROC_PARTIAL
ITEM
Catalog = EXT_UINT32|EXC_DEFAULT|EXD_PROC_PID
Value = 3
ITEM
Catalog = EXT_UINT32|EXC_DEFAULT|EXD_PROC_UID
Value = 0
ITEM
Catalog = EXT_UINT32|EXC_DEFAULT|EXD_PROC_GID
Value = 0
ITEM
Catalog = EXT_UINT32|EXC_DEFAULT|EXD_PROC_PROJID
Value = 0
ITEM
Catalog = EXT_UINT32|EXC_DEFAULT|EXD_PROC_TASKID
Value = 0
ITEM
Catalog = EXT_STRING|EXC_DEFAULT|EXD_PROC_COMMAND
Value = fsflush
ENDGROUP
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWpl5u |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
SEE ALSO ea_match_object_catalog(3EXACCT), Exacct(3PERL), Exacct::Catalog(3PERL), Exacct::File(3PERL), Exacct::Object::Group(3PERL),
Exacct::Object::Item(3PERL), libexacct(3LIB), attributes(5)SunOS 5.10 1 Dec 2002 Exacct::Object(3PERL)