summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2012-07-03 04:15:42 -0400
committerEliot Horowitz <eliot@10gen.com>2012-07-03 04:15:42 -0400
commit825da30c930a7e8b824bcc355fe1564f278ca7ba (patch)
treee83812438f7faea082c5b0e43bf578eb6f6863ef
parent9cd23cdee154e440a57eb78f1452b18dc196723c (diff)
downloadmongo-825da30c930a7e8b824bcc355fe1564f278ca7ba.tar.gz
SERVER-6285 - reset lock stats in CurOp when a new request starts
-rw-r--r--src/mongo/db/curop.cpp1
-rw-r--r--src/mongo/db/lockstat.cpp6
-rw-r--r--src/mongo/db/lockstat.h2
3 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/curop.cpp b/src/mongo/db/curop.cpp
index 783521e2af4..e9788804a6f 100644
--- a/src/mongo/db/curop.cpp
+++ b/src/mongo/db/curop.cpp
@@ -48,6 +48,7 @@ namespace mongo {
_killed = false;
_numYields = 0;
_expectedLatencyMs = 0;
+ _lockStat.reset();
}
void CurOp::reset() {
diff --git a/src/mongo/db/lockstat.cpp b/src/mongo/db/lockstat.cpp
index b7e8fd8d904..a2caeaef330 100644
--- a/src/mongo/db/lockstat.cpp
+++ b/src/mongo/db/lockstat.cpp
@@ -95,4 +95,10 @@ namespace mongo {
timeLocked[mapNo(type)].fetchAndAdd( micros );
}
+ void LockStat::reset() {
+ for ( int i = 0; i < N; i++ ) {
+ timeAcquiring[i].store(0);
+ timeLocked[i].store(0);
+ }
+ }
}
diff --git a/src/mongo/db/lockstat.h b/src/mongo/db/lockstat.h
index c644e3e71d5..5b44d7b2c9f 100644
--- a/src/mongo/db/lockstat.h
+++ b/src/mongo/db/lockstat.h
@@ -32,6 +32,8 @@ namespace mongo {
void recordAcquireTimeMicros( char type , long long micros );
void recordLockTimeMicros( char type , long long micros );
+ void reset();
+
BSONObj report() const;
void report( StringBuilder& builder ) const;