rocksdb/tools/advisor/test/input_files/test_rules.ini
Pooja Malik 5504a056f8 Adding advisor Rules and parser scripts with unit tests. (#3934)
Summary:
This adds some rules in the tools/advisor/advisor/rules.ini (refer this for more information) file and corresponding python parser scripts for parsing the rules file and the rocksdb LOG and OPTIONS files. This is WIP for adding rules depending on ODS. The starting point of the script is the rocksdb/tools/advisor/advisor/rule_parser.py file.
Closes https://github.com/facebook/rocksdb/pull/3934

Reviewed By: maysamyabandeh

Differential Revision: D8304059

Pulled By: poojam23

fbshipit-source-id: 47f2a50f04d46d40e225dd1cbf58ba490f79e239
2018-06-06 14:42:59 -07:00

52 lines
1.5 KiB
INI

[Rule "single-condition-false"]
suggestions=inc-bg-flush:inc-write-buffer
conditions=log-4-false
[Rule "multiple-conds-true"]
suggestions=inc-write-buffer
conditions=log-1-true:log-2-true:log-3-true
[Rule "multiple-conds-one-false"]
suggestions=inc-bg-flush
conditions=log-1-true:log-4-false:log-3-true
[Rule "multiple-conds-all-false"]
suggestions=l0-l1-ratio-health-check
conditions=log-4-false:options-1-false
[Condition "log-1-true"]
source=LOG
regex=Stopping writes because we have \d+ immutable memtables \(waiting for flush\), max_write_buffer_number is set to \d+
scope=column_family
[Condition "log-2-true"]
source=LOG
regex=Stalling writes because we have \d+ level-0 files
scope=column_family
[Condition "log-3-true"]
source=LOG
regex=Stopping writes because we have \d+ level-0 files
scope=column_family
[Condition "log-4-false"]
source=LOG
regex=Stalling writes because of estimated pending compaction bytes \d+
scope=column_family
[Condition "options-1-false"]
source=OPTIONS
options=CFOptions.level0_file_num_compaction_trigger:CFOptions.write_buffer_size:random_access_max_buffer_size
evaluate=int(options[0])*int(options[1])-int(options[2])<0 # should evaluate to a boolean
[Suggestion "inc-bg-flush"]
option=DBOptions.max_background_flushes
action=increase
[Suggestion "inc-write-buffer"]
option=CFOptions.max_write_buffer_number
action=increase
[Suggestion "l0-l1-ratio-health-check"]
description='modify options such that (level0_file_num_compaction_trigger * write_buffer_size - max_bytes_for_level_base < 5) is satisfied'