summaryrefslogtreecommitdiff
path: root/src/mongo/db/curop.cpp
diff options
context:
space:
mode:
authorMaddie Zechar <mez2113@columbia.edu>2022-10-10 16:22:03 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-10-10 17:16:27 +0000
commitdbd868972c766d7a272e7cb3fcd2f3c792b2dd83 (patch)
tree03784fb830fc1005ff41b5f846f0715794309ccc /src/mongo/db/curop.cpp
parentdf498b17710f364a853c4dc1731cbdc6ec91e0f5 (diff)
downloadmongo-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.cpp6
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;
}