diff options
Diffstat (limited to 'src/mongo/db/pipeline/expression_context.cpp')
| -rw-r--r-- | src/mongo/db/pipeline/expression_context.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/expression_context.cpp b/src/mongo/db/pipeline/expression_context.cpp index 2c41c612595..7258456a1ac 100644 --- a/src/mongo/db/pipeline/expression_context.cpp +++ b/src/mongo/db/pipeline/expression_context.cpp @@ -251,11 +251,27 @@ void ExpressionContext::incrementAggExprCounter(StringData name) { } } +void ExpressionContext::incrementGroupAccumulatorExprCounter(StringData name) { + if (enabledCounters && _expressionCounters) { + ++_expressionCounters.get().groupAccumulatorExprCountersMap[name]; + } +} + +void ExpressionContext::incrementWindowAccumulatorExprCounter(StringData name) { + if (enabledCounters && _expressionCounters) { + ++_expressionCounters.get().windowAccumulatorExprCountersMap[name]; + } +} + void ExpressionContext::stopExpressionCounters() { if (enabledCounters && _expressionCounters) { operatorCountersMatchExpressions.mergeCounters( _expressionCounters.get().matchExprCountersMap); operatorCountersAggExpressions.mergeCounters(_expressionCounters.get().aggExprCountersMap); + operatorCountersGroupAccumulatorExpressions.mergeCounters( + _expressionCounters.get().groupAccumulatorExprCountersMap); + operatorCountersWindowAccumulatorExpressions.mergeCounters( + _expressionCounters.get().windowAccumulatorExprCountersMap); } _expressionCounters = boost::none; } |
