summaryrefslogtreecommitdiffstats
path: root/container-search/src/test
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-06-14 15:41:08 +0200
committerJon Bratseth <bratseth@gmail.com>2022-06-14 15:41:08 +0200
commit2788e1e0530c2d54d513ac460f919405a58657d6 (patch)
treeb174c89bedb94e321e5516d892844e8e6ec79ca4 /container-search/src/test
parent8d8b96b3620f4de369bed60a9c19b6a5fc8b0e95 (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.java34
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);
}