At Fri, 11 Sep 2020 13:48:49 +0900, Fujii Masao <masao.fu...@oss.nttdata.com> 
wrote in 
> 
> 
> On 2020/09/11 12:17, Kyotaro Horiguchi wrote:
> > Hello.
> > At Wed, 09 Sep 2020 13:57:37 +0900, Masahiro Ikeda
> > <ikeda...@oss.nttdata.com> wrote in
> >> I checked what function calls XLogBackgroundFlush() which calls
> >> AdvanceXLInsertBuffer() to increment m_wal_buffers_full.
> >>
> >> I found that WalSndWaitForWal() calls it, so I added it.
> >> Is it better to move it in WalSndLoop() like the attached patch?
> > By the way, we are counting some wal-related numbers in
> > pgWalUsage.(bytes, records, fpi).  Since now that we are going to have
> > a new view related to WAL statistics, wouln't it be more useful to
> > show them together in the view?
> 
> Probably yes. But IMO it's better to commit the current patch first,
> and then add those stats into the view after confirming exposing them
> is useful.

I'm fine with that.

> BTW, to expose the total WAL bytes, I think it's better to just save
> the LSN at when pg_stat_wal is reset rather than counting
> pgWalUsage.bytes. If we do that, we can easily total WAL bytes by
> subtracting that LSN from the latest LSN. Also saving the LSN at the
> reset timing causes obviously less overhead than counting
> pgWalUsage.bytes.

pgWalUsage is always counting so it doesn't add any overhead. But
since it cannot be reset, the value needs to be saved at reset time
like LSN. I don't mind either way we take from performance
perspective.

> > (Another reason to propose this is that a substantially one-column
> >   table may look not-great..)
> 
> I'm ok with such "small" view. But if this is really problem, I'm ok
> to expose only functions pg_stat_get_wal_buffers_full() and
> pg_stat_get_wal_stat_reset_time(), without the view, at first.

I don't mind that we have such small views as far as it is promised to
grow up:p

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center


Reply via email to