summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2012-07-09 16:16:12 -0400
committerEliot Horowitz <eliot@10gen.com>2012-07-09 16:18:20 -0400
commit9da54325e89514108956ff72099011aa6866a029 (patch)
treebe7144ff316175aadc4b1a380bf36cc9e5999a2c
parenta5d502527b6daf931e9ae63ac874821afa04ee30 (diff)
downloadmongo-9da54325e89514108956ff72099011aa6866a029.tar.gz
use better mutex and StringData for top
-rw-r--r--src/mongo/db/stats/top.cpp16
-rw-r--r--src/mongo/db/stats/top.h4
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;