Re: shared-memory based stats collector - v70

From: Andres Freund <andres(at)anarazel(dot)de>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: melanieplageman(at)gmail(dot)com, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: shared-memory based stats collector - v70
Date: 2022-04-06 03:00:08
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


Here comes v70:
- extended / polished the architecture comment based on feedback from Melanie
and David
- other polishing as suggested by David
- addressed the open issue around pgstat_report_stat(), as described in
- while working on the above point, I noticed that hash_bytes() showed up
noticeably in profiles, so I replaced it with a fixed-width function
- found a few potential regression test instabilities by either *always*
flushing in pgstat_report_stat(), or only flushing when force = true.
- random minor improvements
- reordered commits some

I still haven't renamed pg_stat_exists_stat() yet - I'm leaning towards
pg_stat_have_stats() or pg_stat_exists() right now. But it's an SQL function
for testing, so it doesn't really matter.

I think this is basically ready, minus a a few comment adjustments here and
there. Unless somebody protests I'm planning to start pushing things tomorrow

It'll be a few hours to get to the main commit - but except for 0001 it
doesn't make sense to push without intending to push later changes too. I
might squash a few commits togther.

There's lots that can be done once all this is in place, both simplifying
pre-existing code and easy new features, but that's for a later release.


Andres Freund

Attachment Content-Type Size
v70-0001-dsm-allow-use-in-single-user-mode.patch text/x-diff 2.4 KB
v70-0002-pgstat-stats-collector-references-in-comments.patch text/x-diff 33.2 KB
v70-0003-pgstat-move-transactional-code-into-pgstat_xact..patch text/x-diff 10.8 KB
v70-0004-pgstat-rename-some-pgstat_send_-functions-to-pgs.patch text/x-diff 8.4 KB
v70-0005-pgstat-add-pgstat_copy_relation_stats.patch text/x-diff 3.8 KB
v70-0006-pgstat-introduce-PgStat_Kind-enum.patch text/x-diff 2.1 KB
v70-0007-pgstat-prepare-APIs-used-by-pgstatfuncs-for-shar.patch text/x-diff 14.9 KB
v70-0008-pgstat-scaffolding-for-transactional-stats-creat.patch text/x-diff 42.7 KB
v70-0009-pgstat-revise-replslot-API-in-preparation-for-sh.patch text/x-diff 4.7 KB
v70-0010-pgstat-store-statistics-in-shared-memory.patch text/x-diff 370.1 KB
v70-0011-pgstat-remove-stats_temp_directory.patch text/x-diff 10.4 KB
v70-0012-pgstat-rename-STATS_COLLECTOR-GUC-group-to-STATS.patch text/x-diff 4.2 KB
v70-0013-pgstat-move-pgstat.c-to-utils-activity.patch text/x-diff 2.0 KB
v70-0014-pgstat-update-docs.patch text/x-diff 25.5 KB
v70-0015-pgstat-add-pg_stat_force_next_flush.patch text/x-diff 3.8 KB
v70-0016-pgstat-utilize-pg_stat_force_next_flush-to-simpl.patch text/x-diff 22.6 KB
v70-0017-pgstat-add-pg_stat_exists_stat-for-easier-testin.patch text/x-diff 4.0 KB
v70-0018-pgstat-test-transaction-behaviour-2PC-function-s.patch text/x-diff 166.0 KB
v70-0019-pgstat-test-stats-handling-of-restarts-including.patch text/x-diff 9.3 KB
v70-0020-pgstat-test-test-stats-interactions-with-streami.patch text/x-diff 8.0 KB
v70-0021-pgstat-test-subscriber-stats-reset-and-drop.patch text/x-diff 11.4 KB
v70-0022-pgstat-test-resetting-of-stats.patch text/x-diff 13.2 KB
v70-0023-pgstat-test-recovery-conflicts.patch text/x-diff 11.2 KB
v70-0024-pgstat-test-extend-replication-slot-stat-tests.patch text/x-diff 11.6 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message David G. Johnston 2022-04-06 03:00:50 Re: shared-memory based stats collector - v69
Previous Message Andres Freund 2022-04-06 02:34:35 Re: [PATCH] pg_stat_toast