Background
PR #437 renamed repetition_delay → repetition_delay_ms in asap-planner-rs (issue #398). The experiment config generator (asap-tools/experiments/experiment_utils/config.py) now has to maintain two separate copies of query_groups: the original full_config (seconds, consumed by prometheus_client) and a patched controller_only_config (ms, consumed by the controller).
This split exists because prometheus_client uses repetition_delay natively in seconds — directly in time.sleep(query_group.repetition_delay) and in unix-epoch modulo arithmetic in main_prometheus_client.py.
Work
Migrate prometheus_client to use repetition_delay_ms:
asap-tools/queriers/prometheus-client/classes/config.py: rename field, update from_dict
asap-tools/queriers/prometheus-client/main_prometheus_client.py: update time.sleep() call (/ 1000), fix epoch modulo arithmetic (/ 1000), update any other usages
asap-tools/experiments/grafana_config.py: update field references
asap-tools/experiments/generate_workload.py: emit repetition_delay_ms instead of repetition_delay
asap-tools/experiments/experiment_utils/config.py: remove the dual-key transform block (lines 352–363) since both consumers will use ms directly
Benefit
Eliminates the dual-copy transform in config.py (introduced as a workaround in PR #437) and gives the full experiment stack a consistent ms convention.
Background
PR #437 renamed
repetition_delay→repetition_delay_msinasap-planner-rs(issue #398). The experiment config generator (asap-tools/experiments/experiment_utils/config.py) now has to maintain two separate copies ofquery_groups: the originalfull_config(seconds, consumed byprometheus_client) and a patchedcontroller_only_config(ms, consumed by the controller).This split exists because
prometheus_clientusesrepetition_delaynatively in seconds — directly intime.sleep(query_group.repetition_delay)and in unix-epoch modulo arithmetic inmain_prometheus_client.py.Work
Migrate
prometheus_clientto userepetition_delay_ms:asap-tools/queriers/prometheus-client/classes/config.py: rename field, updatefrom_dictasap-tools/queriers/prometheus-client/main_prometheus_client.py: updatetime.sleep()call (/ 1000), fix epoch modulo arithmetic (/ 1000), update any other usagesasap-tools/experiments/grafana_config.py: update field referencesasap-tools/experiments/generate_workload.py: emitrepetition_delay_msinstead ofrepetition_delayasap-tools/experiments/experiment_utils/config.py: remove the dual-key transform block (lines 352–363) since both consumers will use ms directlyBenefit
Eliminates the dual-copy transform in
config.py(introduced as a workaround in PR #437) and gives the full experiment stack a consistent ms convention.