@@ -42,6 +42,7 @@ func main() {
4242
4343 chunkStoreConfig chunk.StoreConfig
4444 distributorConfig distributor.Config
45+ querierConfig querier.Config
4546 ingesterConfig ingester.Config
4647 configStoreConfig ruler.ConfigStoreConfig
4748 rulerConfig ruler.Config
@@ -53,7 +54,7 @@ func main() {
5354 )
5455 // Ingester needs to know our gRPC listen port.
5556 ingesterConfig .ListenPort = & serverConfig .GRPCListenPort
56- util .RegisterFlags (& serverConfig , & chunkStoreConfig , & distributorConfig ,
57+ util .RegisterFlags (& serverConfig , & chunkStoreConfig , & distributorConfig , & querierConfig ,
5758 & ingesterConfig , & configStoreConfig , & rulerConfig , & storageConfig , & schemaConfig , & logLevel )
5859 flag .BoolVar (& unauthenticated , "unauthenticated" , false , "Set to true to disable multitenancy." )
5960 flag .Parse ()
@@ -123,13 +124,16 @@ func main() {
123124 tableManager .Start ()
124125 defer tableManager .Stop ()
125126
127+ engine := promql .NewEngine (util .Logger , nil , querierConfig .MaxConcurrent , querierConfig .Timeout )
128+ queryable := querier .NewQueryable (dist , chunkStore )
129+
126130 if configStoreConfig .ConfigsAPIURL .String () != "" || configStoreConfig .DBConfig .URI != "" {
127131 rulesAPI , err := ruler .NewRulesAPI (configStoreConfig )
128132 if err != nil {
129133 level .Error (util .Logger ).Log ("msg" , "error initializing ruler config store" , "err" , err )
130134 os .Exit (1 )
131135 }
132- rlr , err := ruler .NewRuler (rulerConfig , dist , chunkStore )
136+ rlr , err := ruler .NewRuler (rulerConfig , engine , queryable , dist )
133137 if err != nil {
134138 level .Error (util .Logger ).Log ("msg" , "error initializing ruler" , "err" , err )
135139 os .Exit (1 )
@@ -144,16 +148,13 @@ func main() {
144148 defer rulerServer .Stop ()
145149 }
146150
147- sampleQueryable := querier .NewQueryable (dist , chunkStore , false )
148- metadataQueryable := querier .NewQueryable (dist , chunkStore , true )
149-
150- engine := promql .NewEngine (sampleQueryable , nil )
151151 api := v1 .NewAPI (
152152 engine ,
153- metadataQueryable ,
153+ queryable ,
154154 querier.DummyTargetRetriever {},
155155 querier.DummyAlertmanagerRetriever {},
156156 func () config.Config { return config.Config {} },
157+ map [string ]string {}, // TODO: include configuration flags
157158 func (f http.HandlerFunc ) http.HandlerFunc { return f },
158159 func () * tsdb.DB { return nil }, // Only needed for admin APIs.
159160 false , // Disable admin APIs.
@@ -185,7 +186,7 @@ func main() {
185186
186187 subrouter := server .HTTP .PathPrefix ("/api/prom" ).Subrouter ()
187188 subrouter .PathPrefix ("/api/v1" ).Handler (activeMiddleware .Wrap (promRouter ))
188- subrouter .Path ("/read" ).Handler (activeMiddleware .Wrap (http .HandlerFunc (sampleQueryable .RemoteReadHandler )))
189+ subrouter .Path ("/read" ).Handler (activeMiddleware .Wrap (http .HandlerFunc (queryable .RemoteReadHandler )))
189190 subrouter .Path ("/validate_expr" ).Handler (activeMiddleware .Wrap (http .HandlerFunc (dist .ValidateExprHandler )))
190191 subrouter .Path ("/user_stats" ).Handler (activeMiddleware .Wrap (http .HandlerFunc (dist .UserStatsHandler )))
191192
0 commit comments