Skip to main contentIBM dmctop Wiki

Sessions / Connections

Purpose

Sessions/Connections view tells you at a glance which connections are active, blocked, or idle, who is connected, what applications they are running and how much of various resources they are consuming. Connections (sometimes also known as sessions) are tied to users and applications. You can drill down on a connection to see details of the current state of execution of SQL that is in question.

Screenshot

image

Metric shown

Gauge


Act session

The percentage of executing connections among all active connections.

= ACTIVE_CONN / TOTAL_CONN

TOTAL_CONN: The number of agents that have AGENT_STATE of ACTIVE and non-zero APPLICATION_HANDLE.

ACTIVE_CONN: The number of agents that have EVENT_STATE of EXECUTING, EVENT_TYPE of PROCESS and idle duration (CURRENT TIMESTAMP - AGENT_STATE_LAST_UPDATE_TIME) less than 15 seconds.

Source: MON_GET_AGENT(NULL,NULL,NULL,#MEMBER#)

Grid


FCM buffers sent

The total number of FCM buffers sent from the current database member to a remote database member.


FCM buffers rec

The total number of FCM buffers received from a remote database member.


Dynamic sql stmts

The number of dynamic SQL statements that were attempted.

Source: MON_GET_DATABASE(#MEMBER#).SUM(DYNAMIC_SQL_STMTS)


Bufferpool reads

The number of pages read by agents from the buffer pool (logical).


Oldest trans. id

The application ID of the oldest units of work appeared in the list.


Logs to redo

The total amount of log (in bytes) that will have to be redone for crash recovery.


Total sorts

The total number of sorts that have been executed.

Source: MON_GET_DATABASE(#MEMBER#).SUM(TOTAL_SORTS)


Total connections

The number of agents that have AGENT_STATE of ACTIVE and non-zero APPLICATION_HANDLE.

Source: MON_GET_AGENT(NULL,NULL,NULL,#MEMBER#)


Page cleans

The total number of times a page cleaner was invoked.


Active hash joins

The total number of hash joins that are currently running and consuming memory.

Source: MON_GET_DATABASE(#MEMBER#).SUM(ACTIVE_HASH_JOINS)


Static sql stmts

The number of static SQL statements that were attempted.

Source: MON_GET_DATABASE(#MEMBER#).SUM(STATIC_SQL_STMTS)


Bufferpool writes

The number of times a buffer pool page was physically written to disk.


Db files closed

The total number of database files closed.

Source: MON_GET_DATABASE(#MEMBER#).SUM(FILES_CLOSED)


Logs writes

The number of log pages written to disk by the logger.

Source: MON_GET_TRANSACTION_LOG(#MEMBER#).SUM(LOG_WRITES)


Total trans

Total number of statements issued by the client application.


Stolen pages%

The percentage of times a page cleaner was invoked because the logging space used had reached a predefined criterion for the database.

= POOL_LSN_GAP_CLNS / PAGE_CLEANS

Source:

POOL_LSN_GAP_CLNS = MON_GET_DATABASE(#MEMBER#).SUM(POOL_LSN_GAP_CLNS)


Sort heap alloc

The total number of allocated pages of sort heap space for all sorts at the level chosen and at the time the snapshot was taken.

Source: MON_GET_DATABASE(#MEMBER#).SUM(SORT_HEAP_ALLOCATED)


File system used

The amount of space already used on a file system pointed to by a storage path or container.

Source: MON_GET_CONTAINER(”,#MEMBER#).SUM(FS_USED_SIZE)


Active olap funcs

The total number of OLAP functions that are currently running and consuming sort heap memory.

Source: MON_GET_DATABASE(#MEMBER#).SUM(ACTIVE_OLAP_FUNCS)


Post hash joins

The total number of hashed GROUP BY sort memory requests that were limited because of a concurrent use of the shared or private sort heap space.


Direct reads

The number of read operations that do not use the buffer pool.

Source: MON_GET_DATABASE(#MEMBER#).SUM(DIRECT_READS)


Deadlocks

The total number of deadlocks that have occurred.

Source: MON_GET_DATABASE(#MEMBER#).SUM(DEADLOCKS)


Avg log wrt time(ms)

The average elapsed time spent by the logger writing log data to the disk.

= LOG_WRITE_TIME / LOG_WRITES

Source:

LOG_WRITE_TIME = MON_GET_TRANSACTION_LOG(#MEMBER#).SUM(LOG_WRITE_TIME)

LOG_WRITES = MON_GET_TRANSACTION_LOG(#MEMBER#).SUM(LOG_WRITES)


Sort ratio ovf

The ratio of sorts that ran out of sort heap and may have required disk space for temporary storage.

= SORT_OVERFLOWS / TOTAL_SORTS

Source:

SORT_OVERFLOWS = MON_GET_DATABASE(#MEMBER#).SUM(SORT_OVERFLOWS)

TOTAL_SORTS= MON_GET_DATABASE(#MEMBER#).SUM(TOTAL_SORTS)


Avg query/sess

The average number of SQL statements that were attempted per connection.

= SQL_STMTS / TOTAL_CONS

Source:

TOTAL_CONS = MON_GET_DATABASE(#MEMBER#).SUM(TOTAL_CONS)


Dirty pages%

The percentage of a page cleaner was invoked because a synchronous write was needed during the victim buffer replacement for the database.

= POOL_DRTY_PG_STEAL_CLNS / PAGE_CLEANS

Source:

POOL_DRTY_PG_STEAL_CLNS = MON_GET_DATABASE(#MEMBER#).SUM(POOL_DRTY_PG_STEAL_CLNS)


File system free

The amount of space is free on a file system pointed to by a storage path or container.

Source: MON_GET_CONTAINER(”,#MEMBER#).SUM(FS_TOTAL_SIZE - FS_USED_SIZE)


Total olap funcs

The total number of OLAP functions executed.

Source: MON_GET_DATABASE(#MEMBER#).SUM(TOTAL_OLAP_FUNCS)


Active utilities

The total number of utilities currently running on the database. Number of rows in MON_GET_UTILITY is counted to get the value.

Source: MON_GET_UTILITY(#MEMBER#)


FCM buffers lwm

The lowest number of free FCM buffers reached during processing.

Source: MON_GET_FCM(#MEMBER#).SUM(BUFF_FREE_BOTTOM)


Connections HWM

The maximum number of coordinating agents working at one time.

Source: MON_GET_DATABASE(#MEMBER#).SUM(COORD_AGENTS_TOP)


Post sorts

The number of times that partial early distinct operations received less memory than requested due to sort heap threshold being exceeded.

Source: MON_GET_DATABASE(#MEMBER#).SUM(POST_THRESHOLD_SORTS)


Direct writes

The number of write operations that do not use the buffer pool.

Source: MON_GET_DATABASE(#MEMBER#).SUM(DIRECT_WRITES)


Lock escalations

The number of times that locks have been escalated from several row locks to a table lock.

Source: MON_GET_DATABASE(#MEMBER#).SUM(LOCK_ESCALS)


Logs reads

The number of log pages read from disk by the logger.

Source: MON_GET_TRANSACTION_LOG(#MEMBER#).SUM(LOG_READS)


Avg sorts/trans

Average sorts that have been executed per statement issued by the client application

= TOTAL_SORTS / TOTAL_TRANS

Source:

TOTAL_SORTS = MON_GET_DATABASE(#MEMBER#).SUM(TOTAL_SORTS)


Avg trans

Counter:

The total number of statements issued by the client application.

Delta:

The average number of sorts that have been executed per second.

= TOTAL_SORTS / (CURRENT TIMESTAMP - DB_CONN_TIME)

Source:

TOTAL_SORTS = MON_GET_DATABASE(#MEMBER#).SUM(TOTAL_SORTS)

CURRENT TIMESTAMP = CURRENT TIMESTAMP

DB_CONN_TIME = MON_GET_DATABASE(#MEMBER#).MIN(DB_CONN_TIME)


Threshold%

The percentage of times a page cleaner was invoked because a buffer pool had reached the dirty page threshold criterion for the database.

= POOL_DRTY_PG_THRSH_CLNS / PAGE_CLEANS

Source:

POOL_DRTY_PG_THRSH_CLNS = MON_GET_DATABASE(#MEMBER#).SUM(POOL_DRTY_PG_THRSH_CLNS)


Percent fs used

The percentage of space that is used on a file system pointed to by a storage path or container.

= 1 - FS_FREE_SIZE_BYTES / (FS_FREE_SIZE_BYTES + FS_USED_SIZE)

Source:

FS_FREE_SIZE_BYTES = MON_GET_CONTAINER(”,#MEMBER#).SUM(FS_TOTAL_SIZE - FS_USED_SIZE)

FS_USED_SIZE = MON_GET_CONTAINER(”,#MEMBER#).SUM(FS_USED_SIZE)


Active connections

The number of active connections.

The number of agents that have EVENT_STATE of EXECUTING, EVENT_TYPE of PROCESS and idle duration (CURRENT TIMESTAMP - AGENT_STATE_LAST_UPDATE_TIME) less than 15 seconds.

Source: MON_GET_AGENT(NULL,NULL,NULL,#MEMBER#)

Table


Application handle

A system-wide unique ID for the application.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).APPLICATION_HANDLE


Session cpu % total

The percentage of CPU time usage of the session.

= TOTAL_CPU_TIME / SESSION_CPU_TOTAL

SESSION_CPU_TOTAL: The overall amount of CPU time used while within the database system over all sessions.

Source:

TOTAL_CPU_TIME = MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(TOTAL_CPU_TIME)


Stmt cpu % total

The percentage of CPU time usage of the activity.

= STMT_TOTAL_CPU_TIME_US / STMT_CPU_TOTAL

STMT_CPU_TOTAL: The overall amount of CPU time used by activities over all session.

Source:

STMT_TOTAL_CPU_TIME_US = MON_GET_ACTIVITY(NULL, #MEMBER#).SUM(TOTAL_CPU_TIME)


IO % total

The percentage of pages written and read of the session.

= TOTAL_IO / IO_TOTAL

IO_TOTAL: The overall number of pages written and read over all sessions.

Source:


Memory % total

The percentage of amount of committed memory in use.

= MEMORY_POOL_USED / MEMORY_TOTAL

MEMORY_TOTAL: The overall amount of committed memory in use overall all session.

Source:

MEMORY_POOL_USED = MON_GET_MEMORY_POOL(NULL, CURRENT_SERVER, #MEMBER#).SUM(MEMORY_POOL_USED)


Event state

State of the event last processed by this agent. The possible values are as follows:

  • EXECUTING
  • IDLE

Source: WLM_GET_SERVICE_CLASS_AGENTS(NULL,NULL,NULL,#MEMBER#).EVENT_STATE


Event type

Type of event last processed by this agent. The possible values are as follows:

  • ACQUIRE
  • PROCESS
  • WAIT

Source: WLM_GET_SERVICE_CLASS_AGENTS(NULL,NULL,NULL,#MEMBER#).EVENT_TYPE


Event object

Object of the event last processed by this agent. The possible values are as follows:

  • COMPRESSION_DICTIONARY_BUILD
  • IMPLICIT_REBIND
  • INDEX_RECREATE
  • LATCH
  • LOCK
  • LOCK_ESCALATION
  • QP_QUEUE
  • REMOTE_REQUEST
  • REQUEST
  • ROUTINE
  • WLM_QUEUE
  • TQ_SEND
  • TQ_RECEIVE

Source: WLM_GET_SERVICE_CLASS_AGENTS(NULL,NULL,NULL,#MEMBER#).EVENT_OBJECT


Application name

The name of the application running at the client.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).APPLICATION_NAME


Rows read

The number of rows read from the table.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(ROWS_READ)


Rows written

The number of rows inserted, updated, or deleted.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(ROWS_MODIFIED)


IO read

The number of pages read by agents.


IO written

The number of times a page was physically written to disk.


Session memory

The amount of committed memory in use by this memory pool of the session.


Lockwait time

The total elapsed time spent waiting for locks.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(LOCK_WAIT_TIME)


Lock held

The number of locks currently held.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(NUM_LOCKS_HELD)


Sort time(s)

The total amount of time spent performing sorts while executing a section.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(TOTAL_SECTION_SORT_TIME)


Rows returned


OS user

The ID that the user specified when logging in to the operating system.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).EXECUTION_ID


Db user

The system authorization id for the connection.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SYSTEM_AUTH_ID


Client hostname

The hostname of the machine the client application is connecting from.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).CLIENT_HOSTNAME


Connection start time

The time at which the connection was established with the database server.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).MIN(CONNECTION_START_TIME)


Status enter time

The date and time that the unit of work first required database resources.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).UOW_START_TIME


Timein status(s)

The elapsed time from the unit of work first required database resources.

= CURRENT TIMESTAMP - UOW_START_TIME

Source:

UOW_START_TIME = MON_GET_CONNECTION(NULL, #MEMBER#, 1).UOW_START_TIME


Io type(data/index/temp)

The ratio of different type of pages read by agents.

= dReads /(dReads + iReads + tReads) + “d | ” + iReads /(dReads + iReads + tReads) + “i | ” + tReads /(dReads + iReads + tReads) + “t”

Source:

dReads = MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(POOL_DATA_L_READS)

iReads= MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(POOL_INDEX_L_READS)


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_CONNECTION(NULL, #MEMBER#, 1).SUM(SORT_OVERFLOWS)


Hash join overflow

The number of times that hash join data exceeded the available sort heap space.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(HASH_JOIN_OVERFLOWS)


Coordinator number

The coordinating member for an application.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).MIN(COORD_MEMBER)


Last operation

The type of the last request completed by the application.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).LAST_REQUEST_TYPE)


Max cost estimate

The total max estimated cost of a session.

Source: SUM(MON_GET_ACTIVITY(NULL, #MEMBER#).MAX(QUERY_COST_ESTIMATE))


Internal application

Indicates whether the application is a system application.

If IS_SYSTEM_APPL is 0 then value is NO else YES.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).IS_SYSTEM_APPL


Assoc. agents

The number of subagents associated with an application.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(NUM_ASSOC_AGENTS)


Paral. degree

The overall max actual runtime degree of intrapartition parallelism reported at the statement, activity, transaction, or workload level.

Source: SUM(MON_GET_ACTIVITY(NULL, #MEMBER#).MAX(QUERY_ACTUAL_DEGREE))


Fetch count (stmt)

The total number of rows that have been selected and returned to the application.

Source: SUM(MON_GET_ACTIVITY(NULL, #MEMBER#).SUM(FETCH_COUNT))


Dynamic sql stmts

The number of dynamic SQL statements that were attempted.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(DYNAMIC_SQL_STMTS)


Static sql stmts

The number of static SQL statements that were attempted.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(STATIC_SQL_STMTS)


# of xqueries

The number of XQuery statements executed.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(XQUERY_STMTS)


Client platform

The operating system on which the client application is running.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).CLIENT_PLATFORM


Client pid

The process ID of the client application that made the connection to the database.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).CLIENT_PID


Timeto connect(ms)

The total amount of time spent performing a connection or switch user authentication or request.


Session cpu

The total amount of CPU time used for the session.

Source: MON_GET_CONNECTION(NULL, #MEMBER#, 1).SUM(TOTAL_CPU_TIME)


Statement cpu(us)

The total amount of CPU time used for the statement activity.

Source: MON_GET_ACTIVITY(NULL, #MEMBER#).SUM(TOTAL_CPU_TIME)