diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-03-07 00:37:52 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-03-07 00:37:52 +0000 |
commit | 85371fa5da72ab4c2724e1fd9f1aec79c472f751 (patch) | |
tree | dfad4716e36f7f5327ee0fc8bbbbd801b7c432f8 | |
parent | a1c4e2e81735828d42ccf541b28e2a06db803e88 (diff) |
Put distribution-key in trace payload and name it 'trace'.
4 files changed, 11 insertions, 14 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java index f4d98b73a0d..5f055c9ea87 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java @@ -421,7 +421,7 @@ public abstract class VespaBackEndSearcher extends PingableSearcher { if (resultPacket.propsArray == null) return; Value.ArrayValue traces = new Value.ArrayValue(); for (FS4Properties properties : resultPacket.propsArray) { - if ( ! properties.getName().startsWith("trace")) continue; + if ( ! properties.getName().equals("trace")) continue; for (FS4Properties.Entry entry : properties.getEntries()) { if (!entry.key.equals("slime")) continue; traces.add(new SlimeAdapter(BinaryFormat.decode(entry.getValue()).get())); diff --git a/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp b/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp index 0cb50fb00b0..3a28eeb4dfd 100644 --- a/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp +++ b/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp @@ -50,7 +50,6 @@ MatchEngine::MatchEngine(size_t numThreads, size_t threadsPerSearch, uint32_t di _threadBundlePool(std::max(size_t(1), threadsPerSearch)), _nodeUp(false) { - // empty } MatchEngine::~MatchEngine() @@ -106,9 +105,7 @@ MatchEngine::search(search::engine::SearchRequest::Source request, return ret; } - vespalib::Executor::Task::UP task; - task.reset(new SearchTask(*this, std::move(request), client)); - _executor.execute(std::move(task)); + _executor.execute(std::make_unique<SearchTask>(*this, std::move(request), client)); return search::engine::SearchReply::UP(); } @@ -144,11 +141,10 @@ MatchEngine::performSearch(search::engine::SearchRequest::Source req, ret->request = req.release(); ret->setDistributionKey(_distributionKey); if (ret->request->getTraceLevel() > 0) { - vespalib::asciistream os; - os << "trace-" << _distributionKey; - search::fef::Properties & trace = ret->propertiesMap.lookupCreate(os.str()); + ret->request->trace().getRoot().setLong("distribution-key", _distributionKey); + search::fef::Properties & trace = ret->propertiesMap.lookupCreate("trace"); vespalib::SmartBuffer output(4096); - vespalib::slime::BinaryFormat::encode(ret->request->trace().getRoot(), output); + vespalib::slime::BinaryFormat::encode(ret->request->trace().getSlime(), output); trace.add("slime", output.obtain().make_stringref()); } client.searchDone(std::move(ret)); diff --git a/searchlib/src/tests/engine/searchapi/searchapi_test.cpp b/searchlib/src/tests/engine/searchapi/searchapi_test.cpp index f06ce5c188c..626435360a0 100644 --- a/searchlib/src/tests/engine/searchapi/searchapi_test.cpp +++ b/searchlib/src/tests/engine/searchapi/searchapi_test.cpp @@ -241,7 +241,7 @@ TEST("verify trace") { " ]," " creation_time: 7" "}", - t.getRoot()); + t.getSlime()); t.createCursor("tag_a"); verify("{" @@ -252,7 +252,7 @@ TEST("verify trace") { " ]," " creation_time: 7" "}", - t.getRoot()); + t.getSlime()); Trace::Cursor & tagB = t.createCursor("tag_b"); tagB.setLong("long", 19); verify("{" @@ -267,7 +267,7 @@ TEST("verify trace") { " ]," " creation_time: 7" "}", - t.getRoot()); + t.getSlime()); } -TEST_MAIN() { TEST_RUN_ALL(); }
\ No newline at end of file +TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/searchlib/src/vespa/searchlib/engine/trace.h b/searchlib/src/vespa/searchlib/engine/trace.h index 68f0103a762..5ebae8ad03b 100644 --- a/searchlib/src/vespa/searchlib/engine/trace.h +++ b/searchlib/src/vespa/searchlib/engine/trace.h @@ -28,7 +28,8 @@ public: */ Cursor & createCursor(vespalib::stringref name); vespalib::string toString() const; - vespalib::Slime & getRoot() const { return *_trace; } + Cursor & getRoot() const { return _root; } + vespalib::Slime & getSlime() const { return *_trace; } private: std::unique_ptr<vespalib::Slime> _trace; Cursor & _root; |