summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/plan_explainer_sbe.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/query/plan_explainer_sbe.cpp')
-rw-r--r--src/mongo/db/query/plan_explainer_sbe.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/mongo/db/query/plan_explainer_sbe.cpp b/src/mongo/db/query/plan_explainer_sbe.cpp
index fea5b81cea4..e14eebb59b4 100644
--- a/src/mongo/db/query/plan_explainer_sbe.cpp
+++ b/src/mongo/db/query/plan_explainer_sbe.cpp
@@ -238,9 +238,18 @@ void statsToBSONHelper(const sbe::PlanStageStats* stats,
// Some top-level exec stats get pulled out of the root stage.
bob->appendNumber("nReturned", static_cast<long long>(stats->common.advances));
- // Include executionTimeMillis if it was recorded.
- if (stats->common.executionTimeMillis) {
- bob->appendNumber("executionTimeMillisEstimate", *stats->common.executionTimeMillis);
+ // Include the execution time if it was recorded.
+ if (stats->common.executionTime.precision == QueryExecTimerPrecision::kMillis) {
+ bob->appendNumber(
+ "executionTimeMillisEstimate",
+ durationCount<Milliseconds>(stats->common.executionTime.executionTimeEstimate));
+ } else if (stats->common.executionTime.precision == QueryExecTimerPrecision::kMicros) {
+ bob->appendNumber(
+ "executionTimeMillisEstimate",
+ durationCount<Milliseconds>(stats->common.executionTime.executionTimeEstimate));
+ bob->appendNumber(
+ "executionTimeMicros",
+ durationCount<Microseconds>(stats->common.executionTime.executionTimeEstimate));
}
bob->appendNumber("opens", static_cast<long long>(stats->common.opens));
bob->appendNumber("closes", static_cast<long long>(stats->common.closes));