diff options
Diffstat (limited to 'src/mongo/db/s')
-rw-r--r-- | src/mongo/db/s/shard_filtering_metadata_refresh.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/s/shard_filtering_metadata_refresh.cpp b/src/mongo/db/s/shard_filtering_metadata_refresh.cpp index 51bb630571f..60046674966 100644 --- a/src/mongo/db/s/shard_filtering_metadata_refresh.cpp +++ b/src/mongo/db/s/shard_filtering_metadata_refresh.cpp @@ -33,6 +33,7 @@ #include "mongo/db/catalog/database_holder.h" #include "mongo/db/catalog_raii.h" #include "mongo/db/commands/feature_compatibility_version.h" +#include "mongo/db/curop.h" #include "mongo/db/operation_context.h" #include "mongo/db/s/collection_sharding_runtime.h" #include "mongo/db/s/database_sharding_state.h" @@ -64,6 +65,11 @@ void onDbVersionMismatch(OperationContext* opCtx, invariant(!opCtx->getClient()->isInDirectClient()); invariant(ShardingState::get(opCtx)->canAcceptShardedCommands()); + Timer t{}; + ScopeGuard finishTiming([&] { + CurOp::get(opCtx)->debug().databaseVersionRefreshMillis += Milliseconds(t.millis()); + }); + { // Take the DBLock directly rather than using AutoGetDb, to prevent a recursive call into // checkDbVersion(). @@ -243,6 +249,10 @@ void onShardVersionMismatch(OperationContext* opCtx, invariant(!opCtx->getClient()->isInDirectClient()); invariant(ShardingState::get(opCtx)->canAcceptShardedCommands()); + Timer t{}; + ScopeGuard finishTiming( + [&] { CurOp::get(opCtx)->debug().shardVersionRefreshMillis += Milliseconds(t.millis()); }); + if (nss.isNamespaceAlwaysUnsharded()) { return; } |