CTSTAT(1) User Commands CTSTAT(1)
ctstat - display active system contracts
/usr/bin/ctstat [-a] [-i contractid...] [-t type...] [-v]
[-T u | d ] [interval [count]]
The ctstat utility allows a user to observe the contracts active on a
system.
Unless you specify the -i or -t option, ctstat displays statistics on
all contracts in the system.
The following options are supported:
-a
Display all contracts regardless of state. By default, only those
contracts which are in the owned, inherited, or orphan states are
displayed.
-i contractid...
Request status on the specified contracts, identified by their
numeric contract identifier (contract_id).
This option accepts lists as arguments . Items in the list can be
separated by commas, or enclosed in quotes and separated by
commas or spaces.
-T u | d
Display a time stamp.
Specify u for a printed representation of the internal
representation of time. See time(2). Specify d for standard date
format. See date(1).
-t type...
Request status on contracts of the specified type (type).
This option accepts lists as arguments. Items in the list can be
separated by commas, or enclosed in quotes and separated by
commas or spaces.
The following types are supported:
process
Process contracts
-v
Verbose output.
The following operands are supported:
interval
Report once each interval seconds.
count
Print only count reports.
The following list defines the column headings and the meanings of a
ctstat report:
CTID
The contract ID of the contract.
ZONEID
The zone ID of the contract's creator.
TYPE
The contract type.
STATE
The state of the contract:
owned
Contract is owned by a process.
inherited
The contract owner has exited abnormally and the contract has
been inherited by the owner's process contract.
orphan
The contract owner has abandoned the contract, the contract
owner exited abnormally and the contract was not inherited by
the owner's process contract, or the process contract which
had inherited the contract was abandoned by its owner.
dead
The contract is no longer active. It is removed from the
system automatically when all references to it (open file
descriptors, contract templates, and events) have been
released.
HOLDER
If the contract is in the owned state, the pid of the process
that owns the contract. If the contract is in the inherited
state, the id of the regent process contract.
EVENTS
The number of unacknowledged critical events pending.
QTIME
The time until quantum ends, or - if no negotiation is in
progress.
NTIME
The time until negotiation ends, or - if no negotiation is in
progress.
The following example reports on all contracts in the system:
example% ctstat -a
CTID TYPE STATE HOLDER EVENTS QTIME NTIME
1 process owned 100579 0 - -
2 process dead - 1 - -
3 process inherit 1 3 - -
4 process orphan - 0 - -
The following example obtains a verbose report of all contracts in
the system:
example% ctstat -av
CTID TYPE STATE HOLDER EVENTS QTIME NTIME
1 process owned 100579 0 - -
informative event set: none
critical event set: hwerr core
fatal event set: hwerr
parameter set: none
member processes: 100600 100601
inherited ctids: none
service fmri: svc:/system/init:default
svc_fmri ctid: 1
creator: sched
aux:
2 process dead - 1 - -
informative event set: none
critical event set: none
fatal event set: hwerr core
parameter set: pgrponly
member processes: none
inherited ctids: none
service fmri: svc:/system/power:default
svc_fmri ctid: 19
creator: svc.startd
aux: start
The following exit values are returned:
0
Successful completion.
1
An error occurred.
2
Invalid arguments.
/system/contract/*
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | See below. |
+--------------------+-----------------+
The human readable output is Uncommitted. The invocation is
Committed.
ctrun(1), ctwatch(1), contract(5), process(5), attributes(7)
June 16, 2009 CTSTAT(1)
NAME
ctstat - display active system contracts
SYNOPSIS
/usr/bin/ctstat [-a] [-i contractid...] [-t type...] [-v]
[-T u | d ] [interval [count]]
DESCRIPTION
The ctstat utility allows a user to observe the contracts active on a
system.
Unless you specify the -i or -t option, ctstat displays statistics on
all contracts in the system.
OPTIONS
The following options are supported:
-a
Display all contracts regardless of state. By default, only those
contracts which are in the owned, inherited, or orphan states are
displayed.
-i contractid...
Request status on the specified contracts, identified by their
numeric contract identifier (contract_id).
This option accepts lists as arguments . Items in the list can be
separated by commas, or enclosed in quotes and separated by
commas or spaces.
-T u | d
Display a time stamp.
Specify u for a printed representation of the internal
representation of time. See time(2). Specify d for standard date
format. See date(1).
-t type...
Request status on contracts of the specified type (type).
This option accepts lists as arguments. Items in the list can be
separated by commas, or enclosed in quotes and separated by
commas or spaces.
The following types are supported:
process
Process contracts
-v
Verbose output.
OPERANDS
The following operands are supported:
interval
Report once each interval seconds.
count
Print only count reports.
OUTPUT
The following list defines the column headings and the meanings of a
ctstat report:
CTID
The contract ID of the contract.
ZONEID
The zone ID of the contract's creator.
TYPE
The contract type.
STATE
The state of the contract:
owned
Contract is owned by a process.
inherited
The contract owner has exited abnormally and the contract has
been inherited by the owner's process contract.
orphan
The contract owner has abandoned the contract, the contract
owner exited abnormally and the contract was not inherited by
the owner's process contract, or the process contract which
had inherited the contract was abandoned by its owner.
dead
The contract is no longer active. It is removed from the
system automatically when all references to it (open file
descriptors, contract templates, and events) have been
released.
HOLDER
If the contract is in the owned state, the pid of the process
that owns the contract. If the contract is in the inherited
state, the id of the regent process contract.
EVENTS
The number of unacknowledged critical events pending.
QTIME
The time until quantum ends, or - if no negotiation is in
progress.
NTIME
The time until negotiation ends, or - if no negotiation is in
progress.
EXAMPLES
Example 1: Reporting on all Contracts in the System
The following example reports on all contracts in the system:
example% ctstat -a
CTID TYPE STATE HOLDER EVENTS QTIME NTIME
1 process owned 100579 0 - -
2 process dead - 1 - -
3 process inherit 1 3 - -
4 process orphan - 0 - -
Example 2: Obtaining a Verbose Report of All Contracts in the System
The following example obtains a verbose report of all contracts in
the system:
example% ctstat -av
CTID TYPE STATE HOLDER EVENTS QTIME NTIME
1 process owned 100579 0 - -
informative event set: none
critical event set: hwerr core
fatal event set: hwerr
parameter set: none
member processes: 100600 100601
inherited ctids: none
service fmri: svc:/system/init:default
svc_fmri ctid: 1
creator: sched
aux:
2 process dead - 1 - -
informative event set: none
critical event set: none
fatal event set: hwerr core
parameter set: pgrponly
member processes: none
inherited ctids: none
service fmri: svc:/system/power:default
svc_fmri ctid: 19
creator: svc.startd
aux: start
EXIT STATUS
The following exit values are returned:
0
Successful completion.
1
An error occurred.
2
Invalid arguments.
FILES
/system/contract/*
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | See below. |
+--------------------+-----------------+
The human readable output is Uncommitted. The invocation is
Committed.
SEE ALSO
ctrun(1), ctwatch(1), contract(5), process(5), attributes(7)
June 16, 2009 CTSTAT(1)