Throughput / Service Classes
Purpose
Service classes view shows how much work is happening in each WLM service class.
One of the main purposes of WLM service classes is to apply different priorities and or policies to different types of work. For example, limiting the number of large queries allowed to run concurrently. Service classes are also used to give higher priority to business critical applications.
Validating that service classes are serving their intended purpose requires monitoring the performance of activities that are running in them.
Each row in this view shows a service subclass. You can use filtering or sorting to group the service subclasses by service superclass.
Screenshot
![image image](/dmctop-wiki/static/4e86190af41242382b3581a0a353b853/3cbba/service_classes.png)
Metrics Shown
Service superclass name
The name of a service superclass.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SERVICE_SUPERCLASS_NAME
Service subclass name
The name of a service subclass.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SERVICE_SUBCLASS_NAME
Cpu time
The total amount of CPU time used while within the database system.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(TOTAL_CPU_TIME)
Activities completed
The total number of coordinator activities that completed successfully.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(ACT_COMPLETED_TOTAL)
App requests completed
The total number of external (application) requests executed by the coordinator.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(APP_RQSTS_COMPLETED_TOTAL)
Avg app request time
The total elapsed time spent on application requests.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(TOTAL_APP_RQST_TIME)
Activities queued
The total number of times that activities or connections have been queued by a WLM threshold.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(WLM_QUEUE_ASSIGNMENTS_TOTAL)
Rows read
The total number of rows read from the table.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(ROWS_READ)
Row modified
The total number of rows inserted, updated, or deleted.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(ROWS_MODIFIED)
Rows returned
The total number of rows that have been selected and returned to the application.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(ROWS_RETURNED)
Logical reads
The total number of pages read from the local buffer pool (logical) for regular and large table spaces.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).(SUM(POOL_DATA_L_READS) + SUM(POOL_INDEX_L_READS) + SUM(POOL_XDA_L_READS) + SUM(POOL_COL_L_READS) + SUM(POOL_TEMP_DATA_L_READS) + SUM(POOL_TEMP_INDEX_L_READS) + SUM(POOL_TEMP_XDA_L_READS) + SUM(POOL_TEMP_COL_L_READS))
Lock waits
The total number of times that applications or connections waited for locks.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(LOCK_WAITS)
Lock timeout
The number of times that a request to lock an object timed out instead of being granted.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(LOCK_TIMEOUTS)
Lock escal
The number of times that locks have been escalated from several row locks to a table lock.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(LOCK_ESCALS)
Deadlock
The total number of deadlocks that have occurred.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(DEADLOCKS)
Threshold violation
The total number of times a threshold was violated.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(THRESH_VIOLATIONS)
Sort
The total number of sorts that have been executed.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(TOTAL_SORTS)
Sort overflow
The total number of sorts that ran out of sort heap and may have required disk space for temporary storage.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(SORT_OVERFLOWS)
Hash group by op
The total number of hashed GROUP BY operations.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(TOTAL_HASH_GRPBYS)
Hash group overflow
The number of times that GROUP BY operations using hashing as their grouping method exceeded the available sort heap memory.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(HASH_GRPBY_OVERFLOWS)
Activities aborted
The total number of coordinator activities at any nesting level that completed with errors.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(ACT_ABORTED_TOTAL)
Activities rejected
The total number of coordinator activities at any nesting level that were rejected instead of being allowed to execute.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(ACT_REJECTED_TOTAL)
Direct reads
The number of read operations that do not use the buffer pool.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(DIRECT_READS)
Direct writes
The number of write operations that do not use the buffer pool.
Source: MON_GET_SERVICE_SUBCLASS(NULL, NULL, #MEMBER#).SUM(DIRECT_WRITES)