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.