mirror of https://github.com/postgres/postgres
generation_counter includes time spent on both JIT:ing expressions and tuple deforming which are configured independently via options jit_expressions and jit_tuple_deforming. As they are combined in the same counter it's not apparent what fraction of time the tuple deforming takes. This adds deform_counter dedicated to tuple deforming, which allows seeing more directly the influence jit_tuple_deforming is having on the query. The counter is exposed in EXPLAIN and pg_stat_statements bumpin pg_stat_statements to 1.11. Author: Dmitry Dolgov <9erthalion6@gmail.com> Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com> Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Discussion: https://postgr.es/m/20220612091253.eegstkufdsu4kfls@erthalion.localpull/140/head
parent
6fe3cefde4
commit
5a3423ad8e
@ -0,0 +1,69 @@ |
||||
/* contrib/pg_stat_statements/pg_stat_statements--1.10--1.11.sql */ |
||||
|
||||
-- complain if script is sourced in psql, rather than via ALTER EXTENSION |
||||
\echo Use "ALTER EXTENSION pg_stat_statements UPDATE TO '1.11'" to load this file. \quit |
||||
|
||||
/* First we have to remove them from the extension */ |
||||
ALTER EXTENSION pg_stat_statements DROP VIEW pg_stat_statements; |
||||
ALTER EXTENSION pg_stat_statements DROP FUNCTION pg_stat_statements(boolean); |
||||
|
||||
/* Then we can drop them */ |
||||
DROP VIEW pg_stat_statements; |
||||
DROP FUNCTION pg_stat_statements(boolean); |
||||
|
||||
/* Now redefine */ |
||||
CREATE FUNCTION pg_stat_statements(IN showtext boolean, |
||||
OUT userid oid, |
||||
OUT dbid oid, |
||||
OUT toplevel bool, |
||||
OUT queryid bigint, |
||||
OUT query text, |
||||
OUT plans int8, |
||||
OUT total_plan_time float8, |
||||
OUT min_plan_time float8, |
||||
OUT max_plan_time float8, |
||||
OUT mean_plan_time float8, |
||||
OUT stddev_plan_time float8, |
||||
OUT calls int8, |
||||
OUT total_exec_time float8, |
||||
OUT min_exec_time float8, |
||||
OUT max_exec_time float8, |
||||
OUT mean_exec_time float8, |
||||
OUT stddev_exec_time float8, |
||||
OUT rows int8, |
||||
OUT shared_blks_hit int8, |
||||
OUT shared_blks_read int8, |
||||
OUT shared_blks_dirtied int8, |
||||
OUT shared_blks_written int8, |
||||
OUT local_blks_hit int8, |
||||
OUT local_blks_read int8, |
||||
OUT local_blks_dirtied int8, |
||||
OUT local_blks_written int8, |
||||
OUT temp_blks_read int8, |
||||
OUT temp_blks_written int8, |
||||
OUT blk_read_time float8, |
||||
OUT blk_write_time float8, |
||||
OUT temp_blk_read_time float8, |
||||
OUT temp_blk_write_time float8, |
||||
OUT wal_records int8, |
||||
OUT wal_fpi int8, |
||||
OUT wal_bytes numeric, |
||||
OUT jit_functions int8, |
||||
OUT jit_generation_time float8, |
||||
OUT jit_inlining_count int8, |
||||
OUT jit_inlining_time float8, |
||||
OUT jit_optimization_count int8, |
||||
OUT jit_optimization_time float8, |
||||
OUT jit_emission_count int8, |
||||
OUT jit_emission_time float8, |
||||
OUT jit_deform_count int8, |
||||
OUT jit_deform_time float8 |
||||
) |
||||
RETURNS SETOF record |
||||
AS 'MODULE_PATHNAME', 'pg_stat_statements_1_11' |
||||
LANGUAGE C STRICT VOLATILE PARALLEL SAFE; |
||||
|
||||
CREATE VIEW pg_stat_statements AS |
||||
SELECT * FROM pg_stat_statements(true); |
||||
|
||||
GRANT SELECT ON pg_stat_statements TO PUBLIC; |
@ -1,5 +1,5 @@ |
||||
# pg_stat_statements extension |
||||
comment = 'track planning and execution statistics of all SQL statements executed' |
||||
default_version = '1.10' |
||||
default_version = '1.11' |
||||
module_pathname = '$libdir/pg_stat_statements' |
||||
relocatable = true |
||||
|
Loading…
Reference in new issue