diff options
-rw-r--r-- | src/mongo/db/stats/top.cpp | 16 | ||||
-rw-r--r-- | src/mongo/db/stats/top.h | 4 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/mongo/db/stats/top.cpp b/src/mongo/db/stats/top.cpp index 5ccb9660b4b..4b6574135da 100644 --- a/src/mongo/db/stats/top.cpp +++ b/src/mongo/db/stats/top.cpp @@ -42,19 +42,19 @@ namespace mongo { } - void Top::record( const string& ns , int op , int lockType , long long micros , bool command ) { - if ( ns[0] == '?' ) + void Top::record( const StringData& ns , int op , int lockType , long long micros , bool command ) { + if ( ns.data()[0] == '?' ) return; //cout << "record: " << ns << "\t" << op << "\t" << command << endl; - scoped_lock lk(_lock); + SimpleMutex::scoped_lock lk(_lock); - if ( ( command || op == dbQuery ) && ns == _lastDropped ) { + if ( ( command || op == dbQuery ) && str::equals( ns.data(), _lastDropped.c_str() ) ) { _lastDropped = ""; return; } - CollectionData& coll = _usage[ns]; + CollectionData& coll = _usage[ns.data()]; _record( coll , op , lockType , micros , command ); _record( _global , op , lockType , micros , command ); } @@ -103,18 +103,18 @@ namespace mongo { void Top::collectionDropped( const string& ns ) { //cout << "collectionDropped: " << ns << endl; - scoped_lock lk(_lock); + SimpleMutex::scoped_lock lk(_lock); _usage.erase(ns); _lastDropped = ns; } void Top::cloneMap(Top::UsageMap& out) const { - scoped_lock lk(_lock); + SimpleMutex::scoped_lock lk(_lock); out = _usage; } void Top::append( BSONObjBuilder& b ) { - scoped_lock lk( _lock ); + SimpleMutex::scoped_lock lk( _lock ); _appendToUsageMap( b , _usage ); } diff --git a/src/mongo/db/stats/top.h b/src/mongo/db/stats/top.h index 22470cb5d90..26206670149 100644 --- a/src/mongo/db/stats/top.h +++ b/src/mongo/db/stats/top.h @@ -64,7 +64,7 @@ namespace mongo { typedef map<string,CollectionData> UsageMap; public: - void record( const string& ns , int op , int lockType , long long micros , bool command ); + void record( const StringData& ns , int op , int lockType , long long micros , bool command ); void append( BSONObjBuilder& b ); void cloneMap(UsageMap& out) const; CollectionData getGlobalData() const { return _global; } @@ -78,7 +78,7 @@ namespace mongo { void _appendStatsEntry( BSONObjBuilder& b , const char * statsName , const UsageData& map ) const; void _record( CollectionData& c , int op , int lockType , long long micros , bool command ); - mutable mongo::mutex _lock; + mutable SimpleMutex _lock; CollectionData _global; UsageMap _usage; string _lastDropped; |