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-04-07T23:30:36Z
Lists: pgsql-hackers
On Tue, Apr 07, 2026 at 06:01:08AM +0000, Bertrand Drouvot wrote:
> That looks to work, thanks! But I was wondering if this new version is not
> introducing a new race: the injection point is not local anymore so it could be
> that another process reach the new injection point. That said, even if this is
> the case I think we're ok since s2 is using "query_until" so we could say that
> "at least" s2 reached the injection point. The new version does not ensure that
> "only" s2 reached the injection point but I think that's safe.

Yes, the lookups based on pg_stat_activity should be enough, I hope.
From what I can see, the buildfarm is silent this morning for this
test, as much as [1] in the CI, so I'd like to think that we are done
here.  Again, I'm hoping so.

[1]: https://cfbot.cputube.org/highlights/all.html
--
Michael

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