diff options
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp')
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp | 25 |
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 |