Re: pgsql: Add EXPLAIN (MEMORY) to report planner memory consumption

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, David Rowley <dgrowleyml(at)gmail(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
Subject: Re: pgsql: Add EXPLAIN (MEMORY) to report planner memory consumption
Date: 2024-02-05 22:21:46
Message-ID: ZcFfeunBiKFGuebP@pryzbyj2023
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Up to now, the explain " " (two space) format is not mixed with "=".

And, other places which show "Memory" do not use "=". David will
remember prior discussions.
https://www.postgresql.org/message-id/20200402054120.GC14618@telsasoft.com
https://www.postgresql.org/message-id/20200407042521.GH2228@telsasoft.com

"Memory: used=%lld bytes allocated=%lld bytes",
vs
"Buckets: %d (originally %d) Batches: %d (originally %d) Memory Usage: %ldkB\n",

There was some discussion about "bytes" - maybe it should instead show
kB?

(Also, I first thought that "peek" should be "peak", but eventually I
realized that's it's as intended.)

On Fri, Jan 12, 2024 at 10:53:08PM +0530, Abhijit Menon-Sen wrote:
> (Those "bytes" look slightly odd to me in the midst of all the x=y
> pieces, but that's probably not worth thinking about.)

On Mon, Jan 29, 2024 at 04:55:27PM +0000, Alvaro Herrera wrote:
> Add EXPLAIN (MEMORY) to report planner memory consumption
>
> This adds a new "Memory:" line under the "Planning:" group (which
> currently only has "Buffers:") when the MEMORY option is specified.
>
> In order to make the reporting reasonably accurate, we create a separate
> memory context for planner activities, to be used only when this option
> is given. The total amount of memory allocated by that context is
> reported as "allocated"; we subtract memory in the context's freelists
> from that and report that result as "used". We use
> MemoryContextStatsInternal() to obtain the quantities.
>
> The code structure to show buffer usage during planning was not in
> amazing shape, so I (Álvaro) modified the patch a bit to clean that up
> in passing.
>
> Author: Ashutosh Bapat
> Reviewed-by: David Rowley, Andrey Lepikhov, Jian He, Andy Fan
> Discussion: https://www.postgresql.org/message-id/CAExHW5sZA=5LJ_ZPpRO-w09ck8z9p7eaYAqq3Ks9GDfhrxeWBw@mail.gmail.com

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2024-02-06 04:30:15 pgsql: doc: Spell I/O consistently
Previous Message Tom Lane 2024-02-05 21:49:34 pgsql: Stamp 12.18.

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2024-02-05 23:48:55 Re: Make COPY format extendable: Extract COPY TO format implementations
Previous Message Alexander Korotkov 2024-02-05 20:28:24 Re: On login trigger: take three