Re: Autogenerate some wait events code and documentation
Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
From: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>
To: Michael Paquier <michael@paquier.xyz>,
Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Andres Freund <andres@anarazel.de>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-07-11T04:54:23Z
Lists: pgsql-hackers
On 7/11/23 12:52 AM, Michael Paquier wrote:
> On Mon, Jul 10, 2023 at 09:11:36AM +0200, Alvaro Herrera wrote:
>> I don't like this bit, because it means the .txt file is now ungreppable
>> as source of the enum name. Things become mysterious and people have to
>> track down the event name by reading the the Perl generating script.
>> It's annoying. I'd rather have the extra column, even if it means a
>> little duplicity.
>
> Hmm. I can see your point that we'd lose the direct relationship
> between the enum and string when running a single `git grep` from the
> tree, still attempting to do that does not actually lead to much
> information gained? Personally, I usually grep for code when looking
> for consistent information across various paths in the tree. Wait
> events are very different: each enum is used in a single place in the
> tree making their grep search the equivalent of looking at
> wait_event_names.txt anyway?
>
Before commit fa88928470 one could find the relationship between the enum and the name
in wait_event.c (a simple git grep would provide it).
With commit fa88928470 in place, one could find the relationship between the enum and the name
in wait_event_names.txt (a simple git grep would provide it).
With the proposal we are discussing here, once the build is done and so the pgstat_wait_event.c
file is generated then we have the same "grep" capability than pre commit fa88928470 (except that
"git grep" can't be used and one would need things like
find . -name "*.c" -exec grep -il "WAIT_EVENT_CHECKPOINTER_MAIN" {} \;)
I agree that it is less "obvious" than pre fa88928470 but still doable though.
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
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