On 2024-Aug-22, Michael Paquier wrote: > On Wed, Aug 21, 2024 at 01:55:06PM -0400, Alvaro Herrera wrote:
> > Also, maybe it'd make sense for stats to be globally enabled, and that > > only the tests that require it would disable them? (It's probably easy > > enough to have a value "injection_points.stats=auto" which means, if the > > module is loaded in shared_preload_libraries them set stats on, > > otherwise turn them off.) > > I'm not sure that we need to get down to that until somebody has a > case where they want to rely on stats of injection points for their > stuff. At this stage, I only want the stats to be enabled to provide > automated checks for the custom pgstats APIs, so disabling it by > default and enabling it only in the stats test of the module > injection_points sounds kind of enough to me for now. Oh! I thought the stats were useful by themselves. That not being the case, I agree with simplifying; and the other ways to enhance this point might not be necessary for now. > > Or give the _LOAD() macro a boolean argument to > > indicate whether to collect stats for that injection point or not. > > Sticking some knowledge about the stats in the backend part of > injection points does not sound like a good idea to me. You could flip this around: have the bool be for "this injection point is going to be invoked inside a critical section". Then core code just needs to tell the injection points module what core code does, and it's injection_points that decides what to do with that information. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "Crear es tan difícil como ser libre" (Elsa Triolet)