Re: Autogenerate some wait events code and documentation
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Andres Freund <andres@anarazel.de>
Cc: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2023-08-28T08:04:45Z
Lists: pgsql-hackers
Attachments
- v3-0001-Rename-wait-events-with-more-consistent-camelcase.patch (text/x-diff) patch v3-0001
- v3-0002-Remove-column-for-wait-event-names-in-wait_event_.patch (text/x-diff) patch v3-0002
On Mon, Jul 17, 2023 at 10:16:02AM +0900, Michael Paquier wrote: > So you mean to switch a line that now looks like that: > WAIT_EVENT_FOO_BAR FooBar "Waiting on Foo Bar." > To that: > FOO_BAR "Waiting on Foo Bar." > Or even that: > WAIT_EVENT_FOO_BAR "Waiting on Foo Bar." > > Sure, it is an improvement for any wait events that use WAIT_EVENT_ > when searching them, but this adds more magic into the LWLock and Lock > areas if the same conversion is applied there. Or am I right to > assume that you'd mean to *not* do any of that for these two classes? > These can be treated as exceptions in the script when generating the > wait event names from the enum elements, of course. I have looked again at that, and switching wait_event_names.txt to use two columns made of the typedef definitions and the docs like is not a problem: FOO_BAR "Waiting on Foo Bar." WAIT_EVENT_ is appended to the typedef definitions in the script. The wait event names like "FooBar" are generated from the enums by splitting using their underscores and doing some lc(). Lock and LWLock don't need to change. This way, it is easy to grep the wait events from the source code and match them with wait_event_names.txt. Thoughts or comments? -- Michael
Commits
-
Add "ABI_compatibility" regions to wait_event_names.txt
- f98dbdeb51d1 17.0 landed
-
Remove column for wait event names in wait_event_names.txt
- 59cbf60c0f2b 17.0 landed
-
Use more consistent names for wait event objects and types
- 414f6c0fb79a 17.0 landed
-
Add information about line contents on parsing failure of wait_event_names.txt
- aea7fe33fb6a 17.0 landed
-
Remove double quotes from the second column of wait_event_names.txt
- 183a60a628fe 17.0 landed
-
Generate automatically code and documentation related to wait events
- fa88928470b5 17.0 landed
-
Refactor some code related to wait events "BufferPin" and "Extension"
- 2aeaf80e578e 17.0 landed
-
doc: Fix ordering of entries in wait event table for I/O type
- 44e977d7ecb9 16.0 landed