Re: Summary Sort workers Stats in EXPLAIN ANALYZE - Mailing list pgsql-hackers

From Julien Rouhaud
Subject Re: Summary Sort workers Stats in EXPLAIN ANALYZE
Date
Msg-id 20220325090453.3bwhbs4nphrk4cmp@jrouhaud
Whole thread Raw
In response to Re: Summary Sort workers Stats in EXPLAIN ANALYZE  (Jian Guo <gjian@vmware.com>)
Responses Re: Summary Sort workers Stats in EXPLAIN ANALYZE  (Julien Rouhaud <rjuju123@gmail.com>)
Re: Summary Sort workers Stats in EXPLAIN ANALYZE  (Jian Guo <gjian@vmware.com>)
List pgsql-hackers
Hi,

On Thu, Mar 24, 2022 at 07:50:11AM +0000, Jian Guo wrote:
> For a simple demo, with this explain statement:
>
> -- Test sort stats summary
> set force_parallel_mode=on;
> select explain_filter('explain (analyze, summary off, timing off, costs off, format json) select * from tenk1 order
byunique1');
 
>
> Before this patch, we got plan like this:
>
>
>            "Node Type": "Sort",                +
>            "Parent Relationship": "Outer",     +
>            "Parallel Aware": false,            +
>            "Async Capable": false,             +
>            "Actual Rows": 10000,               +
>            "Actual Loops": 1,                  +
>            "Sort Key": ["unique1"],            +
>            "Workers": [                        +
>              {                                 +
>                "Worker Number": 0,             +
>                "Sort Method": "external merge",+
>                "Sort Space Used": 2496,        +
>                "Sort Space Type": "Disk"       +
>              }                                 +
>            ],                                  +

> After this patch, the effected plan is this:
>
>            "Node Type": "Sort",               +
>            "Parent Relationship": "Outer",    +
>            "Parallel Aware": false,           +
>            "Async Capable": false,            +
>            "Actual Rows": N,                  +
>            "Actual Loops": N,                 +
>            "Sort Key": ["unique1"],           +
>            "Workers planned": N,              +
>            "Sort Method": "external merge",   +
>            "Average Sort Space Used": N,      +
>            "Peak Sort Space Used": N,         +
>            "Sort Space Type": "Disk",         +

I think the idea is interesting, however there are a few problems in the patch.

First, I think that it should only be done in the VERBOSE OFF mode.  If you ask
for a VERBOSE output you don't need both the details and the summarized
version.

Other minor problems:

- why (only) emitting the number of workers planned and not the number of
  workers launched?
- the textual format is missing details about what the numbers are, which is
  particularly obvious since avgSpaceUsed and peakSpaceUsed don't have any unit
  or even space between them:

+             "Sort Method: %s  %s: " INT64_FORMAT INT64_FORMAT "kB\n",
+             sortMethod, spaceType, avgSpaceUsed, peakSpaceUsed);




pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: [RFC] building postgres with meson -v8
Next
From: Julien Rouhaud
Date:
Subject: Re: Summary Sort workers Stats in EXPLAIN ANALYZE