diff options
author | Olli Virtanen <olli.virtanen@oath.com> | 2019-05-31 12:34:11 +0200 |
---|---|---|
committer | Olli Virtanen <olli.virtanen@oath.com> | 2019-05-31 12:34:11 +0200 |
commit | f52b851a284f770cecffe7c49b8699a6d6b58dc7 (patch) | |
tree | 97b5a4b3ab55416c42a1a604f108df6b8f2ee3a6 /container-search/src | |
parent | df0d8f4a1a42cb0d6fa45cf059b0d63f915f2230 (diff) |
Decode slime trace from protobuf message
Diffstat (limited to 'container-search/src')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java index 39a1587afea..13041aa4035 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java @@ -5,6 +5,8 @@ import ai.vespa.searchlib.searchprotocol.protobuf.SearchProtocol.StringProperty; import ai.vespa.searchlib.searchprotocol.protobuf.SearchProtocol.TensorProperty; import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; +import com.yahoo.data.access.simple.Value; +import com.yahoo.data.access.slime.SlimeAdapter; import com.yahoo.document.GlobalId; import com.yahoo.fs4.GetDocSumsPacket; import com.yahoo.io.GrowableByteBuffer; @@ -23,6 +25,7 @@ import com.yahoo.search.query.Sorting.Order; import com.yahoo.search.result.Coverage; import com.yahoo.search.result.Relevance; import com.yahoo.searchlib.aggregation.Grouping; +import com.yahoo.slime.BinaryFormat; import com.yahoo.vespa.objects.BufferSerializer; import java.nio.ByteBuffer; @@ -221,7 +224,12 @@ public class ProtobufSerialization { if(sorting != null) { result.hits().setSorted(true); } - + var slimeTrace = protobuf.getSlimeTrace(); + if (slimeTrace != null && !slimeTrace.isEmpty()) { + var traces = new Value.ArrayValue(); + traces.add(new SlimeAdapter(BinaryFormat.decode(slimeTrace.toByteArray()).get())); + query.trace(traces, query.getTraceLevel()); + } return result; } |