1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
'\" te
.\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH Exacct::Object 3PERL "1 Dec 2002" "SunOS 5.11" "Perl Library Functions"
.SH NAME
Exacct::Object \- exacct object manipulation
.SH SYNOPSIS
.LP
.nf
use Sun::Solaris::Exacct::Object qw(:ALL);
print($ea_obj->value(), "\en");
.fi
.SH DESCRIPTION
.sp
.LP
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.
.sp
.LP
This module contains methods that are common to both Perl exacct Items and
Groups. The attributes of \fBSun::Solaris::Exacct::Object\fR and all classes
derived from it are read-only after initial creation with \fBnew()\fR. 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 \fBvalue()\fR method below.
.SS "Constants"
.sp
.LP
\fBEO_ERROR\fR, \fBEO_NONE\fR, \fBEO_ITEM\fR, and \fBEO_GROUP\fR.
.SS "Functions"
.sp
.LP
None.
.SS "Class methods"
.sp
.ne 2
.mk
.na
\fB\fBdump($object, $filehandle)\fR\fR
.ad
.RS 30n
.rt
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 \fBSTDOUT\fR. See EXAMPLES below for sample output.
.RE
.SS "Object methods"
.sp
.ne 2
.mk
.na
\fB\fBtype()\fR\fR
.ad
.RS 27n
.rt
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 \fBEO_ITEM\fR,
\fBEO_GROUP\fR, or \fBEO_NONE\fR.
.RE
.sp
.ne 2
.mk
.na
\fB\fBcatalog()\fR\fR
.ad
.RS 27n
.rt
This method returns the catalog field of the Perl exacct object. The value is
returned as a \fBSun::Solaris::Exacct::Catalog\fR object.
.RE
.sp
.ne 2
.mk
.na
\fB\fBmatch_catalog($catalog)\fR\fR
.ad
.RS 27n
.rt
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 \fBea_match_object_catalog\fR(3EXACCT) function.
.RE
.sp
.ne 2
.mk
.na
\fB\fBvalue()\fR\fR
.ad
.RS 27n
.rt
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 \fBunpack()\fR 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
\fBSun::Solaris::Exacct::Object\fR class.
.sp
For Group objects, if \fBvalue()\fR 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
\fBSun::Solaris::Exacct::Object\fR class. Any attempt to insert something else
into the array will generate a fatal runtime error that can be caught with an
\fBeval { }\fR block.
.sp
If \fBvalue()\fR 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.
.RE
.SS "Exports"
.sp
.LP
By default nothing is exported from this module. The following tags can be used
to selectively import constants and functions defined in this module:
.sp
.ne 2
.mk
.na
\fB\fB:CONSTANTS\fR\fR
.ad
.RS 14n
.rt
\fBEO_ERROR\fR, \fBEO_NONE\fR, \fBEO_ITEM\fR, and \fBEO_GROUP\fR
.RE
.sp
.ne 2
.mk
.na
\fB\fB:ALL\fR\fR
.ad
.RS 14n
.rt
\fB:CONSTANTS\fR
.RE
.SH EXAMPLES
.LP
\fBExample 1 \fROutput of the \fBdump()\fR method for a Perl exacct Group
object.
.sp
.LP
The following is an example of output of the \fBdump()\fR method for a Perl
exacct Group object.
.sp
.in +2
.nf
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
.fi
.in -2
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
Interface StabilityEvolving
.TE
.SH SEE ALSO
.sp
.LP
\fBea_match_object_catalog\fR(3EXACCT), \fBExacct\fR(3PERL),
\fBExacct::Catalog\fR(3PERL), \fBExacct::File\fR(3PERL),
\fBExacct::Object::Group\fR(3PERL), \fBExacct::Object::Item\fR(3PERL),
\fBlibexacct\fR(3LIB), \fBattributes\fR(5)
|