diff options
author | Randolph Tan <randolph@10gen.com> | 2020-02-27 18:15:47 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-03-02 15:01:43 +0000 |
commit | fa63db9e59c9b45e448c00d5126c68b394ad7585 (patch) | |
tree | 82a6832c07cc85b659ef49b401fde7627da2b53f /src/mongo/db/s/collection_sharding_state.cpp | |
parent | b40e4076c94283df6f07c3a7e6b88e34b1721e73 (diff) | |
download | mongo-fa63db9e59c9b45e448c00d5126c68b394ad7585.tar.gz |
SERVER-14126 Add range deleter stats for serverStatus under shardingStatistics
Diffstat (limited to 'src/mongo/db/s/collection_sharding_state.cpp')
-rw-r--r-- | src/mongo/db/s/collection_sharding_state.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mongo/db/s/collection_sharding_state.cpp b/src/mongo/db/s/collection_sharding_state.cpp index 0bd4b0d3ee5..c50c00a9a06 100644 --- a/src/mongo/db/s/collection_sharding_state.cpp +++ b/src/mongo/db/s/collection_sharding_state.cpp @@ -91,6 +91,19 @@ public: versionB.done(); } + void appendInfoForServerStatus(BSONObjBuilder* builder) { + BSONArrayBuilder rangeDeleterArrayBuilder(builder->subarrayStart("rangeDeleterTasks")); + + { + stdx::lock_guard lg(_mutex); + for (auto& coll : _collections) { + coll.second->appendInfoForServerStatus(&rangeDeleterArrayBuilder); + } + } + + rangeDeleterArrayBuilder.done(); + } + private: using CollectionsMap = StringMap<std::shared_ptr<CollectionShardingState>>; @@ -126,6 +139,12 @@ void CollectionShardingState::report(OperationContext* opCtx, BSONObjBuilder* bu collectionsMap->report(opCtx, builder); } +void CollectionShardingState::appendInfoForServerStatus(OperationContext* opCtx, + BSONObjBuilder* builder) { + auto& collectionsMap = CollectionShardingStateMap::get(opCtx->getServiceContext()); + collectionsMap->appendInfoForServerStatus(builder); +} + void CollectionShardingStateFactory::set(ServiceContext* service, std::unique_ptr<CollectionShardingStateFactory> factory) { auto& collectionsMap = CollectionShardingStateMap::get(service); |