Re: Get memory contexts of an arbitrary backend process

torikoshia <torikoshia@oss.nttdata.com>

From: torikoshia <torikoshia@oss.nttdata.com>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Zhihong Yu <zyu@yugabyte.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>, gkokolatos@protonmail.com, kasahara.tatsuhito@gmail.com, Craig Ringer <craig@2ndquadrant.com>
Date: 2021-04-06T01:57:01Z
Lists: pgsql-hackers
On 2021-04-06 00:08, Fujii Masao wrote:
> On 2021/04/05 21:03, torikoshia wrote:
>> On 2021-04-05 12:59, Fujii Masao wrote:
>>> On 2021/04/05 12:20, Zhihong Yu wrote:
>> 
>> Thanks for reviewing!
>> 
>>>> + * On receipt of this signal, a backend sets the flag in the signal
>>>> + * handler, and then which causes the next CHECK_FOR_INTERRUPTS()
>> 
>>>> I think the 'and then' is not needed:
>> 
>> Although I wonder either would be fine, removed the words.
>> 
>>>> +        * This is just a warning so a loop-through-resultset will 
>>>> not abort
>>>> +        * if one backend logged its memory contexts during the run.
>>>> 
>>>> The pid given by arg 0 is not a PostgreSQL server process. Which 
>>>> other backend could it be ?
>>> 
>>> This is the comment that I added wrongly. So the comment should be
>>> "This is just a warning so a loop-through-resultset will not abort
>>> if one backend terminated on its own during the run.",
>>> like pg_signal_backend(). Thought?
>> 
>> +1.
>> 
>> Attached v10 patch.
> 
> Thanks for updating the patch!
> 
> I updated the patch as follows. Could you check the attached patch?

Thanks a lot!

I don't have any objections to your improvements.

Regards,



Commits

  1. Add function to log the memory contexts of specified backend process.

  2. Add pg_backend_memory_contexts system view.

  3. Limit the verbosity of memory context statistics dumps.