Re: Adding locks statistics
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Jeff Davis <pgsql@j-davis.com>, Greg Sabino Mullane <htamfids@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2026-03-18T08:15:27Z
Lists: pgsql-hackers
On Wed, Mar 18, 2026 at 04:36:04AM +0000, Bertrand Drouvot wrote: >> So, we're back to what we were discussing before the split. As in v7, 0003 is >> adding the new GUC. So that we can see what having a new GUC implies in ProcSleep() >> and we can just get rid of 0003 if we think the GUC is not worth the extra complexity >> (I don't have a strong opinion on it but tempted to think that the extra GUC is >> not worth it). > > PFA, a rebase due to fd6ecbfa75ff. Looking again at this patch, all the fields that you are adding are in non-critical paths, so it looks fine by me to begin with this data set. We may want to document that for future readers of the code to not add counter increments in the fast code paths, where performance could matter. Let's also drop 0003 with the GUC. log_lock_waits is enabled by default and we are in a wait path which would not be performance-critical. Regarding the isolation test, the new permutations add 4 pg_sleep() calls at 500ms each, making the stats test longer. It also looks like the outputs are the same for the two alternate expected files? Do you think that it could be possible to move these tests to a new file, perhaps cutting a bit the sleeps to make it faster? -- Michael
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix injection point detach timing problem in TAP test for lock stats
- 3284e3f63cf0 19 (unreleased) landed
-
Use single LWLock for lock statistics in pgstats
- 404a17c155ac 19 (unreleased) landed
-
Add tests for lock statistics, take two
- 557a9f1e3e62 19 (unreleased) landed
-
Remove isolation test lock-stats
- 7c64d56fd976 19 (unreleased) landed
-
Avoid including clog.h in proc.h
- f227b7b20c36 19 (unreleased) landed
-
Don't include storage/lock.h in so many headers
- 2102ebb1953f 19 (unreleased) landed
-
Add support for lock statistics in pgstats
- 4019f725f5d4 19 (unreleased) landed
-
Move some code blocks in lock.c and proc.c
- a90d86518243 19 (unreleased) landed
-
Move declarations related to locktags from lock.h to new locktag.h
- 322bab79744d 19 (unreleased) landed