agora inbox for [email protected]
help / color / mirror / Atom feedFrom: Andres Freund <[email protected]>
Subject: [PATCH v70 06/27] pgstat: introduce PgStat_Kind enum.
Date: Fri, 1 Apr 2022 13:43:49 -0700
Will be used by following commits to generalize stats infrastructure. Kept
separate to allow commits stand reasonably on their own.
---
src/include/pgstat.h | 27 +++++++++++++++++++++++++++
src/tools/pgindent/typedefs.list | 1 +
2 files changed, 28 insertions(+)
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index 45eb217958e..dde76f237de 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -33,6 +33,33 @@
/* Default directory to store temporary statistics data in */
#define PG_STAT_TMP_DIR "pg_stat_tmp"
+/* The types of statistics entries */
+typedef enum PgStat_Kind
+{
+ /*
+ * Don't define an INVALID value so switch() statements can warn if some
+ * cases aren't covered. But define the first member to 1 so that
+ * uninitialized values can be detected more easily.
+ */
+
+ /* stats for variable-numbered objects */
+ PGSTAT_KIND_DATABASE = 1, /* database-wide statistics */
+ PGSTAT_KIND_RELATION, /* per-table statistics */
+ PGSTAT_KIND_FUNCTION, /* per-function statistics */
+ PGSTAT_KIND_REPLSLOT, /* per-slot statistics */
+ PGSTAT_KIND_SUBSCRIPTION, /* per-subscription statistics */
+
+ /* stats for constant-numbered objects */
+ PGSTAT_KIND_ARCHIVER,
+ PGSTAT_KIND_BGWRITER,
+ PGSTAT_KIND_CHECKPOINTER,
+ PGSTAT_KIND_SLRU,
+ PGSTAT_KIND_WAL,
+} PgStat_Kind;
+
+#define PGSTAT_KIND_FIRST PGSTAT_KIND_DATABASE
+#define PGSTAT_KIND_LAST PGSTAT_KIND_WAL
+#define PGSTAT_NUM_KINDS (PGSTAT_KIND_LAST + 1)
/* Values for track_functions GUC variable --- order is significant! */
typedef enum TrackFunctionsLevel
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index 9b4f77fbf18..e1684d4caec 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -1942,6 +1942,7 @@ PgStat_FunctionCallUsage
PgStat_FunctionCounts
PgStat_FunctionEntry
PgStat_GlobalStats
+PgStat_Kind
PgStat_Msg
PgStat_MsgAnalyze
PgStat_MsgAnlAncestors
--
2.35.1.677.gabf474a5dd
--vl7on5vfmrsyxmos
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
filename="v70-0007-pgstat-prepare-APIs-used-by-pgstatfuncs-for-shar.patch"
view thread (4+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: [PATCH v70 06/27] pgstat: introduce PgStat_Kind enum.
In-Reply-To: <no-message-id-129444@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox