Added Queue and Pool records to monitor buffer usage

git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@14954 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
This commit is contained in:
rivers
2012-08-16 01:39:56 +00:00
parent d0cb5c9d40
commit 2709e59f95

View File

@@ -173,6 +173,32 @@ record(longin, "$(P)$(R)DroppedArrays_RBV")
field(SCAN, "I/O Intr")
}
record(longin, "$(P)$(R)QueueSize")
{
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))QUEUE_SIZE")
field(PINI, "YES")
field(FLNK, "$(P)$(R)QueueFreeLow")
}
record(calcout, "$(P)$(R)QueueFreeLow") {
field(CALC, "A*0.25")
field(INPA, "$(P)$(R)QueueSize")
field(OUT, "$(P)$(R)QueueFree.LOW")
}
record(longin, "$(P)$(R)QueueFree")
{
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))QUEUE_FREE")
field(LLSV, "MAJOR")
field(LSV, "MINOR")
field(LOLO, "0")
field(HYST, "1")
field(SCAN, "I/O Intr")
}
###################################################################
# These records are the array size and data type #
###################################################################
@@ -337,6 +363,66 @@ record(waveform, "$(P)$(R)NDAttributesFile")
field(NELM, "256")
}
record(longin, "$(P)$(R)FifoFill") {
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FIFO_FILL")
field(SCAN, ".1 second")
field(HHSV, "MAJOR")
field(HSV, "MINOR")
field(HYST, "1")
}
###################################################################
# #
# Status of NDArrayPool - number of buffers, memory used etc. #
# This is only really useful information for plugins that #
# produce output (callbacks) that other plugins can attach to #
# #
###################################################################
record(ai, "$(P)$(R)PoolMaxMem")
{
field(DTYP, "asynFloat64")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))POOL_MAX_MEMORY")
field(PREC, "1")
field(EGU, "MB")
field(SCAN, "Passive")
field(PINI, "YES")
}
record(ai, "$(P)$(R)PoolUsedMem")
{
field(DTYP, "asynFloat64")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))POOL_USED_MEMORY")
field(PREC, "1")
field(EGU, "MB")
field(SCAN, ".1 second")
}
record(longin, "$(P)$(R)PoolMaxBuffers")
{
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))POOL_MAX_BUFFERS")
field(SCAN, "Passive")
field(PINI, "YES")
}
record(longin, "$(P)$(R)PoolAllocBuffers")
{
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))POOL_ALLOC_BUFFERS")
field(SCAN, ".1 second")
}
record(longin, "$(P)$(R)PoolFreeBuffers")
{
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))POOL_FREE_BUFFERS")
field(SCAN, ".1 second")
}
###################################################################
# The asynRecord is used for mainly for trace mask #
###################################################################