-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Query: Switch Multiple Engines #6234
Commits on Apr 13, 2023
-
Query: Switch engines using
engine
paramThanos query has two engine, prometheus (default) and thanos. A single engine runs through thanos query command at a time, and have to re run the command to switch between. This commit adds a functionality to run multiple engines at once and switch between them using `engine` query param inq query api. To avoid duplicate matrics registration, the thanos engine is provided with a different registerer having prefix `tpe_` (not been finalized yet). promql-engine command line flag has been removed that specifies the query engine to run. Currently this functionality not implemented on GRPCAPI. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b3ef683 - Browse repository at this point
Copy the full SHA b3ef683View commit details -
Add multiple engine support to GRPCAPI
Fix build fail for thanos, adds support for multiple engine in GRPCAPI. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5f6c2b4 - Browse repository at this point
Copy the full SHA 5f6c2b4View commit details -
Create QueryEngineFactory to create engines
QueryEngineFactory makes a collection for all promql engines used by thanos and returns it. Any engine can be created and returned using `GetXEngine` method. It is currently limited to 2 engines prometheus and thanos engines that get created on the first call. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1f4b054 - Browse repository at this point
Copy the full SHA 1f4b054View commit details -
Use QueryEngineFactory in query API
thanos query commands pass `QueryEngineFactory` to query apis that will use engine based on query params. It will provide more flexibility to create multiple engines in thanos. Adds `defaultEngine` CLI flag, A default engine to use if not specified with query params. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5079718 - Browse repository at this point
Copy the full SHA 5079718View commit details -
Fixes breaking tests Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2706053 - Browse repository at this point
Copy the full SHA 2706053View commit details -
* Move defaultEngine argument to reduce diff. * Generated Docs. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cde7b74 - Browse repository at this point
Copy the full SHA cde7b74View commit details -
Add Engine Selector/ Dropdown to Query UI
Engine Selector is a dropdown that sets an engine to be used to run the query. Currently two engines `thanos` and `prometheus`. This dropdown sends a query param `engine` to query api, which runs the api using the engine provided. Provided to run query using multiple query engines from Query UI. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 009ef90 - Browse repository at this point
Copy the full SHA 009ef90View commit details -
Removes Dropdown component, and renders Engine Selector directly. Receives defaultEngine from `flags` API. Updates parseOptions to parse engine query param and updates test for Panel and utils. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 868541c - Browse repository at this point
Copy the full SHA 868541cView commit details -
Upgrade promql-engine dependency
Updates promql-engine that brings functionality to provide fallback engine using enigne Opts. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 19e4bf4 - Browse repository at this point
Copy the full SHA 19e4bf4View commit details -
MinT method was missing from Client due to updated promql-engine. This commits adds mint to the remote client. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 340cf7d - Browse repository at this point
Copy the full SHA 340cf7dView commit details -
Use prometheus fallback engine in thanos engine
Thanos engine creates a fallback prometheus engine that conflicts with another prometheus engine created by thanos, while registering metrics. To fix this, provided created thanos engine as fallback engine to thanos engine in engine Opts. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6b9b1eb - Browse repository at this point
Copy the full SHA 6b9b1ebView commit details -
Use enum for EngineType in GRPC
GRPC is used for communication between thanos components and defaultEngine was a string before. Enum makes more sense, and hence the request.Enigne type has been changed to querypb.EngineType. Default case is handled with another default value provided in the enum. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 72c354b - Browse repository at this point
Copy the full SHA 72c354bView commit details -
Compile react app using `make assets`. Signed-off-by: Pradyumna Krishna <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 281a07c - Browse repository at this point
Copy the full SHA 281a07cView commit details