Re: Parent/child context relation in pg_get_backend_memory_contexts()

torikoshia <torikoshia@oss.nttdata.com>

From: torikoshia <torikoshia@oss.nttdata.com>
To: Melih Mutlu <m.melihmutlu@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Stephen Frost <sfrost@snowman.net>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-12-04T04:43:18Z
Lists: pgsql-hackers
Thanks for working on this improvement!

On 2023-10-23 21:02, Melih Mutlu wrote:
> Hi,
> 
> Thanks for reviewing.
> Attached the updated patch v3.

I reviewed v3 patch and here are some minor comments:

> +     <row>
> +      <entry role="catalog_table_entry"><para 
> role="column_definition">
> +       <structfield>path</structfield> <type>int4</type>

Should 'int4' be 'int4[]'?
Other system catalog columns such as pg_groups.grolist distinguish 
whther the type is a array or not.

> +       Path to reach the current context from TopMemoryContext. 
> Context ids in
> +       this list represents all parents of the current context. This 
> can be
> +       used to build the parent and child relation.

It seems last "." is not necessary considering other explanations for 
each field end without it.

+                                const char *parent, int level, int 
*context_id,
+                                List *path, Size 
*total_bytes_inc_chidlren)

'chidlren' -> 'children'


+   elog(LOG, "pg_get_backend_memory_contexts called");

Is this message necessary?


There was warning when applying the patch:

   % git apply 
../patch/pg_backend_memory_context_refine/v3-0001-Adding-id-parent_id-into-pg_backend_memory_contex.patch
   
../patch/pg_backend_memory_context_refine/v3-0001-Adding-id-parent_id-into-pg_backend_memory_contex.patch:282: 
trailing whitespace.
   select count(*) > 0
   
../patch/pg_backend_memory_context_refine/v3-0001-Adding-id-parent_id-into-pg_backend_memory_contex.patch:283: 
trailing whitespace.
   from contexts
   warning: 2 lines add whitespace errors.

-- 
Regards,

--
Atsushi Torikoshi
NTT DATA Group Corporation



Commits

  1. Add missing pointer dereference in pg_backend_memory_contexts view

  2. Add path column to pg_backend_memory_contexts view

  3. Allow memory contexts to have both fixed and variable ident strings.