Thread: wait event documentation

wait event documentation

From
Robert Haas
Date:
Right now, the information on wait events is organized into one giant
table inside https://www.postgresql.org/docs/devel/static/monitoring-stats.html#monitoring-stats-views
-- the wait event type is inserted into the lefthand column of the
table using moreRows="...", which is awkward to maintain and has
already provoked several fixup commits after people (including me)
messed it up.  And indeed it seems to be slightly messed up at the
moment, too; the LWLock section needs moreRows++.

Instead of continuing to repair this every time it gets broken, I
propose that we break this into one table that lists all the
wait_event_type values -- LWLock, Lock, BufferPin, Activity, Client,
Extension, IPC, Timeout, and IO -- and then a second table for each
type that has multiple wait events listing all of the wait events for
that type.

I also propose hoisting this out of section 28.2.3 - Viewing
Statistics - and making it a new toplevel section of chapter 28.  So
between the current "28.3 Viewing Locks" and the current "28.4
Progress Reporting" we'd add a new section "Wait Events" and link to
that from 28.2.3.  That would also give us a place to include any
general text that we want to have regarding wait events, apart from
the tables.

Thoughts?

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Re: wait event documentation

From
"Tsunakawa, Takayuki"
Date:
From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Robert Haas
> Instead of continuing to repair this every time it gets broken, I propose
> that we break this into one table that lists all the wait_event_type values
> -- LWLock, Lock, BufferPin, Activity, Client, Extension, IPC, Timeout, and
> IO -- and then a second table for each type that has multiple wait events
> listing all of the wait events for that type.
> 
> I also propose hoisting this out of section 28.2.3 - Viewing Statistics
> - and making it a new toplevel section of chapter 28.  So between the current
> "28.3 Viewing Locks" and the current "28.4 Progress Reporting" we'd add
> a new section "Wait Events" and link to that from 28.2.3.  That would also
> give us a place to include any general text that we want to have regarding
> wait events, apart from the tables.

+1
I'm visually impaired and using screen reader software which reads text by Synthetic speech.  It was not easy for me to
navigatea large table to find the first row of a particular wait event type.  With your proposal, I'll be able to move
amongtables with a single key press ("T" and "Shift + T".)  I'd also be happy about separating the section for wait
eventsas you propose, because navigating in a long section is cumbersome.
 

Regards
Takayuki Tsunakawa




Re: wait event documentation

From
Amit Langote
Date:
On 2017/04/03 22:32, Robert Haas wrote:
> Right now, the information on wait events is organized into one giant
> table inside https://www.postgresql.org/docs/devel/static/monitoring-stats.html#monitoring-stats-views
> -- the wait event type is inserted into the lefthand column of the
> table using moreRows="...", which is awkward to maintain and has
> already provoked several fixup commits after people (including me)
> messed it up.  And indeed it seems to be slightly messed up at the
> moment, too; the LWLock section needs moreRows++.
> 
> Instead of continuing to repair this every time it gets broken, I
> propose that we break this into one table that lists all the
> wait_event_type values -- LWLock, Lock, BufferPin, Activity, Client,
> Extension, IPC, Timeout, and IO -- and then a second table for each
> type that has multiple wait events listing all of the wait events for
> that type.
> 
> I also propose hoisting this out of section 28.2.3 - Viewing
> Statistics - and making it a new toplevel section of chapter 28.  So
> between the current "28.3 Viewing Locks" and the current "28.4
> Progress Reporting" we'd add a new section "Wait Events" and link to
> that from 28.2.3.  That would also give us a place to include any
> general text that we want to have regarding wait events, apart from
> the tables.
> 
> Thoughts?

+1.

By the way, wonder if it wouldn't make sense to take the whole Table 28.1.
Dynamic Statistics Views into a new section (perhaps before 28.2 Viewing
Locks or after), since those views display information different from what
the statistics collector component collects and publishes (those in the
Table 28.2. Collected Statistics Views).

Thanks,
Amit





Re: wait event documentation

From
Robert Haas
Date:
On Mon, Apr 3, 2017 at 11:57 PM, Amit Langote
<Langote_Amit_f8@lab.ntt.co.jp> wrote:
> By the way, wonder if it wouldn't make sense to take the whole Table 28.1.
> Dynamic Statistics Views into a new section (perhaps before 28.2 Viewing
> Locks or after), since those views display information different from what
> the statistics collector component collects and publishes (those in the
> Table 28.2. Collected Statistics Views).

It seems a little short for that, doesn't it?  I mean, I'm not against
it on principle, but we don't want to hoist a 5-line table into a
section by itself.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Re: wait event documentation

From
Amit Langote
Date:
On Tue, Apr 4, 2017 at 9:05 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Mon, Apr 3, 2017 at 11:57 PM, Amit Langote
> <Langote_Amit_f8@lab.ntt.co.jp> wrote:
>> By the way, wonder if it wouldn't make sense to take the whole Table 28.1.
>> Dynamic Statistics Views into a new section (perhaps before 28.2 Viewing
>> Locks or after), since those views display information different from what
>> the statistics collector component collects and publishes (those in the
>> Table 28.2. Collected Statistics Views).
>
> It seems a little short for that, doesn't it?  I mean, I'm not against
> it on principle, but we don't want to hoist a 5-line table into a
> section by itself.

I was thinking that if we move Table 28.1 to a new section, Tables
28.3 (pg_stat_activity) to 28.8 (pg_stat_ssl) will go too.

Thanks,
Amit