Goal here is to add a new signal protocol to benchmark-wrapper. Benchmark-wrapper is currently missing the ability to export state, making collecting metrics using external tools unnecessarily difficult and inaccurate. In this enhancement, we want to allow for benchmark-wrapper to export the state of the benchmark run to redis.
Additions:
- Create a new
Signal dataclass, which holds the key-value pairs that will be exported to redis
- Create a new
SignalExporter class, which adds functionality for exporting Signal dataclasses to redis
- Create functionality that allows for benchmarks to understand how many consumers have acknowledged a published signal.
- Modify
run_snafu.py in order to add global iteration structure
- Add CLI option for specifying redis server export
- Add CLI option to enable/disable acknowledgements of published signals.
Goal here is to add a new signal protocol to benchmark-wrapper. Benchmark-wrapper is currently missing the ability to export state, making collecting metrics using external tools unnecessarily difficult and inaccurate. In this enhancement, we want to allow for benchmark-wrapper to export the state of the benchmark run to redis.
Additions:
Signaldataclass, which holds the key-value pairs that will be exported to redisSignalExporterclass, which adds functionality for exportingSignaldataclasses to redisrun_snafu.pyin order to add global iteration structure