Skip to main content


class SYS.Stats.Buffer extends SYS.WSMon.wsResource

This class represents detailed system metrics captured for global buffering. Each instance of the class represents a different buffer size, e.g. 2k, 8k, etc.

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="Size,NumSize,BatchQ,Interact,MaxInteract,MinReQ,MinReQB,ReQCnt,ReQCntB,WrtQSz,OffLRUCnt,WrtSz,WrtMax,Avail,Min,MinB" ; list of properties
  s rset=##class(%ResultSet).%New("SYS.Stats.Buffer:Sample")
  d rset.Execute()
  s len=$l(prop,",")
  ; list all resources and related seize counts
  while rset.Next() {
  	f i=1:1:len w rset.Data($p(prop,",",i)) w:i<len ","
  	w !

Global buffer metrics with instances for different buffer sizes, 2k, 8k etc.

Property Inventory

Method Inventory


property Avail as %Integer;
The current number of avaiable buffers (interactive)
Property methods: AvailDisplayToLogical(), AvailGet(), AvailIsValid(), AvailLogicalToDisplay(), AvailNormalize(), AvailSet(), AvailXSDToLogical()
property BatchQ as %Integer;
The offset to the start of the LRU queue
Property methods: BatchQDisplayToLogical(), BatchQGet(), BatchQIsValid(), BatchQLogicalToDisplay(), BatchQNormalize(), BatchQSet(), BatchQXSDToLogical()
property Interact as %Integer;
The current number of buffers in interactive portion of LRU queue
Property methods: InteractDisplayToLogical(), InteractGet(), InteractIsValid(), InteractLogicalToDisplay(), InteractNormalize(), InteractSet(), InteractXSDToLogical()
property MaxInteract as %Integer;
The max number of buffers in interactive portion of LRU queue
Property methods: MaxInteractDisplayToLogical(), MaxInteractGet(), MaxInteractIsValid(), MaxInteractLogicalToDisplay(), MaxInteractNormalize(), MaxInteractSet(), MaxInteractXSDToLogical()
property Min as %Integer;
The threshold for no updaters to enter global module (interactive)
Property methods: MinDisplayToLogical(), MinGet(), MinIsValid(), MinLogicalToDisplay(), MinNormalize(), MinSet(), MinXSDToLogical()
property MinB as %Integer;
The threshold for no updaters to enter global module (batch)
Property methods: MinBDisplayToLogical(), MinBGet(), MinBIsValid(), MinBLogicalToDisplay(), MinBNormalize(), MinBSet(), MinBXSDToLogical()
property MinReQ as %Integer;
The threshold for re-queueing a buffer (interactive)
Property methods: MinReQDisplayToLogical(), MinReQGet(), MinReQIsValid(), MinReQLogicalToDisplay(), MinReQNormalize(), MinReQSet(), MinReQXSDToLogical()
property MinReQB as %Integer;
The threshold for re-queueing a buffer (batch)
Property methods: MinReQBDisplayToLogical(), MinReQBGet(), MinReQBIsValid(), MinReQBLogicalToDisplay(), MinReQBNormalize(), MinReQBSet(), MinReQBXSDToLogical()
property NumSize as %Integer;
The number of buffers of this size
Property methods: NumSizeDisplayToLogical(), NumSizeGet(), NumSizeIsValid(), NumSizeLogicalToDisplay(), NumSizeNormalize(), NumSizeSet(), NumSizeXSDToLogical()
property OffLRUCnt as %Integer;
The number of buffers removed from LRU queue
Property methods: OffLRUCntDisplayToLogical(), OffLRUCntGet(), OffLRUCntIsValid(), OffLRUCntLogicalToDisplay(), OffLRUCntNormalize(), OffLRUCntSet(), OffLRUCntXSDToLogical()
property ReQCnt as %Integer;
The number of buffers requeued in the interactive LRU queue
Property methods: ReQCntDisplayToLogical(), ReQCntGet(), ReQCntIsValid(), ReQCntLogicalToDisplay(), ReQCntNormalize(), ReQCntSet(), ReQCntXSDToLogical()
property ReQCntB as %Integer;
The number of buffers requeued in the batch LRU queue
Property methods: ReQCntBDisplayToLogical(), ReQCntBGet(), ReQCntBIsValid(), ReQCntBLogicalToDisplay(), ReQCntBNormalize(), ReQCntBSet(), ReQCntBXSDToLogical()
property Size as %Integer;
The buffer size for this queue, e.g. 2K, 8K, etc.
Property methods: SizeDisplayToLogical(), SizeGet(), SizeIsValid(), SizeLogicalToDisplay(), SizeNormalize(), SizeSet(), SizeXSDToLogical()
property WrtMax as %Integer;
The threshold for waking write demon (interactive)
Property methods: WrtMaxDisplayToLogical(), WrtMaxGet(), WrtMaxIsValid(), WrtMaxLogicalToDisplay(), WrtMaxNormalize(), WrtMaxSet(), WrtMaxXSDToLogical()
property WrtQSz as %Integer;
The current number of interactive buffers queued to be written
Property methods: WrtQSzDisplayToLogical(), WrtQSzGet(), WrtQSzIsValid(), WrtQSzLogicalToDisplay(), WrtQSzNormalize(), WrtQSzSet(), WrtQSzXSDToLogical()
property WrtSz as %Integer;
The Number of buffers in current write cycle
Property methods: WrtSzDisplayToLogical(), WrtSzGet(), WrtSzIsValid(), WrtSzLogicalToDisplay(), WrtSzNormalize(), WrtSzSet(), WrtSzXSDToLogical()


classmethod Sample(Size As %Integer) as SYS.Stats.Buffer
Instantiate the class for a particular size and fill in current values for all properties. 'Size' should be one of 8192, 16384, 32768, 65536 If there are no buffers of the requested size, then NumSize will be zero.

Allows for XML output of a single Buffer instance.
classmethod SampleClose(ByRef qHandle As %Binary) as %Status
classmethod SampleExecute(ByRef qHandle As %Binary) as %Status
classmethod SampleFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status


query Sample()
Selects Size As %Integer, NumSize As %Integer, BatchQ As %Integer, Interact As %Integer, MaxInteract As %Integer, MinReQ As %Integer, MinReQB As %Integer, ReQCnt As %Integer, ReQCntB As %Integer, WrtQSz As %Integer, OffLRUCnt As %Integer, WrtSz As %Integer, WrtMax As %Integer, Avail As %Integer, Min As %Integer, MinB As %Integer
Sample counters for all Buffer sizes

Inherited Members

Inherited Methods

FeedbackOpens in a new tab