persistent class SYS.History.PerfData
extends %Persistent, %XML.Adaptor
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.
classmethod Export(FileName As %String, Start As %TimeStamp, End As %TimeStamp)
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.
classmethod Purge(Keep As %Integer = 0)
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.
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.
Instantiate the class and fetch current values for all metric properties.
classmethod SetPurge(Keep 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.
classmethod Summary(Day As %Integer = 0)
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).
query DateList(Start As %TimeStamp = $zdt(+$h, 3), End As %TimeStamp = $zdt($h+1, 3))
SELECT * FROM PerfData
WHERE (DateTime >= :Start AND DateTime <= :End)
Full listing of PerfData metrics for a day or range of date/times. Default is today.
query WDDateList(Start As %TimeStamp = $zdt(+$h, 3), End As %TimeStamp = $zdt($h+1, 3))
SELECT DateTime,PerfData_WD.* FROM PerfData,PerfData_WD
WHERE ((PerfData_WD.PerfData = PerfData.ID) AND (DateTime >= :Start) AND (DateTime <= :End))
Full listing of WriteDaemon PerfData metrics for a day or range of date/times. Default is today.
index (ZDTindex on ZDATE,ZTIME) [IdKey];