diff options
3 files changed, 17 insertions, 11 deletions
diff --git a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/MetricsSearcher.java b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/MetricsSearcher.java index 1bfa8f0a266..3d795674039 100644 --- a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/MetricsSearcher.java +++ b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/MetricsSearcher.java @@ -2,18 +2,21 @@ package com.yahoo.vespa.streamingvisitors; import com.yahoo.log.event.Event; -import com.yahoo.processing.request.CompoundName; +import com.yahoo.search.query.context.QueryContext; +import com.yahoo.search.result.ErrorMessage; +import com.yahoo.search.searchchain.Execution; import com.yahoo.search.Query; import com.yahoo.search.Result; import com.yahoo.search.Searcher; -import com.yahoo.search.result.ErrorMessage; -import com.yahoo.search.searchchain.Execution; +import com.yahoo.processing.request.CompoundName; import com.yahoo.vdslib.VisitorStatistics; import java.util.Map; import java.util.TreeMap; import java.util.logging.Logger; +import static com.yahoo.vespa.streamingvisitors.VdsStreamingSearcher.STREAMING_STATISTICS; + /** * Generates mail-specific query metrics. */ @@ -74,7 +77,11 @@ public class MetricsSearcher extends Searcher { stats.ok++; } - VisitorStatistics visitorstats = (VisitorStatistics) query.properties().get(VdsStreamingSearcher.STREAMING_STATISTICS); + VisitorStatistics visitorstats = null; + final QueryContext queryContext = query.getContext(false); + if (queryContext != null) { + visitorstats = (VisitorStatistics)queryContext.getProperty(STREAMING_STATISTICS); + } if (visitorstats != null) { stats.dataStreamed += visitorstats.getBytesVisited(); stats.documentsStreamed += visitorstats.getDocumentsVisited(); diff --git a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java index 392a0c40c67..a84a1a545b6 100644 --- a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java +++ b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java @@ -26,7 +26,6 @@ import com.yahoo.search.searchchain.Execution; import com.yahoo.searchlib.aggregation.Grouping; import com.yahoo.vdslib.DocumentSummary; import com.yahoo.vdslib.SearchResult; -import com.yahoo.vdslib.VisitorStatistics; import java.io.IOException; import java.math.BigInteger; @@ -49,7 +48,7 @@ public class VdsStreamingSearcher extends VespaBackEndSearcher { private static final CompoundName streamingGroupname=new CompoundName("streaming.groupname"); private static final CompoundName streamingSelection=new CompoundName("streaming.selection"); - public static final CompoundName STREAMING_STATISTICS = new CompoundName("streaming.statistics"); + public static final String STREAMING_STATISTICS = "streaming.statistics"; private VisitorFactory visitorFactory; private static final Logger log = Logger.getLogger(VdsStreamingSearcher.class.getName()); private Route route; @@ -154,9 +153,9 @@ public class VdsStreamingSearcher extends VespaBackEndSearcher { result.setTotalHitCount(visitor.getTotalHitCount()); - VisitorStatistics statistics = visitor.getStatistics(); - query.trace(statistics.toString(), false, 2); - query.properties().set(STREAMING_STATISTICS, statistics); + Execution.Trace traceChild = query.getContext(true).getTrace().createChild(); + traceChild.setTraceLevel(2); + traceChild.setProperty(STREAMING_STATISTICS, visitor.getStatistics()); Packet[] summaryPackets = new Packet [hits.size()]; diff --git a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/MetricsSearcherTestCase.java b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/MetricsSearcherTestCase.java index fab132c78b3..1fe62c2cd35 100644 --- a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/MetricsSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/MetricsSearcherTestCase.java @@ -132,9 +132,9 @@ public class MetricsSearcherTestCase { private void assignContextProperties(Query query, String loadType) { if (loadType != null && loadType.equals(LOADTYPE1)) { - query.properties().set(VdsStreamingSearcher.STREAMING_STATISTICS, visitorStats); + query.getContext(true).setProperty(VdsStreamingSearcher.STREAMING_STATISTICS, visitorStats); } else { - query.properties().set(VdsStreamingSearcher.STREAMING_STATISTICS, null); + query.getContext(true).setProperty(VdsStreamingSearcher.STREAMING_STATISTICS, null); } } } |