[PATCH v1 11/12] prune_xid-hist: transfer data to shared histogram
Renan Alves Fonseca <renanfonseca@gmail.com>
From: "Renan A. Fonseca" <renanfonseca@gmail.com>
To:
Date: 2025-05-20T11:46:01Z
Lists: pgsql-hackers
---
src/backend/access/heap/vacuumlazy.c | 1 +
src/backend/utils/activity/pgstat_relation.c | 5 ++++-
src/include/pgstat.h | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c
index afd57e31f5b..a3698593156 100644
--- a/src/backend/access/heap/vacuumlazy.c
+++ b/src/backend/access/heap/vacuumlazy.c
@@ -940,6 +940,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
Max(vacrel->new_live_tuples, 0),
vacrel->recently_dead_tuples +
vacrel->missed_dead_tuples,
+ &vacrel->prune_xid_hist,
starttime);
pgstat_progress_end_command();
diff --git a/src/backend/utils/activity/pgstat_relation.c b/src/backend/utils/activity/pgstat_relation.c
index 06d97d3e0fb..ee49a2816e1 100644
--- a/src/backend/utils/activity/pgstat_relation.c
+++ b/src/backend/utils/activity/pgstat_relation.c
@@ -210,7 +210,7 @@ pgstat_drop_relation(Relation rel)
void
pgstat_report_vacuum(Oid tableoid, bool shared,
PgStat_Counter livetuples, PgStat_Counter deadtuples,
- TimestampTz starttime)
+ const PruneXidHistogramTransient *prune_xid_hist, TimestampTz starttime)
{
PgStat_EntryRef *entry_ref;
PgStatShared_Relation *shtabentry;
@@ -261,6 +261,8 @@ pgstat_report_vacuum(Oid tableoid, bool shared,
tabentry->total_vacuum_time += elapsedtime;
}
+ pgstat_update_shared_prune_xid_histogram(tabentry, prune_xid_hist);
+
pgstat_unlock_entry(entry_ref);
/*
@@ -1119,6 +1121,7 @@ pgstat_relation_flush_cb(PgStat_EntryRef *entry_ref, bool nowait)
tabentry->live_tuples += lstats->counts.delta_live_tuples;
tabentry->dead_tuples += lstats->counts.delta_dead_tuples;
+ pgstat_update_shared_prune_xid_histogram(tabentry, &lstats->counts.prune_xid_hist);
tabentry->mod_since_analyze += lstats->counts.changed_tuples;
/*
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index 698b42bf66b..2d577fefa28 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -679,7 +679,7 @@ extern void pgstat_unlink_relation(Relation rel);
extern void pgstat_report_vacuum(Oid tableoid, bool shared,
PgStat_Counter livetuples, PgStat_Counter deadtuples,
- TimestampTz starttime);
+ const PruneXidHistogramTransient *prune_xid_hist, TimestampTz starttime);
extern void pgstat_report_analyze(Relation rel,
PgStat_Counter livetuples, PgStat_Counter deadtuples,
bool resetcounter, TimestampTz starttime);
--
2.47.0
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=v1-0012-prune_xid-hist-tests.patch