Re: Vacuum statistics - Mailing list pgsql-hackers

From Alena Rybakina
Subject Re: Vacuum statistics
Date
Msg-id a611e91e-073d-49fe-aeb1-45d1a505b78f@yandex.ru
Whole thread
In response to Re: Vacuum statistics  (Alena Rybakina <lena.ribackina@yandex.ru>)
Responses Re: Vacuum statistics
List pgsql-hackers

Hi, all! Attached is a reworked version of the patch set. The main change is that the
statistics are no longer exposed through a contrib extension; they are now
built-in system views - pg_stat_vacuum_tables, pg_stat_vacuum_indexes and
pg_stat_vacuum_database - backed by pg_stat_get_vacuum_*() functions and stored
in the cumulative statistics system under a dedicated stats kind
(PGSTAT_KIND_VACUUM_RELATION). Collection is controlled by a single
track_vacuum_statistics GUC; the per-relation tracking list, the reset
function and the shared-memory-size helper from the extension version are gone.

The series is also split into smaller, self-contained commits - one per metric
category (core heap/tuple counters, missed dead tuples/pages, visibility-map
transitions, the buffer/WAL/timing sampling machinery, per-relation buffers,
timing and the wraparound failsafe, and WAL) - with the documentation and
tests growing inside each commit.

Other changes:

  • index statistics are accumulated across the bulkdelete and cleanup passes and reported once per index, in both the serial and parallel paths;
  • index_vacuum_count is no longer exposed;
  • the regression coverage is now an in-core vacuum_stats test with deterministic checks and dedicated scenarios for the non-trivial paths (truncation, freeze, cost delay, WAL full-page images, index page deletion), an isolation test for recently_dead/missed_dead tuples, and a xid_wraparound TAP test for the failsafe counter.
-- 
-----------
Best regards,
Alena Rybakina
Yandex Cloud

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Direction for test frameworks: Perl TAP vs. Python/pytest
Next
From: Baji Shaik
Date:
Subject: Re: [PATCH] COPY TO FORMAT json: respect column list order