Show all
Instances of the Log-Usage class, which (in the
initial PegaRULES database schema) are stored in the
pr_perf_stats
table, support system-performance
and usage reporting.
The instances in this class provide a cumulative history of
past system usage across all nodes and all requestor types.
Analyses of this data can provide valuable insights about the
patterns and sources of processing demand, and can be helpful
in performance tuning.
Don't confuse
Log-Usage data, which covers system and requestor
performance of all types. with Log-RuleUsage data,
which cover only rules assembly rules — rules of those
rule types that the system converts to Java code.
Don't confuse
Log-Usage reporting — which provides
comprehensive coverage of system activity — with the
reports provided by the License Compliance facility, which
focus on specific metrics and uses a separate data-collection
mechanism.
Keys of
instances the Log-Usage class
The key (pzInsKey column) of the
pr_perf_stats
table — the key of each
Log-Usage instance — is concatenated from
the values of four properties:
- pxRequestorID — The system-assigned
requestor ID for this session
- pxSnapShotTime — Date and time of
this snapshot
- pxSnapShotType — Record type
- pxSystemNodeID — Node ID
The first character of the requestor ID identifies a
requestor type:
- A — Services (
APP
requestor
types)
- B — Background requestors (
BATCH
requestor type)
- H — Interactive browser users
(
BROWSER
requestor type)
- P — Portlet users (
PORTLET
requestor
type)
Record
types
Identifying a snapshot
The pxSnapshotType column identifies an
important value needed to interpret the other values in a
record. This column has one of four values:
INTERVAL
— Records cumulative usage
statistics for a requestor as of the end of an interval
(typically a clock hour).
PASSIVATE
— Records passivation of a
requestor, such as occurs when a session times out. The
PersistRequestor
setting in the
prconfig.xml
file controls passivation.
TERMINATED
— Records log-out, forced
timeout, or other termination of a requestor.
ACTIVATE
— Records reactivation of a
passivated requestor.
Identifying an agent or daemon
For agents and daemons, the pyProcLabel
property identifies the agent, the index of
the row on the Rule-Agent-Queue form, and the
activity. The subscript is zero-based; for example, the
value:
Pega-ProCom:2:Assign-Corr.SendCorr
in a log identifies processing by the
Assign-Corr.SendCorr activity listed the second
row of Agent Queue form for the Pega-RULES agent.
For daemons such as the master agent, the
pyProcLabel column is blank.
When the
system adds to this class
A daemon known as the Usage Daemon commits
instances of the Log-Usage class to the database
table.
The Usage Daemon saves an instance of the
Log-Usage class when a requestor terminates,
passivates, activates, and at regular hourly intervals. To
minimize the performance effect of new instances, the
daemon's write operations are deferred and then committed
as a group.
By default, INTERVAL
operations record a
snapshot at 59 minutes after each hour. For example, if an
Operator signs on at 11:15 AM and signs off at 11:56 AM, no
INTERVAL
instances for that requestor are
logged.
By default, this daemon wakes every 300 seconds, so the
contents of the table may be stale or incomplete by as much
as five minutes.
In a multinode cluster, the Usage Daemons on each node
operate independently, so the presence of records in the
database table with a recent pxSnapShotTime from
one node does not imply that no more records with a similar
or earlier pxSnapShotTime value will arrive.
Because agents are requestors, this daemon adds instances
to the Log-Usage
class for agents even when the
system has no interactive users. This behavior is
expected.
Some service requestors end a few seconds or less after
they start; typically no INTERVAL
instances
appear for such requestors. If a service uses pooled
requestors, INTERVAL
instances may appear for
those requestors in the pool once each hour.
Reporting
To facilitate reporting, all properties of the
Log-Usage class are exposed as columns of the
pr_perf_stats
table; this table does not contain
a Storage Stream column.
Except for the properties in the following table, the
names and meanings of statistical properties in the
Log-Usage class is identical to the names and
meanings of those in the Code-Pega-PAL class,
which supports the Performance tool. For a listing and brief
descriptions of those properties, see Performance tool —
Full details display.
For technical reasons, Log-Usage properties
listed in the following table have a shorter name from the
corresponding Code-Pega-PAL properties.
Code-Pega-PAL Property
|
Log-Usage Property
|
pxDeclarativeRulesInvokedBackgroundCount
|
pxDeclRulesInvokedBckGrdCnt
|
pxDeclarativeRulesInvokedElapsed
|
pxDeclRulesInvokedElapsed
|
pxDeclarativeRulesLookupElapsed
|
pxDeclRulesLookupElapsed
|
pxListRowWithFilteredStreamCount
|
pxListRowWithFilteredStrmCnt
|
pxListRowWithUnfilteredStreamCount
|
pxListRowWithUnfilteredStrmCnt
|
pxListWithUnfilteredStreamCount
|
pxListWithUnfilteredStrmCnt
|
pxSavedClipboardAfterInteractionCount
|
pxSavedCbAfterIntCount
|
pxSavedClipboardAfterInteractionCPU
|
pxSavedCbAfterIntCPU
|
pxSavedClipboardAfterInteractionElapsed
|
pxSavedCbAfterIntElapsed
|
pxSavedContextAfterInteractionCount
|
pxSavedCxtAfterIntCount
|
pxSavedContextAfterInteractionCPU
|
pxSavedCxtAfterIntCPU
|
pxSavedContextAfterInteractionElapsed
|
pxSavedCxtAfterIntElapsed
|
To improve access, the PegaRULES database indexes are
defined for the pr_perf_stats
table. You can
access this table using the pxUserIdentifier,
pxSnapshotTime, pxRequestorType,
pxSnapShotType, or pxSystemNodeID
property values
Summary View report
Run the standard summary view report
Log-Usage.BrowseUsageStatistics.ALL to review
the types of data in this table. (Summary view reports are
limited to 10,000 records; only the first 10,000 rows in the
table that meet your selection criteria appear.) You can copy
this summary view report and customize your copy.
Reporting with the System Management Application
Use the System Management application to report on
aggregate system usage based on Log-Usage data,
as follows:
- Select Tools > System Management
Application in the Developer portal. You may be
prompted for authentication credentials.
- The System Management application starts. Select any
node; your choice does not affect the report contents.
- Select Logging and Tracing > Garbage Collector
and Log Usage.
- Click a radio button to select Log Usage
Statistics. Enter a Start Time as
five fields, for example Jan, 23, 2006, 16 00 for 16:00 on
Jan 23, 2006.
- Optionally, enter a Stop Time and
Node Name to restrict the report.
- Click the top VIEW
button.
Trimming
the pr_perf_stats table
In a production setting, the pr_perf_stats
table can grow to contain millions of rows. By default, the
system automatically purges records older than 30 days. If
you do not need older rows for performance analysis,
debugging, or other reporting, you can purge them by date
(known as trimming) without affecting other system
capabilities.
Once each day, the Pega-RULES agent starts a stored
procedure that purges older rows of this table, passing the
value of the pxProcess property as the number of
days to retain. To set a retention period longer or shorter
than the 30 days, add or revise the following element to your
prconfig.xml
file and restart the system:
<env
name="usage/retentionperiod " value="nnn"
/>
where nnn is the number of days to retain.
Notes
Optionally, you can disable this facility through the
Dynamic System Settings data instance Pega-RULES.
usage/usagetrackingenabled.
In releases before V5.2,
instances of the Log-Usage class were stored in
the pr4_log_usage
table. The
pr4_log_usage
database table is not used in
Version 5.2 or later. A separate table,
pr4_log_rule_usage, supports the
Log-RuleUsage class.
SysAdmin category