diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-11-10 23:51:14 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-11-10 23:51:14 +0000 |
commit | f6ee99a062071ec03be69a4ec7b2b9a282455060 (patch) | |
tree | e2c83f03c4f4c4f822af17a185d16c6a1a54bc60 /src/backend/storage/buffer/bufmgr.c | |
parent | 0c1669c806bda3d42bef1cd6972ab8e2bf64f862 (diff) |
Clean up usage-statistics display code (ShowUsage and friends). StatFp
is gone, usage messages now go through elog(DEBUG).
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 49ee9990be3..43b4da50ed3 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.119 2001/11/05 17:46:27 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.120 2001/11/10 23:51:14 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -46,6 +46,7 @@ #include <math.h> #include <signal.h> +#include "lib/stringinfo.h" #include "miscadmin.h" #include "storage/buf_internals.h" #include "storage/bufmgr.h" @@ -869,14 +870,21 @@ WaitIO(BufferDesc *buf) long NDirectFileRead; /* some I/O's are direct file access. * bypass bufmgr */ -long NDirectFileWrite; /* e.g., I/O in psort and hashjoin. */ +long NDirectFileWrite; /* e.g., I/O in psort and hashjoin. */ -void -PrintBufferUsage(FILE *statfp) + +/* + * Return a palloc'd string containing buffer usage statistics. + */ +char * +ShowBufferUsage(void) { + StringInfoData str; float hitrate; float localhitrate; + initStringInfo(&str); + if (ReadBufferCount == 0) hitrate = 0.0; else @@ -887,16 +895,21 @@ PrintBufferUsage(FILE *statfp) else localhitrate = (float) LocalBufferHitCount *100.0 / ReadLocalBufferCount; - fprintf(statfp, "!\tShared blocks: %10ld read, %10ld written, buffer hit rate = %.2f%%\n", + appendStringInfo(&str, + "!\tShared blocks: %10ld read, %10ld written, buffer hit rate = %.2f%%\n", ReadBufferCount - BufferHitCount, BufferFlushCount, hitrate); - fprintf(statfp, "!\tLocal blocks: %10ld read, %10ld written, buffer hit rate = %.2f%%\n", + appendStringInfo(&str, + "!\tLocal blocks: %10ld read, %10ld written, buffer hit rate = %.2f%%\n", ReadLocalBufferCount - LocalBufferHitCount, LocalBufferFlushCount, localhitrate); - fprintf(statfp, "!\tDirect blocks: %10ld read, %10ld written\n", + appendStringInfo(&str, + "!\tDirect blocks: %10ld read, %10ld written\n", NDirectFileRead, NDirectFileWrite); + + return str.data; } void -ResetBufferUsage() +ResetBufferUsage(void) { BufferHitCount = 0; ReadBufferCount = 0; |