Adding percentile metrics to pg_stat_statements module

From: Igor Calabria <igor(dot)calabria(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Adding percentile metrics to pg_stat_statements module
Date: 2019-10-31 15:51:17
Message-ID: CA+r4MrRSiHzXSQj0E8XyLgMYSbusiBQNADFjsO-sQgmGxXwMoQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi everyone,

I was taking a look at pg_stat_statements module and noticed that it does
not collect any percentile metrics. I believe that It would be really handy
to have those available and I'd love to contribute with this feature.

The basic idea is to accumulate the the query execution times using an
approximation structure like q-digest or t-digest and add those results to
the pg_stat_statements table as fixed columns. Something like this

p90_time:
p95_time:
p99_time:
p70_time:
...

Another solution is to persist de digest structure in a binary column and
use a function to extract the desired quantile ilke this SELECT
approx_quantile(digest_times, 0.99) FROM pg_stat_statements

What do you guys think?
Cheers,

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2019-10-31 15:52:53 Re: function calls optimization
Previous Message Andrzej Barszcz 2019-10-31 15:51:11 Re: function calls optimization