# Functions
GetLokiSeriesResponseView returns a view on the series response of a QueryResponse.
NewDetectedFieldsTripperware creates a new frontend tripperware responsible for handling detected field requests, which are basically log filter requests with a bit more processing.
NewInstantMetricTripperware creates a new frontend tripperware responsible for handling metric queries.
NewLabelsTripperware creates a new frontend tripperware responsible for handling labels requests.
NewLimitedRoundTripper creates a new roundtripper that enforces MaxQueryParallelism to the `next` roundtripper across `middlewares`.
NewLimitedTripperware creates a new frontend tripperware responsible for handling log requests which are label matcher only, no filter expression.
NewLimitsMiddleware creates a new Middleware that enforces query limits.
NewLogFilterTripperware creates a new frontend tripperware responsible for handling log requests.
NewLogResultCache creates a new log result cache middleware.
NewLogResultCacheMetrics creates metrics to be used in log result cache.
NewMetricTripperware creates a new frontend tripperware responsible for handling metric queries.
NewMiddleware returns a Middleware configured with middlewares to align, split and cache requests.
NewQuerierSizeLimiterMiddleware creates a new Middleware that enforces query size limits after sharding and splitting.
NewQueryShardMiddleware creates a middleware which downstreams queries after AST mapping and query encoding.
NewQuerySizeLimiterMiddleware creates a new Middleware that enforces query size limits.
NewSeriesQueryShardMiddleware creates a middleware which shards series queries.
NewSeriesTripperware creates a new frontend tripperware responsible for handling series requests.
NewSplitByRangeMiddleware creates a new Middleware that splits log requests by the range interval.
QueryMetricsMiddleware can be inserted into the middleware chain to expose timing information.
QueryResponseWrapError wraps an error in the QueryResponse protobuf.
ResultToResponse is the reverse of ResponseToResult below.
SplitByIntervalMiddleware creates a new Middleware that splits log requests by a given interval.
SplitIntervalForTimeRange returns the correct split interval to use.
StatsCollectorMiddleware compute the stats summary based on the actual duration of the request and inject it in the request context.
WeightedParallelism will calculate the request parallelism to use based on the two fields: 1) `max_query_parallelism`: 2) `tsdb_max_query_parallelism`: For instance, if the max_query_parallelism=10, tsdb_max_query_parallelism=100, and the request is equally split between tsdb and non-tsdb period configs, the resulting parallelism will be 0.5 * 10 + 0.5 * 100 = 60.
WithSplitByLimits will construct a Limits with a static split by duration.
WriteQueryResponseProtobuf marshals the promql.Value to queryrange QueryResonse and then writes it to the provided io.Writer.
WriteSeriesResponseViewJSON writes a JSON response to the supplied write that is equivalent to marshal.WriteSeriesResponseJSON.
# Structs
Config is the configuration for the queryrange tripperware.
In some other world LabelRequest could implement queryrangebase.Request.
LogResultCacheMetrics is the metrics wrapper used in log result cache.
LokiPromResponse wraps a Prometheus response with statistics.
LokiSeriesResponseView holds the raw bytes of a LokiSeriesResponse protobuf message.
MergedSeriesResponseView holds references to all series responses that should be merged before serialization to JSON.
PrometheusExtractor implements Extractor interface.
SeriesIdentifierView holds the raw bytes of a logproto.SeriesIdentifier protobuf message.
# Type aliases
ShardingConfigs is a slice of chunk shard configs.