Re: [Proposal] Add accumulated statistics for wait event
От | Tom Lane |
---|---|
Тема | Re: [Proposal] Add accumulated statistics for wait event |
Дата | |
Msg-id | 15168.1532354245@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [Proposal] Add accumulated statistics for wait event (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: [Proposal] Add accumulated statistics for wait event
|
Список | pgsql-hackers |
Michael Paquier <michael@paquier.xyz> writes: > This does not need a configure switch. It probably is there because the OP realizes that most people wouldn't accept having this code compiled in. > What's the performance penalty? I am pretty sure that this is > measurable as wait events are stored for a backend for each I/O > operation as well, and you are calling a C routine within an inlined > function which is designed to be light-weight, doing only a four-byte > atomic operation. On machines with slow gettimeofday(), I suspect the cost of this patch would be staggering. Even with relatively fast gettimeofday, it doesn't look acceptable for calls in hot code paths (for instance, lwlock.c). A bigger problem is that it breaks stuff. There are countless calls to pgstat_report_wait_start/pgstat_report_wait_end that assume they have no side-effects (for example, on errno) and can never fail. I wouldn't trust GetCurrentTimestamp() for either. If the report_wait calls can't be dropped into code with *complete* certainty that they're safe, that's a big cost. Why exactly is this insisting on logging timestamps and not, say, just incrementing a counter? I think doing it like this is almost certain to end in rejection. regards, tom lane
В списке pgsql-hackers по дате отправления: