Re: Expose JIT counters/timing in pg_stat_statements
Magnus Hagander <magnus@hagander.net>
From: Magnus Hagander <magnus@hagander.net>
To: Julien Rouhaud <rjuju123@gmail.com>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2022-03-07T12:40:34Z
Lists: pgsql-hackers
Attachments
- pg_stat_statements_jit_v2.patch (text/x-patch) patch v2
On Fri, Feb 25, 2022 at 5:43 PM Julien Rouhaud <rjuju123@gmail.com> wrote: > > On Fri, Feb 25, 2022 at 05:38:45PM +0100, Magnus Hagander wrote: > > > > Per some off-list discussion with Julien, we have clearly been talking > > in slightly different terms. So let's summarize the options into what > > theÿ́d actually be: > > > > Option 0: what is int he patch now > > > > Option 1: > > jit_count - number of executions using jit > > total_jit_time - for sum of functions+inlining+optimization+emission time > > min_jit_time - for sum of functions+inlining+optimization+emission time > > max_jit_time - for sum of functions+inlining+optimization+emission time > > mean_jit_time - for sum of functions+inlining+optimization+emission time > > stddev_jit_time - for sum of functions+inlining+optimization+emission time > > jit_functions - number of functions > > jit_inlining_count - number of executions where inlining happened > > jit_optimization_count - number of executions where optimization happened > > jit_emission_count - number of executions where emission happened > > > > Option 2: > > jit_count > > jit_functions > > jit_generation_time > > jit_inlining_count > > jit_inlining_time > > jit_optimization_count > > jit_optimization_time > > jit_emission_count > > jit_emission_time > > I'm for option 2, I think it's important to have the timing details for > inlining and optimization and be able to compute correct stats. I wonder if there might be an interesting middle ground, or if that is making it too much. That is, we could have an Option 3: jit_count total_jit_time - for sum of functions+inlining+optimization+emission time min_jit_time - for sum of functions+inlining+optimization+emission time max_jit_time - for sum of functions+inlining+optimization+emission time mean_jit_time - for sum of functions+inlining+optimization+emission time stddev_jit_time - for sum of functions+inlining+optimization+emission time jit_functions jit_generation_time jit_inlining_count jit_inlining_time jit_optimization_count jit_optimization_time jit_emission_count jit_emission_time That is, we'd get the more detailed timings across the total time, but not on the details. But that might be overkill. But -- here's an updated patched based on Option 2. -- Magnus Hagander Me: https://www.hagander.net/ Work: https://www.redpill-linpro.com/
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add JIT counters to pg_stat_statements
- 57d6aea00fce 15.0 landed