%SYS
WriteDaemon Class Reference

This class provides detailed system metrics captured for the Write Daemon(s). More...

Inheritance diagram for WriteDaemon:
Collaboration diagram for WriteDaemon:

Static Public Member Functions

SYS.Stats.WriteDaemon Sample (_.Library.Integer DaemonID)
 Instantiate the class for an individual Write Daemon and fill in current values for. More...
 

Public Attributes

 CurBlk
 The number of blocks written by current/latest cycle. More...
 
 CycleBlk
 The average number of blocks written per WD cycle. More...
 
 CycleStart
 The start time of the last complete write cycle. More...
 
 CycleTime
 The time (in milliseconds) it took for the last complete write cycle. More...
 
 Cycles
 The number of active cycles for this daemon. More...
 
 Index
 An index number to uniquely identify this daemon. More...
 
 Phase
 Current phase of the Write Daemon. More...
 
 TotBlk
 The cumulative number of blocks written by this daemon. More...
 
 VolumeQ
 The list of databases served by this daemon. More...
 
 Wake
 A flag indicating if this daemon is currently active. More...
 
 WakeStart
 Time that the current write cycle started (returns "" if Wake = 0) More...
 

Detailed Description

This class provides detailed system metrics captured for the Write Daemon(s).

Each instance of InterSystems IRIS has a Write Daemon, and on some operating systems may also have Auxiliary Write Daemons. Each instance of this class presents the data for one of these daemons, with the first instance being the main Write Daemon.

The current values for each class instance may be fetched using the Query 'Sample', and then the current value of each property can be accessed.

For example:

s prop="Index,CurBlk,TotBlk,Cycles,CycleBlk,VolumeQ,Wake,CycleTime" ; list of properties s rset=##class(ResultSet).New("SYS.Stats.WriteDaemon:Sample") d rset.Execute() s len=$l(prop,",") ; list properties for all Write Daemons while rset.Next() { f i=1:1:len w rset.Data($p(prop,",",i)) w:i<len "," w ! }

Member Function Documentation

◆ Sample()

SYS.Stats.WriteDaemon Sample ( _.Library.Integer  DaemonID)
static

Instantiate the class for an individual Write Daemon and fill in current values for.

all properties. 'DaemonID' is an integer from 1 to 'n' used to reference each daemon. A number greater than 'n' returns the property 'Index' as zero.

Allows for XML output of a single WriteDaemon instance.

Member Data Documentation

◆ CurBlk

CurBlk

The number of blocks written by current/latest cycle.

 

◆ CycleBlk

CycleBlk

The average number of blocks written per WD cycle.

 

◆ CycleStart

CycleStart

The start time of the last complete write cycle.

This is returned in the same format at $ZTIMESTAMP (UTC date/time)  

◆ CycleTime

CycleTime

The time (in milliseconds) it took for the last complete write cycle.

 

◆ Cycles

Cycles

The number of active cycles for this daemon.

 

◆ Index

Index

An index number to uniquely identify this daemon.

 

◆ Phase

Phase

Current phase of the Write Daemon.



This is an integer that represents the current phase of a processing cycle. The phases are:

0: Idle
1: Cycle initialization
2: Lock set, waiting for updaters
3: Forming block write list
4: Lock clear, waking updaters
5: Writing image journal
6: Image journal done, starting journal sync
7: Commiting WIJ and Journal
8: Database write phase
9: Commiting database writes to disk
10: Clearing WIJ
11: Cycle post processing
12: Cycle complete  

◆ TotBlk

TotBlk

The cumulative number of blocks written by this daemon.

 

◆ VolumeQ

VolumeQ

The list of databases served by this daemon.

 

◆ Wake

Wake

A flag indicating if this daemon is currently active.

 

◆ WakeStart

WakeStart

Time that the current write cycle started (returns "" if Wake = 0)

This is returned in the same format at $ZTIMESTAMP (UTC date/time)