summaryrefslogtreecommitdiffstats
path: root/machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'machine.h')
-rw-r--r--machine.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/machine.h b/machine.h
index 4604a5a..dbee31d 100644
--- a/machine.h
+++ b/machine.h
@@ -97,6 +97,31 @@ struct system_info
*/
/*
+ * Database activity information
+ */
+struct db_info {
+ int numDb;
+ int64_t numXact;
+ int64_t numRollback;
+ int64_t numBlockRead;
+ int64_t numBlockHit;
+ int64_t numTupleFetched;
+ int64_t numTupleAltered;
+ int64_t numConflict;
+};
+
+/*
+ * Info on reads/writes happening on disk.
+ * On Linux, this can be obtained from /proc/diskstats.
+ */
+struct io_info {
+ int64_t reads;
+ int64_t readsectors;
+ int64_t writes;
+ int64_t writesectors;
+};
+
+/*
* the process_select struct tells get_process_info what processes we
* are interested in seeing
*/
@@ -114,6 +139,15 @@ int machine_init(struct statics *);
void get_system_info(struct system_info *);
caddr_t get_process_info(struct system_info *, struct process_select *, int,
struct pg_conninfo_ctx *, int);
+#ifdef __linux__
+caddr_t get_process_info(struct system_info *, struct process_select *, int,
+ struct pg_conninfo_ctx *, int);
+#else
+caddr_t get_process_info(struct system_info *, struct process_select *, int,
+ char *);
+#endif /* __linux__ */
+void get_database_info(struct db_info *, struct pg_conninfo_ctx *);
+void get_io_info(struct io_info *);
char *format_header(char *);
#if defined(__linux__) || defined (__FreeBSD__)
char *format_next_io(caddr_t);