GoogleCloudPlatform / GoogleCloudPlatform/PerfKitBenchmarker
Add sysjitter benchmark to pkb
- Dominant language
- Python
- Stars
- 2k
- Forks
- 562
- Avg merge
- 4h 55m
- Merged PRs (30d)
- 69
Description
repo: https://github.com/Xilinx-CNS/cns-sysjitter
This task adds sysjitter as a new benchmark for PKB. It can be divided into a few different components:
1) Add the benchmarking framework
- create sysjitter_benchmark.py file in linux_benchmarks
- populate BENCHMARK_NAME and BENCHMARK_CONFIG constants so that the benchmark can be found by PKB
- create GetConfig, Prepare, Run and Cleanup functions handlers with pass/return [] as function content.
At this point you can run your new benchmark in PKB (though it will not do anything yet).
2) Install sysjitter
- Go to the sysjitter repo and read the set up guide.
- Create a new package called sysjitter.py in linux_packages/windows_packages.
- create a new function, Install, that takes a vm as an input and installs sysjitter on that vm. You should be able to wrap shell commands as vm.RemoteCommand
- Install ubuntu2404 are top priority, other linux OSes are nice to have.
add unit tests to make sure the remote commands are issued using mock to mock the vm
3) Add a function in sysjitter.py that you added to linux_packages with a sensible name, e.g. Run. Run should issue a sysjitter command to run the benchmark.
4) Add a function in sysjitter.py that you added to linux_packages with a sensible name, e.g. ParseResults
- Parse results should take a str as input and produce a list of PKB Samples as output. You goal is to parse the output into useful samples, where each sample as a metric name, metric value, metric unit, metric metadata. Each row of output should be a separate metric.
Test the parser function
Contributor guide
Assessment
This issue has not been assessed yet.