SYS.History.PerfData
Class SYS.History.PerfData Extends (%Persistent, %XML.Adaptor) [ System = 4 ]
Basic detail collection class of Performance metrics for the Monitor History database. Properties represent metrics which get collected every few seconds by the %MONAPP Application Monitor process when the %Monitor.System.HistoryPerf class is "active". The values stored for most properties are deltas calculated from the last interval.
For details, see History Monitor.
Properties
DateTime
Property DateTime As %TimeStamp [ SqlColumnNumber = 2 ];
Time of sample
Length
Property Length As %Integer;
Length of sample in seconds
ZDATE
Property ZDATE As %Integer;
UTC date key
ZTIME
Property ZTIME As %Integer;
UTC time key
Perf
Property Perf As SYS.History.Performance;
Performance metrics
WD
Property WD As array Of SYS.History.WriteDaemon;
WriteDaemon metrics
Methods
Sample
ClassMethod Sample() As SYS.History.PerfData
Instantiate the class and fetch current values for all metric properties.
Purge
ClassMethod Purge(Keep As %Integer = 0) As %Integer
Purge PerfData interval data, keeping the last 'Keep' days. This is typically called at the start of each day from the %Monitor.System.HistoryPerf class, using the current system default for 'Keep' (see the SetPurge() method). The 'Keep' argument allows you to over ride the system default (a value of "0" or "" uses the system default)
Returns the number of entries purged.
SetPurge
ClassMethod SetPurge(Keep As %Integer = "") As %Integer
Set the system parameter for the number of days of detail data to keep. Initial system default is 7 days. Return value is the previous setting, and executing this method with a "" argument will return the current setting without modifying it.
Export
ClassMethod Export(FileName As %String, Start As %TimeStamp, End As %TimeStamp) As %Status
Export PerfData data for time range in CSV format. The default is all of the data currently in the PerfData class. Note that Write Daemon cycle properties are exported as the high-water mark for the cycles during an interval.
The default FileName is HistoryPerf_config_date_time.csv in the MGR directory.
'Start' and 'End' times (if necessary) are in YYYY-MM-DD HH:MM:SS format.
Summary
ClassMethod Summary(Day As %Integer = 0) As %Status
Collect summaries of the PerfData metrics for a day into the Hourly/Daily database. This is typically done automatically by %Monitor.System.HistoryPerf at the beginning of each day (for the previous day), but could be called manually if there's a problem.
The 'Day' argument sets the end date of the collection, with the default of "0" being the start of today (i.e. $H+Day), which would collect everything for yesterday. A "-1" would collect the day before yesterday; a "1" would collect today (as much as there is).
Demo
ClassMethod Demo(Days As %Integer = 30) As %Status [ Internal ]
Build a demo database for the Perf metrics. 'Days' is the number of days of history to generate.
DemoSample
ClassMethod DemoSample(pct As %Integer, dt As %String) As SYS.History.PerfData [ Internal ]
Instantiate the class and fetch values for all metric properties. This fills in semi-random values from a base value for each metric for a demo database. 'pct' is a percentage value used to modify (+ or -) the base values. 'dt' is date,time of sampel in $H format Values for Perf metrics are per-second rates.