Re: Adding locks statistics

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Michael Paquier <michael@paquier.xyz>
Cc: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, Jeff Davis <pgsql@j-davis.com>, Greg Sabino Mullane <htamfids@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2026-03-24T20:09:37Z
Lists: pgsql-hackers
Hi,

On 2026-03-24 16:02:55 +0900, Michael Paquier wrote:
> Another thing I am not completely sure is if the sleep time of the
> isolation tests is long enough.  I have tested things with
> CLOBBER_CACHE_ALWAYS to make the setup more sensitive to timings but
> could not get it to fail.  We'll know soon enough if the buildfarm
> complains.
> 
> After a few more tweaks here and there (code, comments, some
> beautification), done.

The test is extremely unstable on windows.  On CI 10/16 runs since the test in
failed due to it, afaict.


I don't see how a test with a timeout setting that's anywhere remotely close
to 10ms could be expected to be stable.

Also, anything that requires short sleeps (like pg_sleep(0.05);) is extremely
likely to be a long time test stability hazard. It's a huge "test smell" to
me, to the point that I think every single sleep in a test needs a comment
explaining why that one use of sleep is correct, and that comment better be
signed in blood.

Greetings,

Andres Freund



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix injection point detach timing problem in TAP test for lock stats

  2. Use single LWLock for lock statistics in pgstats

  3. Add tests for lock statistics, take two

  4. Remove isolation test lock-stats

  5. Avoid including clog.h in proc.h

  6. Don't include storage/lock.h in so many headers

  7. Add support for lock statistics in pgstats

  8. Move some code blocks in lock.c and proc.c

  9. Move declarations related to locktags from lock.h to new locktag.h