diff options
author | Geir Storli <geirst@yahooinc.com> | 2023-01-20 16:50:50 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2023-01-20 16:50:50 +0000 |
commit | ea7f8d4d792c122ef9b603deebdc69000026cb72 (patch) | |
tree | 42c1937e1b1460650091091afa244ec773aad024 /container-search/src/test/java/com/yahoo/search/dispatch | |
parent | f01c1607b1637eecb40a45c32b851ebeec539fe7 (diff) |
Add query trace parameters for profiling backend query evaluation.
With this change, profiling of matching, first-phase ranking, and second-phase ranking
can be tuned separately.
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/dispatch')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java index 6f7a1f3bd8b..80f7375b6eb 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java @@ -44,6 +44,7 @@ public class ProtobufSerializationTest { contentsOf(request1.getTensorFeatureOverrides(0).getValue())); assertEquals("\"\\006\\001\\001\\001x\\001?\\231\\231\\232\"", contentsOf(request1.getTensorFeatureOverrides(1).getValue())); + assertFalse(request1.hasProfiling()); query.prepare(); // calling prepare() moves "overrides" to "features" - content stays the same SearchProtocol.SearchRequest request2 = ProtobufSerialization.convertFromQuery(query, 9, "serverId", 0.5); @@ -136,4 +137,26 @@ public class ProtobufSerializationTest { } } + @Test + void profiling_parameters_are_serialized_in_search_request() { + var q = new Query("?query=test&trace.level=1&" + + "trace.profiling.matching.depth=3&" + + "trace.profiling.firstPhaseRanking.depth=5&" + + "trace.profiling.secondPhaseRanking.depth=-7"); + var req = ProtobufSerialization.convertFromQuery(q, 1, "serverId", 0.5); + assertEquals(3, req.getProfiling().getMatch().getDepth()); + assertEquals(5, req.getProfiling().getFirstPhase().getDepth()); + assertEquals(-7, req.getProfiling().getSecondPhase().getDepth()); + } + + @Test + void only_set_profiling_parameters_are_serialized_in_search_request() { + var q = new Query("?query=test&trace.level=1&" + + "trace.profiling.matching.depth=3"); + var req = ProtobufSerialization.convertFromQuery(q, 1, "serverId", 0.5); + assertEquals(3, req.getProfiling().getMatch().getDepth()); + assertFalse(req.getProfiling().hasFirstPhase()); + assertFalse(req.getProfiling().hasSecondPhase()); + } + } |