summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp19
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,