Home > Class Reference > %SYS namespace > SYS.History.SysData


persistent class SYS.History.SysData extends %Library.Persistent, %XML.Adaptor

SQL Table Name: SYS_History.SysData

Basic detail collection class of System Usage metrics for the Monitor History database. Properties represent metrics which get collected every few minutes by the %MONAPP Application Monitor process when the %Monitor.System.HistorySys class is "active".

Property Inventory

Method Inventory


property DB as array of SYS.History.Database;
Database metrics
Property methods: DBBuildValueArray(), DBCollectionToDisplay(), DBCollectionToOdbc(), DBDateListClose(), DBDateListExecute(), DBDateListFetch(), DBDateListFetchRows(), DBDateListFunc(), DBDateListGetInfo(), DBDateListGetODBCInfo(), DBDateListPrepare(), DBDateListSendODBC(), DBDisplayToCollection(), DBGet(), DBGetObject(), DBGetObjectId(), DBGetStored(), DBGetSwizzled(), DBIsValid(), DBOdbcToCollection(), DBSet(), DBSetObject(), DBSetObjectId()
property DateTime as %TimeStamp;
Time of sample
Property methods: DateTimeDisplayToLogical(), DateTimeGet(), DateTimeGetStored(), DateTimeIsValid(), DateTimeLogicalToDisplay(), DateTimeLogicalToXSD(), DateTimeNormalize(), DateTimeOdbcToLogical(), DateTimeSet(), DateTimeXSDToLogical()
property Length as %Integer;
Length of sample in seconds
Property methods: LengthDisplayToLogical(), LengthGet(), LengthGetStored(), LengthIsValid(), LengthLogicalToDisplay(), LengthNormalize(), LengthSet(), LengthXSDToLogical()
property Sys as SYS.History.SystemUsage;
System usage metrics
Property methods: SysGet(), SysGetObject(), SysGetObjectId(), SysGetStored(), SysGetSwizzled(), SysIsEmpty(), SysIsValid(), SysNewObject(), SysSet(), SysSetObject(), SysSetObjectId(), SysUnSwizzle()
property ZDATE as %Integer [ Required ];
UTC date key
Property methods: ZDATEDisplayToLogical(), ZDATEGet(), ZDATEGetStored(), ZDATEIsValid(), ZDATELogicalToDisplay(), ZDATENormalize(), ZDATESet(), ZDATEXSDToLogical()
property ZTIME as %Integer [ Required ];
UTC time key
Property methods: ZTIMEDisplayToLogical(), ZTIMEGet(), ZTIMEGetStored(), ZTIMEIsValid(), ZTIMELogicalToDisplay(), ZTIMENormalize(), ZTIMESet(), ZTIMEXSDToLogical()


classmethod Export(FileName As %String, Start As %TimeStamp, End As %TimeStamp) as %Status [ Language = objectscript ]
Export SystemUsage data for a time range in CSV format. The default is all of the data currently in the SysData class.

The default FileName is HistorySys_config_date_time.csv in the MGR directory.
'Start' and 'End' times (if necessary) are in YYYY-MM-DD HH:MM:SS format.
classmethod ExportDB(FileName As %String, Start As %TimeStamp, End As %TimeStamp, Database As %String) as %Status [ Language = objectscript ]
Export Database data for a time range in CSV format. The default is all of the data currently in the SysData class.

The default 'FileName' is HistoryDB_config_date_time.csv in the MGR directory.
'Start' and 'End' times (if necessary) are in YYYY-MM-DD HH:MM:SS format.
The 'Database' argument can select (by name) a single database to export. Otherwise, data for all databases is exported and the database name is exported as a column.
classmethod Purge(Keep As %Integer = 0) as %Integer [ Language = objectscript ]
Purge SysData interval data, keeping the last 'Keep' days. This is typically called at the start of each day from the %Monitor.System.HistorySys 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.
classmethod Sample() as SYS.History.SysData [ Language = objectscript ]
Instantiate the class and fetch current values for all metric properties.
classmethod Summary(Day As %Integer = 0) as %Status [ Language = objectscript ]
Collect summaries of the SysData metrics for a day into the Hourly/Daily database. This is typically done automatically by %Monitor.System.HistorySys 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 DBDateList(Start As %TimeStamp = {$zdt(+$h, 3)}, End As %TimeStamp = {$zdt($h+1, 3)})
SQL Query:
SELECT DateTime,SysData_DB.* FROM SysData,SysData_DB WHERE ((SysData_DB.SysData = SysData.ID) AND (DateTime >= :Start) AND (DateTime <= :End))
Full listing of the Database metrics for a day or range of date/times. Default is today.
query DateList(Start As %TimeStamp = {$zdt(+$h, 3)}, End As %TimeStamp = {$zdt($h+1, 3)})
SQL Query:
SELECT * FROM SysData WHERE (DateTime >= :Start AND DateTime <= :End)
Full listing of SystemUsage metrics for a day or range of date/times. Default is today.


index (ZDTindex on ZDATE,ZTIME) [IdKey, Type = key];
Index methods: ZDTindexCheck(), ZDTindexDelete(), ZDTindexExists(), ZDTindexOpen(), ZDTindexSQLCheckUnique(), ZDTindexSQLExists(), ZDTindexSQLFindPKeyByConstraint(), ZDTindexSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods


Storage Model: Storage (SYS.History.SysData)


Storage Model: Storage (SYS.History.SysData)