FARGOS/VISTA runtime components maintain a variety of statistics and informative constants that are used by applications to obtain information about the local system and observed performance. The table below describes the standard set of attributes provided in the FARGOS/VISTA runtime environments.
Attribute Name | Description |
---|---|
IOmaxReadBuffer | Maximum number of bytes retrieved by IOobject:readBytes if length not specified. |
IOmaxVectors | Maximum number of vectors that can be written by an atomic writev call. IOobject:writeVectorOfBytes can handle an arbitrary number of vectors, but will be required to make repeated calls to writeVectorOfBytes. If IOmaxVectors is small (e.g., 16) and the vector to be output is composed of numerous but short strings, it can be beneficial to consolidate the vector by concatenating the strings and thus avoid many repeated calls to writeVectorOfBytes. |
IOtotalDescriptorsCreated | Total number of I/O descriptors created (IOobject) |
IOtotalDescriptorsDeleted | Total number of I/O descriptors deleted (IOobject). Total descriptors in use = IOtotalDescriptorsCreated - IOtotalDescriptorsDeleted. |
IOtotalEmulatedWriteVectors | Total number of writeVectorOfBytes converted to sequence of writeBytes calls because underlying O/S or I/O descriptor technology does not support scatter/gather operations. The optimal value is zero. |
IOtotalFileReads | Total number of readBytes calls on a file (IOobject:readBytes). |
IOtotalFileSelectRead | Total number of selectForRead calls on a file (IOobject:selectForRead). |
IOtotalFileSelectWrite | Total number of selectForWrite calls on a file (IOobject:selectForWrite). |
IOtotalFileWriteVectors | Total number of writev calls on a file (IOobject:writeVectorOfBytes). |
IOtotalFileWrites | Total number of write calls on a file (IOobject:writeBytes). |
IOtotalFilesCreated | Total number of files opened. |
IOtotalFilesDeleted | Total number of files closed. Number of files in use = IOtotalFilesCreated - IOtotalFilesDeleted. |
IOtotalSocketRecvFroms | Total number of recvfrom calls on a socket (IOobject:receiveDatagram). |
IOtotalSocketRecvs | Total number of recv calls on a socket (IOobject:readBytes). |
IOtotalSocketSelectRead | Total number of selectForRead calls on a socket (IOobject:selectForRead). |
IOtotalSocketSelectWrite | Total number of selectForWrite calls on a socket (IOobject:selectForWrite). |
IOtotalSocketSendTos | Total number of sendto calls on a socket (IOobject:sendDatagram). |
IOtotalSocketSends | Total number of send calls on a socket (IOobject:writeBytes). |
IOtotalSocketWriteVectors | Total number of writev calls on a socket (IOobject:writeVectorOfBytes). |
IOtotalSocketsAccepted | Total number of incoming connections accepted (IOobject:acceptConnection). |
IOtotalSocketsCreated | Total number of all sockets created. |
IOtotalSocketsDeleted | Total number of all sockets deleted. Total sockets in use = IOtotalSocketsCreated - IOtotalSocketsDeleted. |
IOtotalUnixSocketsCreated | Total number of Unix file domain sockets created. |
IOtotalUnixSocketsDeleted | Total number of Unix file domain sockets deleted. Total Unix file domain sockets in use = IOtotalUnixSocketsCreated - IOtotalUnixSocketsDeleted. |
IOtruncReadBuffer | Number of times an explicitly allocated IOobject:readBytes buffer had to be truncated because there was insufficient data available. The optimal value is zero. |
IOtruncReadDatagramBuffer | Number of times an explicitly allocated IOobject:receiveDatagram buffer had to be truncated because there was insufficient data available. The optimal value is zero. |
alternativeMethodTotal | Total number of methods that have multiple implementations (typically a result of being specified as unique so that the actual implementation is selected based on the arguments passed to a method at runtime). |
classTotal | Total number of classes currently loaded in the local FARGOS/VISTA Object Management Environment. |
cpusAvailable | The number of CPUs administratively allocated to the FARGOS/VISTA Object Management Environment process. |
elaspedCPUticks | Amount of time in total CPU ticks expended within the FARGOS/VISTA Object Management Environment. |
hostName | The name of the local host. |
maximumCPUs | The maximum number of CPUs the local FARGOS/VISTA Object Management Environment is configured to be capable of utilizing. It does not mean that such CPUs exist. The cpusAvailable attribute will always be between 1 and the value of maximumCPUs. |
methodTotal | The total number of methods currently loaded in the local FARGOS/VISTA Object Management Environment. |
millisecondsUp | The total number of milliseconds that have elapsed since the FARGOS/VISTA-based process began execution. |
minWorkForMultiprocessing | The minimum number of works units that must be queued before an additional CPU will be utilized. For maximum utilization of multiple CPUs, the value of minWorkForMultiprocessing can be set to 1; however, that overall efficiency can be impacted. It takes some work to both start and stop a CPU (perhaps inertia is a useful analogy) and simultaneous operation of multiple CPUs invariably creates contention for locks on critical global data structures. If there is insufficient work available for true parallel execution, two CPUs will interfere with each other to such an extent as to make the system run slower than if there was only a single CPU. |
nameSpaceTotal | The total number of distinct name spaces defined in the local FARGOS/VISTA Object Management Environment. |
processID | The process Id assigned by the native host operating system to the local FARGOS/VISTA-based process. |
slicesOnKernelThread-0 | Total number of time slices executed by the FARGOS/VISTA Object Management Environment scheduler utilizing the native operating system's primary kernel thread. If more than one CPU is being used (see cpusAvailable), there will be a corresponding slicesOnKernelThread-N attribute for each additional CPU 1 through (cpusAvailable - 1). |
stopFlag | Current run state of the FARGOS/VISTA-based application. A non-zero value means a stop has been requested. |
totalArrayDeepCopies | The total number of times a sparse array had to be duplicated as a consequence of a copy-on-write operation. The optimal value is zero. |
totalAssocDeepCopies | The total number of times an associative array had to be duplicated as a consequence of a copy-on-write operation. The optimal value is zero. |
totalOIDsCreated | Total number of object Ids created or imported during the current execution of the FARGOS/VISTA-based application. |
totalOIDsDeleted | Total number of object Ids deleted during the current execution of the FARGOS/VISTA-based application. The total number of objects known to the application is no more than totalOIDsCreated - totalOIDsDeleted; however, it might be less than that. |
totalObjectsCreated | Total number of objects created or imported during the current execution of the local FARGOS/VISTA Object Management Environment process. |
totalObjectsDeleted | Total number of objects deleted or removed during the current execution of the local FARGOS/VISTA Object Management Environment. The total number of objects resident can be computed as totalObjectsCreated - totalObjectsDeleted. Note that the total number of objects resident is not the same as the total number of objects known to the system—many other objects can be either paged out (e.g., PersistentObjects) or within a remote peer. |
totalSetDeepCopies | The total number of times a set had to be duplicated as a consequence of a copy-on-write operation. The optimal value is zero. |
totalStringDeepCopies | The total number of times a string had to be duplicated as a consequence of a copy-on-write operation. The optimal value is zero. |
totalThreadsAllowed | The total number of times the execution of a method would have been delayed if not for the fact it was permitted to proceed because the method had been previously allowed. |
totalThreadsCreated | The total number of threads created during the execution of the local FARGOS/VISTA Object Management Environment. |
totalThreadsDelayed | The total number of times the execution of a method was delayed. This is usually because another thread was active upon the same object. The optimal value is zero. |
totalThreadsDeleted | The total number of threads terminated during the execution of the local FARGOS/VISTA Object Management Environment. The total number of threads in use is equal to totalThreadsCreated - totalThreadsDeleted. |
totalTimeEventCalls | Total number of times the timer queue was evaluated. This monotonically increasing value should be interpreted in the context of millisecondsUp. The efficiency of the system is proportional to totalTimeEventCalls / millisecondsUp; smaller values are better. |
totalWaitForIOcalls | Total number of times the FARGOS/VISTA-based application checked to see if pending I/O operations were ready to proceed. This monotonically increasing value should be interpreted in the context of millisecondsUp. The efficiency of the system is proportional to totalWaitForIOcalls / millisecondsUp; smaller values are better. |
vista_cpu | A string identifying the CPU architecture for which the FARGOS/VISTA-based executable was compiled (e.g., "x86_64", "sparc", "s390x"). |
vista_major_version | An integer identifying the major version number of the FARGOS/VISTA release. Corresponds to field V in the version Id V-N.R. |
vista_minor_version | An integer identifying the minor version number of the FARGOS/VISTA release. Corresponds to field N in the version Id V-N.R. |
vista_os | A string identifying the native operating system for which the FARGOS/VISTA-based executable was compiled (e.g., "Linux", "SunOS", "OpenBSD", "Darwin", "Windows"). |
vista_release_version | An integer identifying the release version number of the FARGOS/VISTA release. Corresponds to field R in the version Id V-N.R. |