summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/collection_sharding_state.cpp
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2020-02-27 18:15:47 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-03-02 15:01:43 +0000
commitfa63db9e59c9b45e448c00d5126c68b394ad7585 (patch)
tree82a6832c07cc85b659ef49b401fde7627da2b53f /src/mongo/db/s/collection_sharding_state.cpp
parentb40e4076c94283df6f07c3a7e6b88e34b1721e73 (diff)
downloadmongo-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.cpp19
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);