diff options
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp')
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp index ae5962ac3b5..692d79c6254 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp @@ -523,7 +523,24 @@ void WiredTigerRecoveryUnit::beginIdle() { } } -// --------------------- +BSONObj WiredTigerRecoveryUnit::getOperationStatistics() const { + BSONObjBuilder bob; + if (!_session) + return bob.obj(); + + WT_SESSION* s = _session->getSession(); + invariant(s); + + Status status = WiredTigerUtil::exportOperationStatsInfoToBSON( + s, "statistics:session", "statistics=(fast)", &bob); + if (!status.isOK()) { + bob.append("error", "unable to retrieve storage statistics"); + bob.append("code", static_cast<int>(status.code())); + bob.append("reason", status.reason()); + } + + return bob.obj(); +} WiredTigerCursor::WiredTigerCursor(const std::string& uri, uint64_t tableId, |