aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/buffer/bufmgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r--src/backend/storage/buffer/bufmgr.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 06abd2e8675..8970c907a8b 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.112 2001/06/09 18:16:57 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.113 2001/06/22 19:16:22 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -55,6 +55,8 @@
#include "utils/relcache.h"
#include "catalog/pg_database.h"
+#include "pgstat.h"
+
#define BufferGetLSN(bufHdr) \
(*((XLogRecPtr*)MAKE_PTR((bufHdr)->data)))
@@ -147,6 +149,7 @@ ReadBufferInternal(Relation reln, BlockNumber blockNum,
if (isLocalBuf)
{
ReadLocalBufferCount++;
+ pgstat_count_buffer_read(&reln->pgstat_info, reln);
/* Substitute proper block number if caller asked for P_NEW */
if (blockNum == P_NEW)
{
@@ -156,11 +159,15 @@ ReadBufferInternal(Relation reln, BlockNumber blockNum,
}
bufHdr = LocalBufferAlloc(reln, blockNum, &found);
if (found)
+ {
LocalBufferHitCount++;
+ pgstat_count_buffer_hit(&reln->pgstat_info, reln);
+ }
}
else
{
ReadBufferCount++;
+ pgstat_count_buffer_read(&reln->pgstat_info, reln);
/* Substitute proper block number if caller asked for P_NEW */
if (blockNum == P_NEW)
{
@@ -175,7 +182,10 @@ ReadBufferInternal(Relation reln, BlockNumber blockNum,
SpinAcquire(BufMgrLock);
bufHdr = BufferAlloc(reln, blockNum, &found);
if (found)
+ {
BufferHitCount++;
+ pgstat_count_buffer_hit(&reln->pgstat_info, reln);
+ }
}
/* At this point we do NOT hold the bufmgr spinlock. */