diff options
Diffstat (limited to 'src/mongo/db/pipeline/document_source_lookup.cpp')
-rw-r--r-- | src/mongo/db/pipeline/document_source_lookup.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/mongo/db/pipeline/document_source_lookup.cpp b/src/mongo/db/pipeline/document_source_lookup.cpp index eefa1e13626..4edce8a721b 100644 --- a/src/mongo/db/pipeline/document_source_lookup.cpp +++ b/src/mongo/db/pipeline/document_source_lookup.cpp @@ -480,7 +480,7 @@ DocumentSource::GetNextResult DocumentSourceLookUp::doGetNext() { results.emplace_back(std::move(*result)); } - recordPlanSummaryStats(*pipeline); + accumulatePipelinePlanSummaryStats(*pipeline, _stats.planSummaryStats); MutableDocument output(std::move(inputDoc)); output.setNestedField(_as, Value(std::move(results))); return output.freeze(); @@ -806,7 +806,7 @@ bool DocumentSourceLookUp::usedDisk() { void DocumentSourceLookUp::doDispose() { if (_pipeline) { - recordPlanSummaryStats(*_pipeline); + accumulatePipelinePlanSummaryStats(*_pipeline, _stats.planSummaryStats); _pipeline->dispose(pExpCtx->opCtx); _pipeline.reset(); } @@ -922,7 +922,7 @@ DocumentSource::GetNextResult DocumentSourceLookUp::unwindResult() { } if (_pipeline) { - recordPlanSummaryStats(*_pipeline); + accumulatePipelinePlanSummaryStats(*_pipeline, _stats.planSummaryStats); _pipeline->dispose(pExpCtx->opCtx); } @@ -983,14 +983,6 @@ void DocumentSourceLookUp::initializeResolvedIntrospectionPipeline() { _fromExpCtx->stopExpressionCounters(); } -void DocumentSourceLookUp::recordPlanSummaryStats(const Pipeline& pipeline) { - for (auto&& source : pipeline.getSources()) { - if (auto specificStats = source->getSpecificStats()) { - specificStats->accumulate(_stats.planSummaryStats); - } - } -} - void DocumentSourceLookUp::appendSpecificExecStats(MutableDocument& doc) const { const PlanSummaryStats& stats = _stats.planSummaryStats; doc["totalDocsExamined"] = Value(static_cast<long long>(stats.totalDocsExamined)); |