Re: explain format json, unit for serialize and memory are different. - Mailing list pgsql-hackers

From David Rowley
Subject Re: explain format json, unit for serialize and memory are different.
Date
Msg-id CAApHDvo5uSuMxmArum36Wfsyx5hog8DciVmXqzCsVs7Mi0tLOg@mail.gmail.com
Whole thread Raw
In response to Re: explain format json, unit for serialize and memory are different.  (Michael Paquier <michael@paquier.xyz>)
Responses Re: explain format json, unit for serialize and memory are different.
List pgsql-hackers
On Tue, 14 May 2024 at 17:40, Michael Paquier <michael@paquier.xyz> wrote:
>
> On Mon, May 13, 2024 at 11:22:08AM +0200, Daniel Gustafsson wrote:
> > Since json (and yaml/xml) is intended to be machine-readable I think we use a
> > single unit for all values, and document this fact.
>
> Agreed with the documentation gap.  Another thing that could be worth
> considering is to add the units aside with the numerical values, say:
> "Memory Used": {"value": 23432, "units": "bytes"}
>
> That would require changing ExplainProperty() so as the units are
> showed in some shape, while still being readable when parsed.  I
> wouldn't recommend doing that in v17, but perhaps v18 could do better?

I think for v17, we should consider adding a macro to explain.c to
calculate the KB from bytes.  There are other inconsistencies that it
would be good to address. We normally round up to the nearest kilobyte
with (bytes + 1023) / 1024, but if you look at what 06286709e did, it
seems to be rounding to the nearest without any apparent justification
as to why.  It does (metrics->bytesSent + 512) / 1024.

show_memory_counters() could be modified to use the macro and show
kilobytes rather than bytes.

David



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Fix resource leak (src/backend/libpq/be-secure-common.c)
Next
From: Michael Paquier
Date:
Subject: Re: BitmapHeapScan streaming read user and prelim refactoring