How it works
The viewer reads the pasted text in your browser. Nothing is sent anywhere, so you can paste production output.
- Each row is a waiting session and the session it waits for.
- A root blocker blocks others but is not blocked itself. Ending a session in the middle of a chain fixes nothing.
- A root blocker that is missing from your rows is usually idle with an open transaction. It holds locks without running anything, so blocking queries don't list it as a request.
- Sessions that wait for each other in a loop are a deadlock.
Queries that produce the right output
- SQL Server: step 1 of How to find what's blocking in SQL Server, or
sp_who2. - PostgreSQL: step 1 of How to find blocking and deadlocks in PostgreSQL.
- MySQL 8:
SELECT waiting_pid, blocking_pid, waiting_query FROM sys.innodb_lock_waits;
Blocking, drawn live in Quorum
Quorum's incident view shows who waits for whom, with the root blocker, transaction age and owning program, without copying and pasting. A free 14-day trial is coming soon; request access to hear first.