Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Sun::Solaris::Exacct::Object (3)

Name

Sun::Solaris::Exacct::Object - exacct object manipulation

Synopsis

use Sun::Solaris::Exacct::Object qw(:ALL);
print($ea_obj->value(), "\n");

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 reference
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

Description

User Contributed Perl Documentation                         ..::pod::Object(3)



NAME
       Sun::Solaris::Exacct::Object - exacct object manipulation

SYNOPSIS
        use Sun::Solaris::Exacct::Object qw(:ALL);
        print($ea_obj->value(), "\n");

       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 reference
       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
       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(7) for descriptions of the following attributes:

         ___________________________________________________________
        |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
        |_____________________________|_____________________________|
        | Availability                | CPAN (http://www.cpan.org)  |
        |_____________________________|_____________________________|
        | Interface Stability         | Evolving                    |
        |_____________________________|_____________________________|

SEE ALSO
       "ea_match_object_catalog(3EXACCT)", Sun::Solaris::Exacct(3),
       Sun::Solaris::Exacct::Catalog(3), Sun::Solaris::Exacct::File(3),
       Sun::Solaris::Exacct::Object::Group(3),
       Sun::Solaris::Exacct::Object::Item(3), "libexacct(3LIB)", attributes(7)



perl v5.32.0                      2022-06-28                ..::pod::Object(3)