Performance analyzer (experimental)

The performance analyzer records and displays aggregated performance statistics for queries and utility statements.

The statistics can be recorded and viewed per statement via EXPLAIN ANALYZE or for multiple statements by consulting the swarm64da.performance_stats table. The aggregated performance statistics are written out periodically. The period can be set with swarm64da.perfstats_save_period. If statements cannot be changed, they can still be recorded by enabling auto instrumentation via swarm64da.enable_auto_instrumentation. Total statement runtime statistics are always collected as long as the performance analyzer is enabled.

For Hash, Bitmap And, Bitmap Or and Bitmap Index Scan plan nodes, the self time is always 0 and instead included in the self time of the corresponding parent plan node.

Settings

swarm64da.enable_performance_analyzer (boolean)

Enables or disables the performance analyzer. The default is off.

swarm64da.enable_auto_instrumentation (boolean)

Enables or disables also automatically recording per-node performance statistics for queries which are executed without EXPLAIN ANALYZE. The default is off. This setting has no effect as long as swarm64da.enable_performance_analyzer is off. Only sessions where this setting is enabled are recorded.

swarm64da.perfstats_save_period (integer)

The period in which performance statistics are written out in seconds. Statistics are earliest written out on transaction commit. The default is 10 seconds.