diff options
Diffstat (limited to 'src/mongo/db/query/plan_explainer_sbe.cpp')
| -rw-r--r-- | src/mongo/db/query/plan_explainer_sbe.cpp | 15 |
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)); |
