Feature/solver consolidation#10
Merged
Merged
Conversation
…pdate documentation * Added support for MetricExpression filters in KeyValueStoreSolver's filter_container_metrics method. * Updated the report validation to reflect that KeyValueStoreSolver now supports both tag and metric filters. * Modified tests to ensure proper functionality of new metric filtering capabilities and updated container_metrics column mappings.
* Updated default solver in configuration to KeyValueStoreSolver across various files. * Removed BasicNarrowSolver implementation and its associated tests. * Adjusted documentation to reflect changes in solver defaults and requirements for project_id and container_tags_table. * Ensured compatibility of report generation with the new solver setup. * Updated integration tests to utilize KeyValueStoreSolver instead of the removed BasicNarrowSolver.
…d its impact on data model filtering
- Updated pydoc-markdown.yml to remove BasicNarrowSolver from the loaders list. - Changed default solver in configuration documentation from BasicNarrowSolver to KeyValueStoreSolver. - Adjusted various documentation sections to reflect the removal of BasicNarrowSolver, including data model and ingestion guides. - Deleted BasicNarrowSolver API documentation as it is no longer supported. - Updated references in the report and config parser documentation to ensure clarity on solver usage and filtering requirements.
- Enhanced descriptions for `solver_config` and `container_tags_table` to clarify their roles in project scoping across data models. - Adjusted test documentation to reflect that `project_id` is optional and only applied when present, improving understanding of its usage in the KeyValueStoreSolver.
- Updated documentation to clarify that `solver_config` is now forwarded to both `KeyValueStoreSolver` and `DeltaSolver`, detailing which sections each solver consumes. - Added tests to verify that `SolverConfig` column-name mappings are correctly applied by both solvers when processing DataFrames with custom column names. - Adjusted the `Report` class to ensure `solver_config` is passed to `DeltaSolver` during initialization, improving consistency in solver behavior.
- Adjusted sidebar positions for Aggregations, Events, and TSAL to maintain a logical order. - Introduced new documentation for the Query Engine, detailing solver options and configurations, including `DeltaSolver` and `KeyValueStoreSolver`, along with their requirements and usage guidelines.
MaximHammer
reviewed
May 13, 2026
MaximHammer
reviewed
May 13, 2026
MaximHammer
reviewed
May 13, 2026
MaximHammer
previously approved these changes
May 13, 2026
…Solver - Updated variable name from `drop_im_plausible_data` to `drop_implausible_data` for consistency and clarity in both `DeltaSolver` and `KeyValueStoreSolver`. - Adjusted corresponding references in the `IntervalEncoder` initialization to reflect the new variable name.
MaximHammer
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes
BasicNarrowSolver.KeyValueStoreSolvernow subsumes it by treatingsource.container_tags_tableas optional — when it isn't configured, the solveroperates directly on
container_metrics, matching the oldBasicNarrowSolverbehavior.
Changes
KeyValueStoreSolverno longer extendsBasicNarrowSolver— it inherits fromQuerySolverdirectly. The shared cache class moves in asKVSTimeSeriesCache.KeyValueStoreSolver.filter_container_tagsreturns an empty DataFrame andfilter_container_metricsskips the container-id join whensource.container_tags_table is None.MeasurementDBConfig.for_debugnow sets each*_tablefield toNonewhen the corresponding key is absent from thedebug_tablesdict — making table presence a reliable runtime signal.BasicNarrowSolversource file deleted; all unit, integration, and reporting tests migrated toKeyValueStoreSolver.Solvers.BASIC_NARROW_SOLVERremoved; defaultquery_engine.solverflipped toKEY_VALUE_STORE_SOLVER; the tag-filter guard now checkssource.container_tags_table is not Noneinstead of solver type; obsoletevalidate_project_id_for_key_value_store_solver/validate_container_tags_for_key_value_store_solvervalidators removed.Test Plan
Checklist