diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-12-20 11:45:31 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-12-20 11:45:31 +0000 |
commit | 1a7551d121e8dfbf9f3accfbb9731628e8968a04 (patch) | |
tree | 68073e3d6edc89c75630bdd821e79b8a33a45eb8 /searchcore | |
parent | 24d224ff74817ccf47ba5356cd002fecc2cec1c6 (diff) |
Add more details to the trace.
Diffstat (limited to 'searchcore')
6 files changed, 23 insertions, 11 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/matching/match_tools.cpp b/searchcore/src/vespa/searchcore/proton/matching/match_tools.cpp index 05b70cfb8bf..b16af14fcf5 100644 --- a/searchcore/src/vespa/searchcore/proton/matching/match_tools.cpp +++ b/searchcore/src/vespa/searchcore/proton/matching/match_tools.cpp @@ -5,6 +5,7 @@ #include <vespa/searchcorespi/index/indexsearchable.h> #include <vespa/searchlib/fef/indexproperties.h> #include <vespa/searchlib/fef/ranksetup.h> +#include <vespa/searchlib/engine/request.h> #include <vespa/searchlib/parsequery/stackdumpiterator.h> #include <vespa/searchlib/attribute/diversity.h> #include <vespa/searchlib/attribute/attribute_operation.h> @@ -150,8 +151,7 @@ MatchToolsFactory(QueryLimiter & queryLimiter, const vespalib::Doom & doom, ISearchContext & searchContext, IAttributeContext & attributeContext, - vespalib::stringref queryStack, - const vespalib::string & location, + const search::engine::Request &request, const ViewResolver & viewResolver, const IDocumentMetaStore & metaStore, const IIndexEnvironment & indexEnv, @@ -169,22 +169,28 @@ MatchToolsFactory(QueryLimiter & queryLimiter, _diversityParams(), _valid(false) { + request.trace().addEvent(4, "MTF: Start"); _query.setWhiteListBlueprint(metaStore.createWhiteListBlueprint()); - _valid = _query.buildTree(queryStack, location, viewResolver, indexEnv, + request.trace().addEvent(5,"MTF: Build query"); + _valid = _query.buildTree(request.getStackRef(), request.location, viewResolver, indexEnv, rankSetup.split_unpacking_iterators(), rankSetup.delay_unpacking_iterators()); if (_valid) { _query.extractTerms(_queryEnv.terms()); _query.extractLocations(_queryEnv.locations()); + request.trace().addEvent(5,"MTF: reserve handles"); _query.reserveHandles(_requestContext, searchContext, _mdl); _query.optimize(); + request.trace().addEvent(4,"MTF: Fetch Postings"); _query.fetchPostings(); _query.freeze(); + request.trace().addEvent(5,"MTF: prepareSharedState"); _rankSetup.prepareSharedState(_queryEnv, _queryEnv.getObjectStore()); _diversityParams = extractDiversityParams(_rankSetup, rankProperties); DegradationParams degradationParams = extractDegradationParams(_rankSetup, rankProperties); if (degradationParams.enabled()) { + request.trace().addEvent(5,"MTF: Build MatchPhaseLimiter"); _match_limiter = std::make_unique<MatchPhaseLimiter>(metaStore.getCommittedDocIdLimit(), searchContext.getAttributes(), _requestContext, degradationParams, _diversityParams); } @@ -192,6 +198,7 @@ MatchToolsFactory(QueryLimiter & queryLimiter, if ( ! _match_limiter) { _match_limiter = std::make_unique<NoMatchPhaseLimiter>(); } + request.trace().addEvent(4,"MTF: Complete"); } MatchToolsFactory::~MatchToolsFactory() = default; diff --git a/searchcore/src/vespa/searchcore/proton/matching/match_tools.h b/searchcore/src/vespa/searchcore/proton/matching/match_tools.h index 5cf2919198a..abe31299a17 100644 --- a/searchcore/src/vespa/searchcore/proton/matching/match_tools.h +++ b/searchcore/src/vespa/searchcore/proton/matching/match_tools.h @@ -21,6 +21,7 @@ namespace search::fef { class RankProgram; class RankSetup; } +namespace search::engine { class Request; } namespace proton::matching { class MatchTools @@ -109,8 +110,7 @@ public: const vespalib::Doom & softDoom, ISearchContext &searchContext, search::attribute::IAttributeContext &attributeContext, - vespalib::stringref queryStack, - const vespalib::string &location, + const search::engine::Request &request, const ViewResolver &viewResolver, const search::IDocumentMetaStore &metaStore, const search::fef::IIndexEnvironment &indexEnv, diff --git a/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp b/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp index 4c353a4b802..db1c3f200f7 100644 --- a/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp +++ b/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp @@ -153,8 +153,8 @@ Matcher::create_match_tools_factory(const search::engine::Request &request, ISea _stats.softDoomFactor(), factor, hasFactorOverride, vespalib::count_ns(safeLeft)); } vespalib::Doom doom(_clock, safeDoom, request.getTimeOfDoom(), hasFactorOverride); - return std::make_unique<MatchToolsFactory>(_queryLimiter, doom, searchContext, attrContext, request.getStackRef(), - request.location, _viewResolver, metaStore, _indexEnv, *_rankSetup, + return std::make_unique<MatchToolsFactory>(_queryLimiter, doom, searchContext, attrContext, request, + _viewResolver, metaStore, _indexEnv, *_rankSetup, rankProperties, feature_overrides); } @@ -213,6 +213,7 @@ Matcher::match(const SearchRequest &request, vespalib::ThreadBundle &threadBundl owned_objects.feature_overrides = std::make_unique<Properties>(*feature_overrides); feature_overrides = owned_objects.feature_overrides.get(); } + MatchToolsFactory::UP mtf = create_match_tools_factory(request, searchContext, attrContext, metaStore, *feature_overrides); isDoomExplicit = mtf->getRequestContext().getDoom().isExplicitSoftDoom(); diff --git a/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.cpp b/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.cpp index 592dc26623d..7f2ac5db768 100644 --- a/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.cpp +++ b/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.cpp @@ -174,9 +174,7 @@ DocumentDBReferenceResolver::DocumentDBReferenceResolver(const IDocumentDBRefere { } -DocumentDBReferenceResolver::~DocumentDBReferenceResolver() -{ -} +DocumentDBReferenceResolver::~DocumentDBReferenceResolver() = default; ImportedAttributesRepo::UP DocumentDBReferenceResolver::resolve(const IAttributeManager &newAttrMgr, diff --git a/searchcore/src/vespa/searchcore/proton/server/document_db_maintenance_config.cpp b/searchcore/src/vespa/searchcore/proton/server/document_db_maintenance_config.cpp index b967e745b1f..57ef2d1a45c 100644 --- a/searchcore/src/vespa/searchcore/proton/server/document_db_maintenance_config.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/document_db_maintenance_config.cpp @@ -125,6 +125,8 @@ DocumentDBMaintenanceConfig::DocumentDBMaintenanceConfig() { } +DocumentDBMaintenanceConfig::~DocumentDBMaintenanceConfig() = default; + DocumentDBMaintenanceConfig:: DocumentDBMaintenanceConfig(const DocumentDBPruneRemovedDocumentsConfig &pruneRemovedDocuments, const DocumentDBHeartBeatConfig &heartBeat, diff --git a/searchcore/src/vespa/searchcore/proton/server/document_db_maintenance_config.h b/searchcore/src/vespa/searchcore/proton/server/document_db_maintenance_config.h index 283d66e8295..604977aa04f 100644 --- a/searchcore/src/vespa/searchcore/proton/server/document_db_maintenance_config.h +++ b/searchcore/src/vespa/searchcore/proton/server/document_db_maintenance_config.h @@ -103,7 +103,6 @@ private: public: DocumentDBMaintenanceConfig(); - DocumentDBMaintenanceConfig(const DocumentDBPruneRemovedDocumentsConfig &pruneRemovedDocuments, const DocumentDBHeartBeatConfig &heartBeat, vespalib::duration sessionCachePruneInterval, @@ -114,6 +113,11 @@ public: const BlockableMaintenanceJobConfig &blockableJobConfig, const DocumentDBFlushConfig &flushConfig); + DocumentDBMaintenanceConfig(const DocumentDBMaintenanceConfig &) = delete; + DocumentDBMaintenanceConfig & operator = (const DocumentDBMaintenanceConfig &) = delete; + ~DocumentDBMaintenanceConfig(); + + bool operator==(const DocumentDBMaintenanceConfig &rhs) const; |