Skip to main content

SYS.Stats.Buffer

Class SYS.Stats.Buffer Extends SYS.WSMon.wsResource [ System = 4 ]

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 Global buffer metrics with instances for different buffer sizes, 2k, 8k etc.

Properties

Size

Property Size As %Integer;

The buffer size for this queue, e.g. 2K, 8K, etc.

NumSize

Property NumSize As %Integer;

The number of buffers of this size

BatchQ

Property BatchQ As %Integer;

The offset to the start of the LRU queue

Interact

Property Interact As %Integer;

The current number of buffers in interactive portion of LRU queue

MaxInteract

Property MaxInteract As %Integer;

The max number of buffers in interactive portion of LRU queue

MinReQ

Property MinReQ As %Integer;

The threshold for re-queueing a buffer (interactive)

MinReQB

Property MinReQB As %Integer;

The threshold for re-queueing a buffer (batch)

ReQCnt

Property ReQCnt As %Integer;

The number of buffers requeued in the interactive LRU queue

ReQCntB

Property ReQCntB As %Integer;

The number of buffers requeued in the batch LRU queue

WrtQSz

Property WrtQSz As %Integer;

The current number of interactive buffers queued to be written

OffLRUCnt

Property OffLRUCnt As %Integer;

The number of buffers removed from LRU queue

WrtSz

Property WrtSz As %Integer;

The Number of buffers in current write cycle

WrtMax

Property WrtMax As %Integer;

The threshold for waking write demon (interactive)

Avail

Property Avail As %Integer;

The current number of available buffers (interactive)

Min

Property Min As %Integer;

The threshold for no updaters to enter global module (interactive)

MinB

Property MinB As %Integer;

The threshold for no updaters to enter global module (batch)

Methods

SampleExecute

ClassMethod SampleExecute(ByRef qHandle As %Binary) As %Status

Sample counters for all Buffer sizes

SampleClose

ClassMethod SampleClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = SampleExecute ]

SampleFetch

ClassMethod SampleFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = SampleExecute ]

Sample

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.