summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_lookup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/document_source_lookup.cpp')
-rw-r--r--src/mongo/db/pipeline/document_source_lookup.cpp14
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));