Re: Adding percentile metrics to pg_stat_statements module - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: Adding percentile metrics to pg_stat_statements module
Date
Msg-id CAFj8pRBNMeBB5ja9aiqMcqJUbxpw3_3DTF7_44mqYti5FSNsZg@mail.gmail.com
Whole thread Raw
In response to Adding percentile metrics to pg_stat_statements module  (Igor Calabria <igor.calabria@gmail.com>)
List pgsql-hackers


čt 31. 10. 2019 v 16:51 odesílatel Igor Calabria <igor.calabria@gmail.com> napsal:
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?

+ the idea

But I am not sure about performance and memory overhead

Pavel
Cheers,

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Allow cluster_name in log_line_prefix
Next
From: Pavel Stehule
Date:
Subject: idea - proposal - defining own psql commands