@ -193,7 +193,7 @@ func (t *Loki) initQuerier() (services.Service, error) {
if t . cfg . Ingester . QueryStoreMaxLookBackPeriod != 0 {
t . cfg . Querier . IngesterQueryStoreMaxLookback = t . cfg . Ingester . QueryStoreMaxLookBackPeriod
}
t . q uerier, err = querier . New ( t . cfg . Querier , t . store , t . ingesterQuerier , t . overrides )
t . Q uerier, err = querier . New ( t . cfg . Querier , t . store , t . ingesterQuerier , t . overrides )
if err != nil {
return nil , err
}
@ -204,21 +204,21 @@ func (t *Loki) initQuerier() (services.Service, error) {
serverutil . NewPrepopulateMiddleware ( ) ,
serverutil . ResponseJSONMiddleware ( ) ,
)
t . Server . HTTP . Handle ( "/loki/api/v1/query_range" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. RangeQueryHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/query" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. InstantQueryHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/query_range" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. RangeQueryHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/query" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. InstantQueryHandler ) ) )
// Prometheus compatibility requires `loki/api/v1/labels` however we already released `loki/api/v1/label`
// which is a little more consistent with `/loki/api/v1/label/{name}/values` so we are going to handle both paths.
t . Server . HTTP . Handle ( "/loki/api/v1/label" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/labels" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/label/{name}/values" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/tail" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. TailHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/series" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. SeriesHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/query" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. LogQueryHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/label" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/label/{name}/values" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/tail" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. TailHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/series" , httpMiddleware . Wrap ( http . HandlerFunc ( t . q uerier. SeriesHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/label" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/labels" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/label/{name}/values" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/tail" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. TailHandler ) ) )
t . Server . HTTP . Handle ( "/loki/api/v1/series" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. SeriesHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/query" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. LogQueryHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/label" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/label/{name}/values" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. LabelHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/tail" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. TailHandler ) ) )
t . Server . HTTP . Handle ( "/api/prom/series" , httpMiddleware . Wrap ( http . HandlerFunc ( t . Q uerier. SeriesHandler ) ) )
return worker , nil // ok if worker is nil here
}
@ -410,6 +410,10 @@ func (t *Loki) initQueryFrontend() (_ services.Service, err error) {
t . stopper = stopper
roundTripper = tripperware ( roundTripper )
if t . QueryFrontEndTripperware != nil {
roundTripper = t . QueryFrontEndTripperware ( roundTripper )
}
frontendHandler := transport . NewHandler ( t . cfg . Frontend . Handler , roundTripper , util_log . Logger , prometheus . DefaultRegisterer )
if t . cfg . Frontend . CompressResponses {
frontendHandler = gziphandler . GzipHandler ( frontendHandler )