Skip to main content

Lock tree

Home > Select Project > Analysis > Lock Tree

You can analyze the trend of locks during the day. The session that caused a lock (Lock Holder) and the session waiting for a lock (Lock Waiter) can be checked through a tree structure. Through these functions, you can analyze queries by checking the relationship between holders and waiters for locks that occurred at specific points.

Basic screen guide

Lock tree

Select the desired date, time, and instance to view in number 1 Time and number 2 Instance. If a lock occurs at the set time, the searched data appears in Lock Wait Sessions and the Lock Tree table at the bottom of the screen.

  • You can see the data for up to two weeks within a chart. If you click a specific time in the graph chart, you can check the lock information for the selected time in the table at the bottom of the screen. If you select the button in seconds, you can view the lock information in 5-second increments.


    Through the tags on the upper right of the Lock Wait Sessions chart, you can see the units to view.

  • As you continuously drag (drill down) a specific time zone on the graph chart, you can see the charts and lock trees for detailed time zones.

  • You can see the data in 5-second increments by dragging within 3 hours on the chart. However, the data in 5-second increments can only be viewed within the most recent month. The data earlier than one month can only be viewed as 5-minute summary data. For example, you can drag (drill down) lock tree data from 40 days ago for the 5-minute summary data, but you cannot see 5-second data.

Column information guide

pidProcess ID
dbDatabase name
userSQL execution account
applicationClient application name
client_hostHost name of the connected client (reported by reverse DNS lookup of client_addr)
client_addrClient IP address
client_portClient port number (in case of using the UNIX socket -1)
query_hashHash value of query (internal WhaTap control value)
query_startTime when the active query started (if the state is not active, it is the last query started time)
stateCurrent status of the backend process (active, idle, etc.)
state_changeLast time when the state was changed
xact_startTime when the current transaction for the process started (null if no transaction is active)
backend_startTime when the backend process started
backend_xminMinimum value of xid whose backend process is being processed
backend_typeType of the backend process (e.g. autovacuum worker, logical replication launcher, client backend, checkpointer)
backend_xidxid whose backend is being processed
wait_event_typeType of the event whose backend process is in standby
wait_eventWaiting event name where the backend process is in standby

WhaTap basically stores the client-related information.