summaryrefslogtreecommitdiffstats
path: root/searchcore/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-02-06 19:52:04 +0100
committerHenning Baldersheim <balder@oath.com>2018-02-06 19:52:04 +0100
commita78ba376e728cf425e12bcbe3aad2daeb2140a06 (patch)
treee43f9eb8cf7958a456ee2ab7a65e59ec02f89149 /searchcore/src
parent986ef1f516426128eb64e758d68796e78184f1e6 (diff)
Also keep track of nodes queried/replied.
Diffstat (limited to 'searchcore/src')
-rw-r--r--searchcore/src/vespa/searchcore/fdispatch/common/search.h9
-rw-r--r--searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.h2
-rw-r--r--searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/fdispatch/search/querycacheutil.h5
5 files changed, 14 insertions, 6 deletions
diff --git a/searchcore/src/vespa/searchcore/fdispatch/common/search.h b/searchcore/src/vespa/searchcore/fdispatch/common/search.h
index 8ca63838c5f..a1a8eb9f0ba 100644
--- a/searchcore/src/vespa/searchcore/fdispatch/common/search.h
+++ b/searchcore/src/vespa/searchcore/fdispatch/common/search.h
@@ -100,6 +100,8 @@ public:
uint64_t _activeDocs;
uint64_t _soonActiveDocs;
uint32_t _degradeReason;
+ uint16_t _nodesQueried;
+ uint16_t _nodesReplied;
FastS_SearchInfo()
: _searchOffset(0),
@@ -107,9 +109,10 @@ public:
_coverageDocs(0),
_activeDocs(0),
_soonActiveDocs(0),
- _degradeReason(0)
- {
- }
+ _degradeReason(0),
+ _nodesQueried(0),
+ _nodesReplied(0)
+ { }
};
//----------------------------------------------------------------
diff --git a/searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.cpp b/searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.cpp
index dd4109da5cf..824688a75f6 100644
--- a/searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.cpp
+++ b/searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.cpp
@@ -56,6 +56,8 @@ SearchAdapter::createReply()
r.coverage = SearchReply::Coverage(_searchInfo->_activeDocs, _searchInfo->_coverageDocs);
r.coverage.setSoonActive(_searchInfo->_soonActiveDocs);
r.coverage.setDegradeReason(_searchInfo->_degradeReason);
+ r.coverage.setNodesQueried(_searchInfo->_nodesQueried);
+ r.coverage.setNodesReplied(_searchInfo->_nodesReplied);
FastS_hitresult *hitbuf = _queryResult->_hitbuf;
r.hits.resize(hitcnt);
diff --git a/searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.h b/searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.h
index d60b39c52be..de941505fc6 100644
--- a/searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.h
+++ b/searchcore/src/vespa/searchcore/fdispatch/program/searchadapter.h
@@ -35,7 +35,7 @@ private:
void writeLog();
void cleanup();
- virtual void Run(FastOS_ThreadInterface *, void *) override;
+ void Run(FastOS_ThreadInterface *, void *) override;
public:
SearchAdapter(FastS_AppContext *appCtx,
diff --git a/searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp b/searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp
index 85599b9e897..98642c6edf6 100644
--- a/searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp
+++ b/searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp
@@ -884,7 +884,7 @@ FastS_FNET_Search::CheckCoverage()
if ((cntNone > 0) && (cntNone != _nodes.size())) {
activeDocs += cntNone * activeDocs/(_nodes.size() - cntNone);
}
- _util.SetCoverage(covDocs, activeDocs, soonActiveDocs, degradedReason);
+ _util.SetCoverage(covDocs, activeDocs, soonActiveDocs, degradedReason, _nodes.size(), _nodes.size() - cntNone);
}
diff --git a/searchcore/src/vespa/searchcore/fdispatch/search/querycacheutil.h b/searchcore/src/vespa/searchcore/fdispatch/search/querycacheutil.h
index 6fdca46530c..442fa3f0710 100644
--- a/searchcore/src/vespa/searchcore/fdispatch/search/querycacheutil.h
+++ b/searchcore/src/vespa/searchcore/fdispatch/search/querycacheutil.h
@@ -80,12 +80,15 @@ public:
ret = 0.0;
return ret;
}
- void SetCoverage(uint64_t coverageDocs, uint64_t activeDocs, uint64_t soonActiveDocs, uint32_t degradeReason)
+ void SetCoverage(uint64_t coverageDocs, uint64_t activeDocs, uint64_t soonActiveDocs,
+ uint32_t degradeReason, uint16_t nodesQueried, uint16_t nodesReplied)
{
_searchInfo._coverageDocs = coverageDocs;
_searchInfo._activeDocs = activeDocs;
_searchInfo._soonActiveDocs = soonActiveDocs;
_searchInfo._degradeReason = degradeReason;
+ _searchInfo._nodesQueried = nodesQueried;
+ _searchInfo._nodesReplied = nodesReplied;
}
void SetAlignedHitCount(uint32_t alignedHitCount) {
if (alignedHitCount > _alignedMaxHits) {