diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-06-14 15:41:08 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-06-14 15:41:08 +0200 |
commit | 2788e1e0530c2d54d513ac460f919405a58657d6 (patch) | |
tree | b174c89bedb94e321e5516d892844e8e6ec79ca4 /container-search/src/test | |
parent | 8d8b96b3620f4de369bed60a9c19b6a5fc8b0e95 (diff) |
Turn tracing of the query on/off by trace.query=true/false
Diffstat (limited to 'container-search/src/test')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java index f89e0d921d7..04b1fd85872 100644 --- a/container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java @@ -48,11 +48,33 @@ public class TraceTestCase { public void testTracingOnIncorrectAPIUseParallel() { assertTracing(false,true); } - + + @Test + public void testTraceWithQuery() { + testQueryInTrace(true, "trace.query=true"); + testQueryInTrace(false, "trace.query=false"); + testQueryInTrace(true, ""); + } + + private void testQueryInTrace(boolean expectQueryInTrace, String queryParameters) { + Query query = new Query("?query=foo&trace.level=1&" + queryParameters); + Chain<Searcher> chain = new Chain<>(new Tracer("tracer1", true)); + Execution execution = new Execution(chain, Execution.Context.createContextStub()); + Result result = execution.search(query); + Iterator<String> trace = collectTrace(query).iterator(); + assertEquals("(level start)", trace.next()); + assertEquals(" No query profile is used", trace.next()); + assertEquals(" (level start)", trace.next()); + if (expectQueryInTrace) + assertEquals(" During tracer1: 0: [WEAKAND(100) foo]", trace.next()); + else + assertEquals(" During tracer1: 0", trace.next()); + } + @Test public void testTraceInvocationsUnfillableHits() { final int traceLevel = 5; - Query query = new Query("?tracelevel=" + traceLevel); + Query query = new Query("?trace.level=" + traceLevel); Chain<Searcher> forkingChain = new Chain<>(new Tracer("tracer1"), new Tracer("tracer2"), new Backend("backend1", false)); @@ -251,17 +273,23 @@ public class TraceTestCase { private static class Tracer extends Searcher { private final String name; + private final boolean traceQuery; private int counter = 0; public Tracer(String name) { + this(name, false); + } + + public Tracer(String name, boolean traceQuery) { super(new ComponentId(name)); this.name = name; + this.traceQuery = traceQuery; } @Override public Result search(Query query, Execution execution) { - query.trace("During " + name + ": " + (counter++),1); + query.trace("During " + name + ": " + (counter++), traceQuery, 1); return execution.search(query); } |