summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Evans <jacob.evans@10gen.com>2022-12-08 01:56:53 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-12-08 21:13:20 +0000
commitbe31f3772cd25cd1edfb90bbf37ac8cdb8c55440 (patch)
tree68efb9fa36a61372b88372f4682865c61750bff8
parent194a588a5790ac1620fe8e9011d8b488c09613d1 (diff)
downloadmongo-be31f3772cd25cd1edfb90bbf37ac8cdb8c55440.tar.gz
SERVER-71838 Remove deprecated collStats in ftdcr6.2.0-rc3
-rw-r--r--src/mongo/db/ftdc/ftdc_mongod.cpp26
-rw-r--r--src/mongo/db/ftdc/ftdc_server.cpp7
2 files changed, 21 insertions, 12 deletions
diff --git a/src/mongo/db/ftdc/ftdc_mongod.cpp b/src/mongo/db/ftdc/ftdc_mongod.cpp
index 6ccae55e539..20a435ecb68 100644
--- a/src/mongo/db/ftdc/ftdc_mongod.cpp
+++ b/src/mongo/db/ftdc/ftdc_mongod.cpp
@@ -82,8 +82,12 @@ public:
auto result = CommandHelpers::runCommandDirectly(
opCtx,
OpMsgRequest::fromDBAndBody(
- ns.db(), BSON("collStats" << ns.coll() << "waitForLock" << false)));
- builder.append(nsStr, result);
+ ns.db(),
+ BSON("aggregate" << ns.coll() << "cursor" << BSONObj{} << "pipeline"
+ << BSON_ARRAY(BSON("$collStats" << BSON(
+ "storageStats" << BSON(
+ "waitForLock" << false)))))));
+ builder.append(nsStr, result["cursor"]["firstBatch"]["0"].Obj());
} catch (...) {
Status s = exceptionToStatus();
@@ -110,14 +114,16 @@ void registerMongoDCollectors(FTDCController* controller) {
BSON("replSetGetStatus" << 1 << "initialSync" << 0)));
// CollectionStats
- controller->addPeriodicCollector(
- std::make_unique<FTDCSimpleInternalCommandCollector>("collStats",
- "local.oplog.rs.stats",
- "local",
- BSON("collStats"
- << "oplog.rs"
- << "waitForLock" << false
- << "numericOnly" << true)));
+ controller->addPeriodicCollector(std::make_unique<FTDCSimpleInternalCommandCollector>(
+ "aggregate",
+ "local.oplog.rs.stats",
+ "local",
+ BSON("aggregate"
+ << "oplog.rs"
+ << "cursor" << BSONObj{} << "pipeline"
+ << BSON_ARRAY(BSON("$collStats" << BSON(
+ "storageStats" << BSON(
+ "waitForLock" << false << "numericOnly" << true)))))));
if (serverGlobalParams.clusterRole != ClusterRole::ShardServer) {
// GetDefaultRWConcern
controller->addOnRotateCollector(std::make_unique<FTDCSimpleInternalCommandCollector>(
diff --git a/src/mongo/db/ftdc/ftdc_server.cpp b/src/mongo/db/ftdc/ftdc_server.cpp
index 2c42daf45ef..558fce926f2 100644
--- a/src/mongo/db/ftdc/ftdc_server.cpp
+++ b/src/mongo/db/ftdc/ftdc_server.cpp
@@ -181,8 +181,11 @@ FTDCSimpleInternalCommandCollector::FTDCSimpleInternalCommandCollector(StringDat
}
void FTDCSimpleInternalCommandCollector::collect(OperationContext* opCtx, BSONObjBuilder& builder) {
- auto result = CommandHelpers::runCommandDirectly(opCtx, _request);
- builder.appendElements(result);
+ if (auto result = CommandHelpers::runCommandDirectly(opCtx, _request);
+ result.hasElement("cursor"))
+ builder.appendElements(result["cursor"]["firstBatch"]["0"].Obj());
+ else
+ builder.appendElements(result);
}
std::string FTDCSimpleInternalCommandCollector::name() const {