The WLM_GET_SERVICE_CLASS_AGENTS function returns the list of agents, fenced mode processes (db2fmp processes), and system entities on a specified partition that are running in a specified service class or on behalf of a specified application. The system entities are non-agent threads and processes, such as page cleaners and prefetchers.
>>-WLM_GET_SERVICE_CLASS_AGENTS--(--service_superclass_name--,--> >--service_subclass_name--,--application_handle--,--dbpartitionnum--)-><
The schema is SYSPROC.
EXECUTE privilege on the WLM_GET_SERVICE_CLASS_AGENTS function.
SELECT SUBSTR(CHAR(APPLICATION_HANDLE),1,7) AS APPHANDLE,
SUBSTR(CHAR(DBPARTITIONNUM),1,4) AS PART,
SUBSTR(CHAR(AGENT_TID),1,9) AS AGENT_TID,
SUBSTR(AGENT_TYPE,1,11) AS AGENTTYPE,
SUBSTR(AGENT_STATE,1,10) AS AGENTSTATE,
SUBSTR(REQUEST_TYPE,1,12) AS REQTYPE,
SUBSTR(CHAR(UOW_ID),1,6) AS UOW_ID,
SUBSTR(CHAR(ACTIVITY_ID),1,6) AS ACT_ID
FROM TABLE(WLM_GET_SERVICE_CLASS_AGENTS(CAST(NULL AS VARCHAR(128)),
CAST(NULL AS VARCHAR(128)), 1, -2)) AS SCDETAILS
ORDER BY APPHANDLE, PART, AGENT_TID
APPHANDLE PART AGENT_TID AGENTTYPE AGENTSTATE REQTYPE UOW_ID ACT_ID
--------- ---- --------- ----------- ---------- -------------- ------ ------
1 0 3 COORDINATOR ACTIVE FETCH 1 5
1 0 4 SUBAGENT ACTIVE SUBSECTION:1 1 5
1 1 2 SUBAGENT ACTIVE SUBSECTION:2 1 5
The output shows a coordinator agent and a subagent on
partition 0 and a subagent on partition 1 operating on behalf of an
activity with UOW ID 1 and activity ID 5. The coordinator agent reports
that the request is a fetch request.The parameters are, in effect, ANDed together. That is, if you specify conflicting input parameters, such as a service superclass SUP_A and a subclass SUB_B such that SUB_B is not a subclass of SUP_A, no rows are returned.
Column name | Data type | Description |
---|---|---|
SERVICE_SUPERCLASS_NAME | VARCHAR(128) | service_superclass_name - Service superclass name monitor element |
SERVICE_SUBCLASS_NAME | VARCHAR(128) | service_subclass_name - Service subclass name monitor element |
APPLICATION_HANDLE | BIGINT | application_handle - Application handle monitor element |
DBPARTITIONNUM | SMALLINT | Partition number from which this record was collected. |
ENTITY | VARCHAR(32) | One of the following values:
|
WORKLOAD_NAME | VARCHAR(128) | workload_name - Workload name monitor element |
WORKLOAD_OCCURRENCE_ID | INTEGER | workload_occurrence_id - Workload occurrence identifier monitor element |
UOW_ID | INTEGER | uow_id - Unit of work ID monitor element |
ACTIVITY_ID | INTEGER | activity_id - Activity ID monitor element |
PARENT_UOW_ID | INTEGER | parent_uow_id - Parent unit of work ID monitor element |
PARENT_ACTIVITY_ID | INTEGER | parent_activity_id - Parent activity ID monitor element |
AGENT_TID | BIGINT | Thread ID of the agent or system entity. If this ID is unavailable, the value of the column is null. |
AGENT_TYPE | VARCHAR(32) | Agent type. The possible values are as follows:
|
SMP_COORDINATOR | INTEGER | Indication of whether the agent is an SMP coordinator. If yes, the value is 1; if no, the value is 0. |
AGENT_SUBTYPE | VARCHAR(32) | Agent subtype. The possible values are as follows:
|
AGENT_STATE | VARCHAR(32) | Agent state. The possible values are as follows:
|
EVENT_TYPE | VARCHAR(32) | Type of event last processed by this agent.
The possible values are as follows:
See Table 2 for more information about possible values for this column. |
EVENT_OBJECT | VARCHAR(32) | Object of the event last processed by this agent.
The possible values are as follows:
See Table 2 for more information about possible values for this column. |
EVENT_STATE | VARCHAR(32) | State of the event last processed by this agent.
The possible values are as follows:
See Table 2 for more information about possible values for this column. |
REQUEST_ID | VARCHAR(64) | Request ID. This value is unique only in combination with the value of application_handle. You can use this to distinguish between one request that is taking a long time and multiple requests; for example, one long fetch and multiple fetches. |
REQUEST_TYPE | VARCHAR(32) | Type of request. The possible values are as
follows:
|
REQUEST_TYPE (continued) | VARCHAR(32) |
|
NESTING_LEVEL | INTEGER | nesting_level - Nesting level monitor element |
INVOCATION_ID | INTEGER | invocation_id - Invocation ID monitor element |
ROUTINE_ID | INTEGER | routine_id - Routine ID monitor element |
Event description | EVENT_STATE value | EVENT_TYPE value | EVENT_OBJECT value |
---|---|---|---|
Acquire lock | IDLE | ACQUIRE | LOCK |
Escalate lock | EXECUTING | PROCESS | LOCK_ESCALATION |
Process request | EXECUTING | PROCESS | REQUEST |
Wait for a new request | IDLE | WAIT | REQUEST |
Wait for a request to be processed at a remote partition | IDLE | WAIT | REMOTE_REQUEST |
Wait on a Query Patroller queue | IDLE | WAIT | QP_QUEUE |
Wait on a WLM threshold queue | IDLE | WAIT | WLM_QUEUE |
Process a routine | EXECUTING | PROCESS | ROUTINE |
Recreate an index | EXECUTING | PROCESS | INDEX_RECREATE |
Build compression dictionary | EXECUTING | PROCESS | COMP_DICT_BLD |
Implicit rebind | EXECUTING | PROCESS | IMPLICIT_REBIND |