Re: Log connection establishment timings
От | Melanie Plageman |
---|---|
Тема | Re: Log connection establishment timings |
Дата | |
Msg-id | CAAKRu_bjTv+tWxO0yP0bUpWDem5QgQYTJQivhhADDoo2u5JJwg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Log connection establishment timings (Guillaume Lelarge <guillaume@lelarge.info>) |
Список | pgsql-hackers |
Thanks for taking a look! On Mon, Jan 20, 2025 at 12:53 PM Jacob Champion <jacob.champion@enterprisedb.com> wrote: > > On Mon, Jan 20, 2025 at 7:01 AM Bertrand Drouvot > <bertranddrouvot.pg@gmail.com> wrote: > > Though time changes are "rare", given the fact that those metrics could provide > > "inaccurate" measurements during that particular moment (time change) then it > > might be worth considering instr_time instead for this particular metric. > > +1, I think a CLOCK_MONOTONIC source should be used for this if we've got it. Done in v3 (see [1]). > For the EXEC_BACKEND case (which, to be honest, I don't know much > about), I originally wondered if the fork_duration should include any > of the shared memory manipulations or library reloads that are done to > match Unix behavior. But I think I prefer the way the patch does it. You mean if the EXEC_BACKEND not defined version should calculate the end of fork_duration basically at the end of postmaster_child_launch()? > Can the current timestamp be recorded right at the beginning of > SubPostmasterMain(), to avoid counting the time setting up GUCs and > reading the variables file, or do we have to wait? We actually don't have the startup data until after we read_backend_variables(), so I did it as soon as I could after that. You are right that this will include timing from some extra steps. But, some of these steps are overhead unique to the slow process of "forking" a backend when EXEC_BACKEND is defined anyway, so it probably makes sense for them to be included in the timing of "fork" for these backends. > nit: conn_timing is currently declared in the "interrupts and crit > section" part of miscadmin.h; should it be moved down to the > general-purpose globals? Whoops, it would help if I read comments and stuff. Thanks! Fixed in v3 in [1]. - Melanie [1] https://www.postgresql.org/message-id/CAAKRu_YrNsA7-v5L9d318XZu%2BtPqcxp%2BctCGy2EGYrSt69ON%3DA%40mail.gmail.com
В списке pgsql-hackers по дате отправления: