Re: PATCH: pgbench - break out timing data for initializationphases - Mailing list pgsql-hackers

From Fabien COELHO
Subject Re: PATCH: pgbench - break out timing data for initializationphases
Date
Msg-id alpine.DEB.2.20.1801300843300.22080@lancre
Whole thread Raw
In response to PATCH: pgbench - break out timing data for initialization phases  ("Rady, Doug" <radydoug@amazon.com>)
Responses Re: PATCH: pgbench - break out timing data for initialization phases
List pgsql-hackers
Hello Doug,

> With patch and ‘-I dtgvpf’ options:
> pgrun pgbench -i -s 2000 -F 90 -q -I dtgvpf
> dropping old tables...
> creating tables...
> generating data...
> …
> 200000000 of 200000000 tuples (100%) done (elapsed 168.76 s, remaining 0.00 s)
> vacuuming...
> creating primary keys...
> creating foreign keys...
> total time: 353.52 s (drop 1.67 s, tables 0.11 s, insert 168.82 s, commit 0.46 s, primary 92.32 s, foreign 40.11 s,
vacuum50.03 s)
 
> done.

I'm in favor of such a feature.

However, I think that the durations should be shown in the order in which 
the initialization is performed.

I would suggest to:

- move the time measure in the initialization loop, instead of doing it
  in each function, so that it is done just in one place.

- maybe store the actions in some array/list data structure, eg:
   "{ char * phase; double duration; }", so that they can be kept
   in order and eventually repeated.

In order to extract the commit time, I'd say that explicit begin and 
commit should be separate instructions triggerred by '(' and ')'.

Also, I'm not sure of the one line display, maybe it could be done while 
it is in progress, i.e. something like:
   dropping table...
   table drop: 1.67 s
   creating table...
   table creation: 0.11 s
   ...
In which case there is no need for storing the actions and their 
durations, only the running total is needed.

-- 
Fabien.

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: [HACKERS] [PATCH] Lockable views
Next
From: Michael Paquier
Date:
Subject: Re: PATCH: Configurable file mode mask