From ce83d98bcfa035bfbf4ebd170f6b09cda8634ef2 Mon Sep 17 00:00:00 2001 From: Eliot Horowitz Date: Tue, 17 May 2011 10:50:12 -0400 Subject: [PATCH] access to progress meter in db.currentOp() SERVER-2167 --- db/client.cpp | 4 ++++ util/goodies.h | 14 ++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/db/client.cpp b/db/client.cpp index 83e14b84bdf..45d856500a5 100644 --- a/db/client.cpp +++ b/db/client.cpp @@ -395,6 +395,10 @@ namespace mongo { StringBuilder buf(128); buf << _message.toString() << " " << _progressMeter.toString(); b.append( "msg" , buf.str() ); + BSONObjBuilder sub( b.subobjStart( "progress" ) ); + sub.appendNumber( "done" , (long long)_progressMeter.done() ); + sub.appendNumber( "total" , (long long)_progressMeter.total() ); + sub.done(); } else { b.append( "msg" , _message.toString() ); diff --git a/util/goodies.h b/util/goodies.h index de05dabf64e..f28dfac5241 100644 --- a/util/goodies.h +++ b/util/goodies.h @@ -284,18 +284,16 @@ namespace mongo { return true; } - unsigned long long done() { - return _done; - } - - unsigned long long hits() { - return _hits; - } - void setTotalWhileRunning( unsigned long long total ) { _total = total; } + unsigned long long done() const { return _done; } + + unsigned long long hits() const { return _hits; } + + unsigned long long total() const { return _total; } + string toString() const { if ( ! _active ) return "";