Skip to main content

%DeepSee.CubeManager.CubeEvent

Class %DeepSee.CubeManager.CubeEvent Extends %Persistent [ System = 4 ]

Records a single history event for a given cube for analysis of cube management.

Properties

CubeKey

Property CubeKey As %DeepSee.Datatype.entityName [ Required ];

The cube that is the subject of this event.

CubeEvent

Property CubeEvent As %DeepSee.Datatype.entityName(DISPLAYLIST = ",PreSynchCode,PostSynchCode,PostBuildCode,Build,Synch,Register,Unregister,Update,Repair", VALUELIST = ",presynch,postsynch,postbuild,build,synch,register,unregister,update,repair");

The event being recorded.

UpdatePlan

Property UpdatePlan As %DeepSee.Datatype.entityName;

Plan for how the cube is to be managed by the build/synch tasks.

MgmtGroup

Property MgmtGroup As %DeepSee.Datatype.entityName;

Management group the cube belongs to.

UserName

Property UserName As %Library.Username;

Name of the user that initiated the event.

StartTime

Property StartTime As %TimeStamp;

Timestamp recorded prior to event execution

FinishTime

Property FinishTime As %TimeStamp;

Timestamp recorded at the completion of the cube event.

TotalTime

Property TotalTime As %Numeric;

Total amount of time this event took;

CubeSize

Property CubeSize As %Integer;

Stores the current cube size of the cube. If the event is constructive (eg Build, Synch), this will be recorded after the event completes. If the event is destructive (eg Unregister) this is recorded prior to execution.

FactsUpdated

Property FactsUpdated As %Integer;

The number of facts updated in this event. This will only be set in Build or Synch operations. For builds, it is equal to the final cube size.

EventStatus

Property EventStatus As %Status;

Records the status message, if it exists, of the event after completion.

AsynchUpdate

Property AsynchUpdate As %Boolean;

Record of whether or not the build was called in asynchronous mode

AgentCount

Property AgentCount As %Integer;

Number of agents active on the system. This is the value returned by ##class(%DeepSee.Utils).%GetAgentCount()

BuildFrequency

Property BuildFrequency As %Integer;

Indicates how often the cube is scheduled to be built, in units of BuidTimeUnit

BuildTimeUnit

Property BuildTimeUnit As %DeepSee.Datatype.entityName;

Base unit of time for cube builds.

SynchFrequency

Property SynchFrequency As %Integer;

Indicates how often the cube is scheduled to be synched, in units of SynchTimeUnit

SynchTimeUnit

Property SynchTimeUnit As %DeepSee.Datatype.entityName;

Base unit of time for cube synchs.

NCores

Property NCores As %Integer;

Number of CPU cores

ExprTime

Property ExprTime As %Numeric;

For builds, the build time spent processing expressions

iKnowTime

Property iKnowTime As %Numeric;

For builds, the build time spent processing iKnow indices

ErrorCount

Property ErrorCount As %Integer;

For build and synchronize, the count of errors while processing facts during this update.

MissingRefs

Property MissingRefs As %Integer;

For build and synchronize, the count of missing relationship references encountered while processing facts.

DependencyExempt

Property DependencyExempt As %Boolean [ InitialExpression = 0 ];

Log if the synchronize was exempt from the dependency and only updated due to schedule.

Methods

%OnBeforeSave

Method %OnBeforeSave(pInsert As %Boolean) As %Status [ Private, ServerOnly = 1 ]

This callback method is invoked by the %Save method to provide notification that the object is being saved. It is called before any data is written to disk.

insert will be set to 1 if this object is being saved for the first time.

If this method returns an error then the call to %Save will fail.

TransferRegistryInfo

Method TransferRegistryInfo(pCube As %String = "", pAction = "", pMapCube As %DeepSee.CubeManager.RegistryMapCube = "", pMapGroup As %DeepSee.CubeManager.RegistryMapGroup = "") As %Status

Retrieves the current cube management settings from the cube registry and writes them to the event.