summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp
index 335aebd34a5..100924d9e98 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp
@@ -34,6 +34,8 @@
#include "mongo/base/checked_cast.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/db/concurrency/d_concurrency.h"
+#include "mongo/db/db_raii.h"
+#include "mongo/db/namespace_string.h"
#include "mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h"
#include "mongo/db/storage/wiredtiger/wiredtiger_record_store.h"
#include "mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h"
@@ -41,6 +43,7 @@
#include "mongo/db/storage/wiredtiger/wiredtiger_util.h"
#include "mongo/util/assert_util.h"
+
namespace mongo {
using std::string;
@@ -85,4 +88,26 @@ BSONObj WiredTigerServerStatusSection::generateSection(OperationContext* opCtx,
return bob.obj();
}
+OplogStonesServerStatusSection::OplogStonesServerStatusSection()
+ : ServerStatusSection("oplogTruncation") {}
+
+bool OplogStonesServerStatusSection::includeByDefault() const {
+ return true;
+}
+
+BSONObj OplogStonesServerStatusSection::generateSection(OperationContext* opCtx,
+ const BSONElement& configElement) const {
+ BSONObjBuilder builder;
+ {
+ AutoGetCollectionForReadCommand ctx(opCtx, NamespaceString::kRsOplogNamespace);
+ Collection* oplogColl = ctx.getCollection();
+ if (oplogColl) {
+ auto oplogRS = checked_cast<WiredTigerRecordStore*>(oplogColl->getRecordStore());
+ oplogRS->getOplogTruncateStats(builder);
+ }
+ }
+ return builder.obj();
+}
+
+
} // namespace mongo