summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorTom Lane2001-08-05 02:06:50 +0000
committerTom Lane2001-08-05 02:06:50 +0000
commite8f1097361d9d2012c751d7e66cd4dd1b6d26ac6 (patch)
treee507c9ebaf5da19a1234c0927485fb49c6c83c78 /src/include
parent5181d37e4c88c2b622fe54feb74845320e36c71e (diff)
Endeavor to make pgstats buffer process (a) safe and (b) useful.
Make sure it exits immediately when collector process dies --- in old code, buffer process would hang around and compete with the new buffer process for packets. Make sure it doesn't block on writing the pipe when the collector falls more than a pipeload behind. Avoid leaking pgstats FDs into every backend.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/miscadmin.h3
-rw-r--r--src/include/pgstat.h16
2 files changed, 9 insertions, 10 deletions
diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h
index ce4255cb7d5..c3afaf89eca 100644
--- a/src/include/miscadmin.h
+++ b/src/include/miscadmin.h
@@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: miscadmin.h,v 1.87 2001/06/18 21:38:02 momjian Exp $
+ * $Id: miscadmin.h,v 1.88 2001/08/05 02:06:50 tgl Exp $
*
* NOTES
* some of the information in this file should be moved to
@@ -108,6 +108,7 @@ extern void ProcessInterrupts(void);
* from postmaster/postmaster.c
*/
extern int PostmasterMain(int argc, char *argv[]);
+extern void ClosePostmasterPorts(bool pgstat_too);
/*
* from utils/init/globals.c
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index fc9dc43326a..646cc27e770 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 2001, PostgreSQL Global Development Group
*
- * $Id: pgstat.h,v 1.5 2001/08/04 00:14:43 tgl Exp $
+ * $Id: pgstat.h,v 1.6 2001/08/05 02:06:50 tgl Exp $
* ----------
*/
#ifndef PGSTAT_H
@@ -24,11 +24,11 @@
* ----------
*/
#define PGSTAT_STAT_INTERVAL 500 /* How often to write the status */
- /* file in milliseconds. */
+ /* file, in milliseconds. */
#define PGSTAT_DESTROY_DELAY 10000 /* How long to keep destroyed */
/* objects known to give delayed */
- /* UDP packets time to arrive */
+ /* UDP packets time to arrive, */
/* in milliseconds. */
#define PGSTAT_DESTROY_COUNT (PGSTAT_DESTROY_DELAY \
@@ -36,7 +36,7 @@
/* ----------
- * How much of the actual query to send to the collector.
+ * How much of the actual query string to send to the collector.
* ----------
*/
#define PGSTAT_ACTIVITY_SIZE 256
@@ -56,13 +56,10 @@
#define PGSTAT_MTYPE_RESETCOUNTER 7
/* ----------
- * TODO
- * For simplicity now, the number of messages buffered in
- * pgstat_recvbuffer(). Should be an amount of bytes used
- * for a gapless wraparound buffer.
+ * Amount of space reserved in pgstat_recvbuffer().
* ----------
*/
-#define PGSTAT_RECVBUFFERSZ 1024
+#define PGSTAT_RECVBUFFERSZ ((int) (1024 * sizeof(PgStat_Msg)))
/* ----------
@@ -338,6 +335,7 @@ extern bool pgstat_collect_blocklevel;
extern int pgstat_init(void);
extern int pgstat_start(int real_argc, char *real_argv[]);
extern int pgstat_ispgstat(int pid);
+extern void pgstat_close_sockets(void);
extern void pgstat_beterm(int pid);
/* ----------