Class StatsStream
- java.lang.Object
-
- org.apache.solr.client.solrj.io.stream.TupleStream
-
- org.apache.solr.client.solrj.io.stream.StatsStream
-
- All Implemented Interfaces:
Closeable,Serializable,AutoCloseable,Expressible,ParallelMetricsRollup,org.apache.solr.common.MapSerializable,org.apache.solr.common.MapWriter,org.apache.solr.common.NavigableObject,org.noggit.JSONWriter.Writable
public class StatsStream extends TupleStream implements Expressible, ParallelMetricsRollup
- Since:
- 6.6.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
TupleStream.IgnoreException
-
-
Field Summary
Fields Modifier and Type Field Description protected TupleStreamparallelizedStream
-
Constructor Summary
Constructors Constructor Description StatsStream(String zkHost, String collection, org.apache.solr.common.params.SolrParams params, Metric[] metrics)StatsStream(StreamExpression expression, StreamFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<TupleStream>children()voidclose()StringgetCollection()intgetCost()protected Map<String,String>getRollupSelectFields(Metric[] rollupMetrics)TupleStreamgetSortedRollupStream(ParallelListStream plist, Metric[] rollupMetrics)Get the rollup for the parallelized streams that is sorted based on the original (non-parallel) sort order.StreamComparatorgetStreamSort()voidopen()TupleStream[]parallelize(List<String> partitions)Given a list of collections, return an array of TupleStream for each partition.Tupleread()voidsetStreamContext(StreamContext context)ExplanationtoExplanation(StreamFactory factory)Returns an explanation about the stream objectStreamExpressionParametertoExpression(StreamFactory factory)-
Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
getShards, getShards, getStreamNodeId, writeMap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.common.NavigableObject
_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr, _size
-
Methods inherited from interface org.apache.solr.client.solrj.io.stream.ParallelMetricsRollup
getRollupMetrics, openParallelStream
-
-
-
-
Field Detail
-
parallelizedStream
protected transient TupleStream parallelizedStream
-
-
Constructor Detail
-
StatsStream
public StatsStream(String zkHost, String collection, org.apache.solr.common.params.SolrParams params, Metric[] metrics) throws IOException
- Throws:
IOException
-
StatsStream
public StatsStream(StreamExpression expression, StreamFactory factory) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getCollection
public String getCollection()
-
toExpression
public StreamExpressionParameter toExpression(StreamFactory factory) throws IOException
- Specified by:
toExpressionin interfaceExpressible- Throws:
IOException
-
toExplanation
public Explanation toExplanation(StreamFactory factory) throws IOException
Description copied from interface:ExpressibleReturns an explanation about the stream object- Specified by:
toExplanationin interfaceExpressible- Specified by:
toExplanationin classTupleStream- Parameters:
factory- Stream factory for this, contains information about the function name- Returns:
- Explanation about this stream object containing explanations of any child stream objects
- Throws:
IOException- throw on any error
-
setStreamContext
public void setStreamContext(StreamContext context)
- Specified by:
setStreamContextin classTupleStream
-
children
public List<TupleStream> children()
- Specified by:
childrenin classTupleStream
-
open
public void open() throws IOException- Specified by:
openin classTupleStream- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classTupleStream- Throws:
IOException
-
read
public Tuple read() throws IOException
- Specified by:
readin classTupleStream- Throws:
IOException
-
getCost
public int getCost()
- Overrides:
getCostin classTupleStream
-
getStreamSort
public StreamComparator getStreamSort()
- Specified by:
getStreamSortin classTupleStream
-
parallelize
public TupleStream[] parallelize(List<String> partitions) throws IOException
Description copied from interface:ParallelMetricsRollupGiven a list of collections, return an array of TupleStream for each partition.- Specified by:
parallelizein interfaceParallelMetricsRollup- Parameters:
partitions- A list of collections to parallelize metrics computation across.- Returns:
- An array of TupleStream for each partition requested.
- Throws:
IOException- if an error occurs while constructing the underlying TupleStream for a partition.
-
getSortedRollupStream
public TupleStream getSortedRollupStream(ParallelListStream plist, Metric[] rollupMetrics) throws IOException
Description copied from interface:ParallelMetricsRollupGet the rollup for the parallelized streams that is sorted based on the original (non-parallel) sort order.- Specified by:
getSortedRollupStreamin interfaceParallelMetricsRollup- Parameters:
plist- A parallel list stream to fetch metrics from each partition concurrentlyrollupMetrics- An array of metrics to rollup- Returns:
- A rollup over parallelized streams that provide metrics; this is typically a SortStream.
- Throws:
IOException- if an error occurs while reading from the sorted stream
-
-