diff options
author | Henning Baldersheim <balder@oath.com> | 2018-02-06 19:52:04 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@oath.com> | 2018-02-06 19:52:04 +0100 |
commit | a78ba376e728cf425e12bcbe3aad2daeb2140a06 (patch) | |
tree | e43f9eb8cf7958a456ee2ab7a65e59ec02f89149 /searchcore | |
parent | 986ef1f516426128eb64e758d68796e78184f1e6 (diff) |
Also keep track of nodes queried/replied.
Diffstat (limited to 'searchcore')
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) { |