Re: LWLOCK_STATS
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, pgsql-hackers@postgresql.org
Date: 2012-01-07T21:48:23Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Take fewer snapshots.
- d573e239f035 9.2.0 cited
-
Various micro-optimizations for GetSnapshopData().
- 0d76b60db468 9.2.0 cited
On 07.01.2012 19:18, Tom Lane wrote: > Heikki Linnakangas<heikki.linnakangas@enterprisedb.com> writes: >> A couple of weeks ago I wrote a little patch that's similar to >> LWLOCK_STATS, but it prints out % of wallclock time that is spent >> acquiring, releasing, or waiting for a lock. I find that more useful >> than the counters. > > I would think that the measurement overhead required to obtain two > wall-clock values for every LWLock touch would be so high as to render > any results from this quite suspect. It's based on sampling. The timer calls a callback every X ms, which checks if it's waiting for any lock at that moment, and bumps a counter if so. In LWLockAcquire/Release you just set/reset a global status variable. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com