Using the Server Performance Counters and Information Fields

Various types of performance counters and information fields are provided for sessions of SAS servers and object spawners. The performance counters provide statistics about activity that has occurred since the server or spawner was last started. The information fields provide static information about the server or spawner configuration or about the current server or spawner session.
The description and the current value of each performance counter and information field are displayed on the server's Options tab, which appears on the right pane of SAS Management Console. To access this tab, follow the instructions in Using SAS Management Console to Monitor SAS Servers.
You can also use third-party monitoring tools to view the counters and information fields and to reset the performance counters. See Using Third-Party Products to Monitor SAS Servers.
The following types of performance counters and information fields are provided:
IOM.information-type
provides status and static information about the selected metadata server, OLAP server, object spawner, pooled workspace server, or stored process server session, including the following information:
  • the server or server start time
  • the current execution state
  • the port on which the server or spawner is listening
  • the time that counters were last reset
  • the name of the server or spawner component
IOM.Countercounter-name
records activity for the selected metadata server, OLAP server, object spawner, pooled workspace server, or stored process server session, including the following information:
  • the number of times that the counters were reset
  • the number of currently connected clients
  • the amount of time that the server or spawner has been idle
  • the amount of time that has been spent processing server method calls
  • the number of method calls that have been processed
  • the number of clients that have been serviced
LogicalServer.logical-server-name.counter-name
records object spawner activity for each logical server that is serviced by the object spawner. This type of counter appears in the object spawner's Options tab.
For logical pooled workspace servers and stored process servers, these counters provide the following information:
  • the number of clients that are connected, pending, and waiting
  • the number of clients that have been redirected, that have timed out, and that have been denied authorization
  • the number of servers and the number of active peers that are running in the cluster
  • the total waiting time for clients
For logical pooled workspace servers, the counters provide information about the total waiting time for clients and the number of clients that have been denied authorization. For logical non-pooled workspace servers, a counter provides the number of clients that have been denied authorization.
LogicalServer.logical-server-name.information-type
provides static information about each logical server that is serviced by the object spawner. This type of field appears in the object spawner's Options tab. These fields provide information such as the logical server's class identifier, authorization service, security settings, maximum wait time, and load balancing configuration (if applicable).
LogicalServerName.n
provides the names of each logical server that is serviced by the object spawner. This field appears in the object spawner's Options tab.
Metadata.Countermethod-name
records the number of times that specific metadata server methods are called. This type of counter provides information such as the following:
  • the number of times that SAS Data Integration Studio calls the change management methods that are used to check out and check in metadata
  • the number of times that the metadata server is paused and resumed
Metadata.CounterIOtransaction-type
records low-level input and output activity on metadata repository data sets. This type of counter is updated as follows:
  • Each time a repository, metadata object, or association is created, deleted, updated, or read in any metadata repository on the server, the appropriate counter is incremented by one.
  • If a metadata object is the first object of its type to have an operation performed, then counters are incremented by more than one. For example, if an object is added and the object's metadata type does not yet exist in the repository, then Metadata.CounterIOAdd is incremented by 3.
  • When a repository is deleted, the Metadata.CounterIODelete counter is incremented by one and the Metadata.CounterIOAdd counter is incremented by one because a new container registry is created.
Metadata.CounterJournalcounter-name
records activity and status information for the metadata server's journal file. This type includes the following counters:
Metadata.CounterJournalDataAvailable
indicates the number of bytes of data that are in the journal file that have not yet been applied to the repository data sets on disk.
Metadata.CounterJournalDecompDataAvailable
provides the raw number of bytes for the Metadata.CounterJournalDataAvailable counter, before compression.
Metadata.CounterJournalDataAvailableMax
indicates the largest amount of metadata, in bytes, that has been committed to memory but not to repository data sets on disk. This value is equal to the highest value that has been placed in the Metadata.CounterJournalDataAvailable counter during the current server session. You can use this counter to determine the appropriate value for the JOURNALFILESIZE parameter of the omaconfig.xml file. If the omaconfig.xml JOURNALFILESIZE option specifies a journal file size that is too small, the metadata server slows down to allow the background task to catch up.
Metadata.CounterJournalDecompDataAvailableMax
provides the raw number of bytes for the Metadata.CounterJournalDataAvailableMax counter, before compression.
Metadata.CounterJournalDataWritten
indicates the total number of bytes of metadata that have been written to the journal file since the file was created. This number continues to grow throughout the life of the journal file and is not reset when the server is stopped and restarted.
Metadata.CounterJournalDecompDataWritten
provides the raw number of bytes for the Metadata.CounterJournalDataWritten counter, before compression.
Metadata.CounterJournalMaxFileEntrySize
indicates the maximum number of bytes of data in a single journal entry in the journal.
Metadata.CounterJournalMaxDecompEntrySize
provides the raw number of bytes for the Metadata.CounterJournalMaxFileEntrySize counter, before compression.
Metadata.CounterJournalSpaceAvailable
indicates either the number of bytes of space left in the journal file (if the file is a fixed size), or 999999999 if the journal file does not have a fixed size.
Metadata.CounterJournalTransProcessed
indicates the number of transactions that have been fully processed to the data sets on disk since the metadata server was last started.
Metadata.CounterJournalTransQueued
indicates the number of transactions in the journal file that are currently waiting to be applied to metadata repositories on disk. This counter corresponds to the Metadata.CounterJournalDataAvailable counter, which measures the outstanding workload in bytes.
Metadata.CounterJournalTransWritten
indicates the number of transactions that have been processed since the server was started with journaling enabled. The number includes transactions that are still in the journal file and those that have been applied to repositories on disk. This number is reset when the server is paused to an Offline state and resumed, and also when the server is stopped and restarted.
Metadata.CounterRetryUpdateLockcounter-name
provides information to help diagnose performance issues with metadata updates that involve multiple repositories, particularly if messages indicate that repositories were not properly locked. This type includes the following counters:
Metadata.CounterRetryUpdateLockMiss
indicates the number of missing repository update locks that have been encountered.
Metadata.CounterRetryUpdateLockMissCount
indicates the number of times that requests were restarted because a repository update lock was missing.
Metadata.CounterRetryUpdateLockRequest
indicates the number of requests that were restarted because a repository update lock was missing.
Metadata.CounterRetryUpdateLockHighWater
indicates the highest number of update lock retries that occurred for a single request. This value cannot exceed the update retry limit, which is specified in the omaconfig.xml file's MAXIMUM_RETRY_COUNT option.
Metadata.CounterRetryUpdateLockFailed
indicates the number of requests that could not be completed within the update retry limit, which is specified in the omaconfig.xml file's MAXIMUM_RETRY_COUNT option.
Metadata.CounterRetryUpdateLockExtra
indicates the number of repository update locks that have been obtained but not used. This number includes update locks for requests that only needed to read information from the repository.
Metadata.CounterRetryUpdateLockExtraCount
indicates the number of requests that obtained but did not use an update lock. This includes requests that only needed to read information from the repository.
For more information about repository update locks, see MAXIMUM_RETRY_COUNT.
Metadata.CounterRetryQueryLockcounter-name
provides information to help diagnose performance issues with metadata queries that involve multiple repositories, particularly if messages indicate that repositories were not properly locked. This type includes the following counters:
Metadata.CounterRetryQueryLock
indicates the number of query locks that were needed after requests were started.
Metadata.CounterRetryQueryLockMiss
indicates the number of missing repository query locks that could not be obtained, and the number of times that query requests were restarted because of missing query locks.
Metadata.CounterRetryQueryLockRequest
indicates the number of query requests that were restarted because query locks could not be obtained.
Metadata.CounterRetryQueryLockHighWater
indicates the highest number of query lock retries that occurred for a single request. This value cannot exceed the query retry limit, which is specified in the omaconfig.xml file's MAXIMUM_QUERY_RETRY_COUNT option.
Metadata.CounterRetryQueryLockFailed
indicates the number of query requests that could not be completed within the query retry limit, which is specified in the omaconfig.xml file's MAXIMUM_QUERY_RETRY_COUNT option. The default for this option is 7 or the number of repositories that were registered when the server was last started, whichever is greater. If the Metadata.CounterRetryQueryLockFailed counter is greater than zero, and if there is a possibility that new repositories were created since the server was last started, then you might want to restart the metadata server in order to reset the default.
For more information about repository query locks, see MAXIMUM_QUERY_RETRY_COUNT.
OBJSPAWN.counter-name
records activity for the selected object spawner session, including the number of servers launched, the number of servers abandoned, and the number of servers that failed to launch.
Server.information-type
provides static information about the selected metadata server, OLAP server, object spawner, pooled workspace server, or stored process server session, including the following information:
  • the number of CPUs that are available
  • the executable that was used to launch the server or spawner
  • the identity under which the server or spawner process is executing
  • the process ID
  • the name of the computer where the server or spawner process is executing