diff options
author | Maddie Zechar <mez2113@columbia.edu> | 2022-10-10 16:22:03 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-10-10 17:16:27 +0000 |
commit | dbd868972c766d7a272e7cb3fcd2f3c792b2dd83 (patch) | |
tree | 03784fb830fc1005ff41b5f846f0715794309ccc /src/mongo/db/curop.cpp | |
parent | df498b17710f364a853c4dc1731cbdc6ec91e0f5 (diff) | |
download | mongo-dbd868972c766d7a272e7cb3fcd2f3c792b2dd83.tar.gz |
SERVER-64978 Add metrics to track if a plan was recovered from the plan cache
Diffstat (limited to 'src/mongo/db/curop.cpp')
-rw-r--r-- | src/mongo/db/curop.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/curop.cpp b/src/mongo/db/curop.cpp index 9c362854d97..a01bb33437f 100644 --- a/src/mongo/db/curop.cpp +++ b/src/mongo/db/curop.cpp @@ -831,6 +831,7 @@ void OpDebug::report(OperationContext* opCtx, OPDEBUG_TOATTR_HELP_BOOL(hasSortStage); OPDEBUG_TOATTR_HELP_BOOL(usedDisk); OPDEBUG_TOATTR_HELP_BOOL(fromMultiPlanner); + OPDEBUG_TOATTR_HELP_BOOL(fromPlanCache); if (replanReason) { bool replanned = true; OPDEBUG_TOATTR_HELP_BOOL(replanned); @@ -999,6 +1000,7 @@ void OpDebug::append(OperationContext* opCtx, OPDEBUG_APPEND_BOOL(b, hasSortStage); OPDEBUG_APPEND_BOOL(b, usedDisk); OPDEBUG_APPEND_BOOL(b, fromMultiPlanner); + OPDEBUG_APPEND_BOOL(b, fromPlanCache); if (replanReason) { bool replanned = true; OPDEBUG_APPEND_BOOL(b, replanned); @@ -1228,6 +1230,9 @@ std::function<BSONObj(ProfileFilter::Args)> OpDebug::appendStaged(StringSet requ addIfNeeded("fromMultiPlanner", [](auto field, auto args, auto& b) { OPDEBUG_APPEND_BOOL2(b, field, args.op.fromMultiPlanner); }); + addIfNeeded("fromPlanCache", [](auto field, auto args, auto& b) { + OPDEBUG_APPEND_BOOL2(b, field, args.op.fromPlanCache); + }); addIfNeeded("replanned", [](auto field, auto args, auto& b) { if (args.op.replanReason) { OPDEBUG_APPEND_BOOL2(b, field, true); @@ -1443,6 +1448,7 @@ void OpDebug::setPlanSummaryMetrics(const PlanSummaryStats& planSummaryStats) { sortTotalDataSizeBytes = planSummaryStats.sortTotalDataSizeBytes; keysSorted = planSummaryStats.keysSorted; fromMultiPlanner = planSummaryStats.fromMultiPlanner; + fromPlanCache = planSummaryStats.fromPlanCache; replanReason = planSummaryStats.replanReason; } |