-
Notifications
You must be signed in to change notification settings - Fork 6.2k
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
Optimizer: Sysbench support #4173
base: main
Are you sure you want to change the base?
Commits on Jul 24, 2018
-
Configuration menu - View commit details
-
Copy full SHA for a7f2882 - Browse repository at this point
Copy the full SHA a7f2882View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a909ad - Browse repository at this point
Copy the full SHA 9a909adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3094557 - Browse repository at this point
Copy the full SHA 3094557View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0fb2bc5 - Browse repository at this point
Copy the full SHA 0fb2bc5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01c6fc2 - Browse repository at this point
Copy the full SHA 01c6fc2View commit details -
ConfigOptimizer class; adding to the unit tests.
This adds the ConfigOptimizer code, though testing the code is WIP. It also adds some unit tests for the classes Log and DatabaseLog; correspondingly fixes some issues in the 2 classes. Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for 86d0645 - Browse repository at this point
Copy the full SHA 86d0645View commit details -
Some testing code and changes resulting from testing.
Changes per file: db_benchmark_client.py - name of the LOG file db_options_parser.py - not storing file_name, since update_options does not update in the original Options file; removed some redundant code; added code for testing (to be moved to unit tests later) rule_parser.py - modified OptionCondition to always contain list of options db_timeseries_parser.py - added some checks for case when map keys from the TimeSeriesCondition may not be available in the provided data source db_stats_fetcher.py - modified LogStatsParser to add statistic to keys_ts map only when it is present in the LOG file; added code for testing (to be moved to unit test later) Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for a6e14c4 - Browse repository at this point
Copy the full SHA a6e14c4View commit details -
Changing optimizer to take in Benchrunner module and class; more fixes
config_optimizer_example.py - changed the way the bench runner is being initialized; also send it ODS arguments db_benchmark_client.py - added OdsStatsFetcher object to data_sources returned by run_experiment db_config_optimizer.py - added code to output results db_stats_fetcher.py - changed the way TimeSeriesCondition keys are processed by LogStatsParser and OdsStatsFetcher rule_parser.py - added code for more information in output of rule_parser Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for 5e00c2f - Browse repository at this point
Copy the full SHA 5e00c2fView commit details -
Modifications to ConfigOptimizer; timeseries conditions; some fixes
config_optimizer_example: calling the new optimizer method, taking stats_dump_period_sec, db_log_dir as command-line args db_benchmark_client: logic for the LOG file name; removed timeout from _run_command(); run_experiment() also returns the throughput obtained at the end of the db_bench run db_timeseries_parser: added support for the case when condition requires evaluate_expression at each epoch instead of with only aggregated values; fetch_aggregated_values() returns aggregated values of statistics for a given entity, earlier it used to return the same for all entities db_config_optimizer: moved the code that applies suggestion from improve_db_config to apply_action_on_value; added run_v2() and improve_db_config_v2(): in this one rule is picked at a time, all its suggestions are applied, then bench_runner.run_experiment(new_config) called, if throughput improves, then use the new_data_sources returned for checking for more triggered rules, else, backtrack to the previous config and pick another rule to apply. db_stats_fetcher: added a parser for the ods cli output; added some more code for testing rule_parser: remove the check for 'bursty' conditions in the Rule's is_triggered() method; since now the evalutate_expression (without aggregation_op) also returns a list of epoch where the expression evaluates to true Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for a56762b - Browse repository at this point
Copy the full SHA a56762bView commit details -
Adding support in Optimizer for options not supported in options file
Changes per file: config_optimizer_example- command-line args support for options that are not supported by options.ini file, but can be given to bench_runner db_benchmark_client- fixed the bugs in the location and name of the LOG files; support for using the misc_options as db_bench command-line args; some testing code db_options_parser- method for finding diff between 2 option_configs; support for misc_options; some testing code rules.ini- support for misc_options db_config_optimizer- per-method changes: * apply_action_on_value: handle cases when old_value is None * improve_db_config: modified to handle the case when a suggestion's option was not in the existing config * improve_db_config_v2: same as above * disambiguate_guidelines: handle the case of disambiguation when a guideline's option is not in the existing config * run_v2: shifted code for picking a rule and getting updated_config to new method: apply_suggestions() * apply_suggestions: new method to pick new rule, and get updated_config * get_backtrack_config: new method to get config to update options to so that the latest changes applied, are reversed Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for 3d6d22e - Browse repository at this point
Copy the full SHA 3d6d22eView commit details -
Using db_bench cmd-line args that are not supported by options file.
Changes per file: config_optimizer_example - removed the db_log_dir option, since making changes to it might cause DBBenchRunner to crash when it tries to use it as a command-line arg db_options_parser - added a method to return all the options in the DatabaseOptions object db_benchmark_client - added method to fetch default Rocksdb options used by db_bench in case the default OPTIONS file is not provided; shifted the db_bench output parsing code to a separate method; created a build the appropriate command for db_bench; added some testing code Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for bec394b - Browse repository at this point
Copy the full SHA bec394bView commit details -
Adding DatabasePerfContext time series data source
changes per file: db_stats_fetcher: add the DatabasePerfContext class; some code for testing db_benchmark_client: modified DBBenchRunner to parse its own output and return a DatabasePerfContext too; changed the return type of run_experiment; added some code for testing rule_parser: changes in trigger_conditions to take into account the changes in the data_sources object returned by DBBenchRunner db_timeseries_parser: initialise stats_freq_sec in TimeSeriesData constructor Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for da18a58 - Browse repository at this point
Copy the full SHA da18a58View commit details -
Bootstrapping database before each experiment; bug fixes
Changes per file: config_optimizer_example: command line args ldb, base_db_path db_benchmark_client: run_experiment takes db_path db_config_optimizer: bootstraps database before each experiment run db_timeseries_parser: performing a common (bursty/evaluate_expression) check for entities with all required stats (per condition) in check_and_trigger_conditions Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for 84c2b2c - Browse repository at this point
Copy the full SHA 84c2b2cView commit details -
Fixing bugs encountered while trying out perf-context rules.
Changes in files: config_optimizer_example: removed the ldb argument db_benchmark_client: handle the compression option as a command-line arg; bootstrap the database according to the current options db_config_optimizer: don't set up the database with default options; leave it to the benchrunner to do the same on its own with the applicable options rules.ini: added some more rules and corrected some Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for 2147740 - Browse repository at this point
Copy the full SHA 2147740View commit details -
Add static method to benchrunner to compare new and old metric.
Changes per file: db_benchmark_client: add staticmethod is_metric_better() to BenchRunner; implement the same in DBBenchRunner to compare throughput db_config_optimizer: use bench_runner.is_metric_better() method to decide whether to backtrack or not in the optimization loop Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for cac100e - Browse repository at this point
Copy the full SHA cac100eView commit details -
MyCnfParser: class to parse and update MySQL cnf file
This class parses a my-*.cnf file and can update the Rocksdb options present in the config, provided by the DatabaseOptions object. Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Configuration menu - View commit details
-
Copy full SHA for 618b435 - Browse repository at this point
Copy the full SHA 618b435View commit details