diff options
author | Qingyang Chen <qingyang.chen@10gen.com> | 2015-06-04 16:23:57 -0400 |
---|---|---|
committer | David Storch <david.storch@10gen.com> | 2015-06-08 21:48:20 -0400 |
commit | ee2e87ef994fb486b05cbec24eb16d95b3226136 (patch) | |
tree | b70ee50f4889cb5b2c0ce58750b9f9ddd7190f76 /src/mongo | |
parent | ac349d5d3bb607ba9fe2981b8b0181520408751a (diff) | |
download | mongo-ee2e87ef994fb486b05cbec24eb16d95b3226136.tar.gz |
SERVER-17810 remove matchTested specificStat
Closes #976
Signed-off-by: David Storch <david.storch@10gen.com>
Diffstat (limited to 'src/mongo')
-rw-r--r-- | src/mongo/db/exec/and_sorted.cpp | 8 | ||||
-rw-r--r-- | src/mongo/db/exec/fetch.cpp | 4 | ||||
-rw-r--r-- | src/mongo/db/exec/index_scan.cpp | 4 | ||||
-rw-r--r-- | src/mongo/db/exec/or.cpp | 7 | ||||
-rw-r--r-- | src/mongo/db/exec/plan_stats.h | 17 | ||||
-rw-r--r-- | src/mongo/db/query/explain.cpp | 6 |
6 files changed, 4 insertions, 42 deletions
diff --git a/src/mongo/db/exec/and_sorted.cpp b/src/mongo/db/exec/and_sorted.cpp index 91036304f58..5262910549e 100644 --- a/src/mongo/db/exec/and_sorted.cpp +++ b/src/mongo/db/exec/and_sorted.cpp @@ -43,10 +43,10 @@ namespace mongo { // static const char* AndSortedStage::kStageType = "AND_SORTED"; - AndSortedStage::AndSortedStage(WorkingSet* ws, + AndSortedStage::AndSortedStage(WorkingSet* ws, const MatchExpression* filter, const Collection* collection) - : _collection(collection), + : _collection(collection), _ws(ws), _filter(filter), _targetNode(numeric_limits<size_t>::max()), @@ -192,10 +192,6 @@ namespace mongo { // Everyone hit it, hooray. Return it, if it matches. if (Filter::passes(toMatchTest, _filter)) { - if (NULL != _filter) { - ++_specificStats.matchTested; - } - *out = toReturn; ++_commonStats.advanced; return PlanStage::ADVANCED; diff --git a/src/mongo/db/exec/fetch.cpp b/src/mongo/db/exec/fetch.cpp index 423ef2546c3..606c7af6662 100644 --- a/src/mongo/db/exec/fetch.cpp +++ b/src/mongo/db/exec/fetch.cpp @@ -210,10 +210,6 @@ namespace mongo { ++_specificStats.docsExamined; if (Filter::passes(member, _filter)) { - if (NULL != _filter) { - ++_specificStats.matchTested; - } - *out = memberID; ++_commonStats.advanced; diff --git a/src/mongo/db/exec/index_scan.cpp b/src/mongo/db/exec/index_scan.cpp index b3324254b74..31754175512 100644 --- a/src/mongo/db/exec/index_scan.cpp +++ b/src/mongo/db/exec/index_scan.cpp @@ -205,10 +205,8 @@ namespace mongo { ++_commonStats.needTime; return PlanStage::NEED_TIME; } - - ++_specificStats.matchTested; } - + if (!kv->key.isOwned()) kv->key = kv->key.getOwned(); // We found something to return, so fill out the WSM. diff --git a/src/mongo/db/exec/or.cpp b/src/mongo/db/exec/or.cpp index ee57187c2a2..7565ea9312a 100644 --- a/src/mongo/db/exec/or.cpp +++ b/src/mongo/db/exec/or.cpp @@ -62,10 +62,6 @@ namespace mongo { if (isEOF()) { return PlanStage::IS_EOF; } - if (0 == _specificStats.matchTested.size()) { - _specificStats.matchTested = vector<size_t>(_children.size(), 0); - } - WorkingSetID id = WorkingSet::INVALID_ID; StageState childStatus = _children[_currentChild]->work(&id); @@ -91,9 +87,6 @@ namespace mongo { } if (Filter::passes(member, _filter)) { - if (NULL != _filter) { - ++_specificStats.matchTested[_currentChild]; - } // Match! return it. *out = id; ++_commonStats.advanced; diff --git a/src/mongo/db/exec/plan_stats.h b/src/mongo/db/exec/plan_stats.h index 48ef8b85021..a9d5a2ae187 100644 --- a/src/mongo/db/exec/plan_stats.h +++ b/src/mongo/db/exec/plan_stats.h @@ -179,8 +179,7 @@ namespace mongo { }; struct AndSortedStats : public SpecificStats { - AndSortedStats() : flagged(0), - matchTested(0) { } + AndSortedStats() : flagged(0) { } virtual ~AndSortedStats() { } @@ -194,9 +193,6 @@ namespace mongo { // How many results were flagged via invalidation? size_t flagged; - - // Fails == common.advanced - matchTested - size_t matchTested; }; struct CachedPlanStats : public SpecificStats { @@ -304,7 +300,6 @@ namespace mongo { struct FetchStats : public SpecificStats { FetchStats() : alreadyHasObj(0), forcedFetches(0), - matchTested(0), docsExamined(0) { } virtual ~FetchStats() { } @@ -320,9 +315,6 @@ namespace mongo { // How many records were we forced to fetch as the result of an invalidation? size_t forcedFetches; - // We know how many passed (it's the # of advanced) and therefore how many failed. - size_t matchTested; - // The total number of full documents touched by the fetch stage. size_t docsExamined; }; @@ -367,7 +359,6 @@ namespace mongo { dupsTested(0), dupsDropped(0), seenInvalidated(0), - matchTested(0), keysExamined(0) { } virtual ~IndexScanStats() { } @@ -407,9 +398,6 @@ namespace mongo { size_t seenInvalidated; // TODO: we could track key sizes here. - // We know how many passed (it's the # of advanced) and therefore how many failed. - size_t matchTested; - // Number of entries retrieved from the index during the scan. size_t keysExamined; @@ -459,9 +447,6 @@ namespace mongo { // How many calls to invalidate(...) actually removed a RecordId from our deduping map? size_t locsForgotten; - - // We know how many passed (it's the # of advanced) and therefore how many failed. - std::vector<size_t> matchTested; }; struct ProjectionStats : public SpecificStats { diff --git a/src/mongo/db/query/explain.cpp b/src/mongo/db/query/explain.cpp index 6915511925a..7630bbd4c94 100644 --- a/src/mongo/db/query/explain.cpp +++ b/src/mongo/db/query/explain.cpp @@ -259,7 +259,6 @@ namespace mongo { if (verbosity >= ExplainCommon::EXEC_STATS) { bob->appendNumber("flagged", spec->flagged); - bob->appendNumber("matchTested", spec->matchTested); for (size_t i = 0; i < spec->failedAnd.size(); ++i) { bob->appendNumber(string(stream() << "failedAnd_" << i), spec->failedAnd[i]); @@ -361,7 +360,6 @@ namespace mongo { bob->appendNumber("dupsTested", spec->dupsTested); bob->appendNumber("dupsDropped", spec->dupsDropped); bob->appendNumber("seenInvalidated", spec->seenInvalidated); - bob->appendNumber("matchTested", spec->matchTested); } } else if (STAGE_OR == stats.stageType) { @@ -371,10 +369,6 @@ namespace mongo { bob->appendNumber("dupsTested", spec->dupsTested); bob->appendNumber("dupsDropped", spec->dupsDropped); bob->appendNumber("locsForgotten", spec->locsForgotten); - for (size_t i = 0; i < spec->matchTested.size(); ++i) { - bob->appendNumber(string(stream() << "matchTested_" << i), - spec->matchTested[i]); - } } } else if (STAGE_LIMIT == stats.stageType) { |