diff options
author | Eliot Horowitz <eliot@10gen.com> | 2012-07-03 04:15:42 -0400 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2012-07-03 04:15:42 -0400 |
commit | 825da30c930a7e8b824bcc355fe1564f278ca7ba (patch) | |
tree | e83812438f7faea082c5b0e43bf578eb6f6863ef | |
parent | 9cd23cdee154e440a57eb78f1452b18dc196723c (diff) | |
download | mongo-825da30c930a7e8b824bcc355fe1564f278ca7ba.tar.gz |
SERVER-6285 - reset lock stats in CurOp when a new request starts
-rw-r--r-- | src/mongo/db/curop.cpp | 1 | ||||
-rw-r--r-- | src/mongo/db/lockstat.cpp | 6 | ||||
-rw-r--r-- | src/mongo/db/lockstat.h | 2 |
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; |