Benchmarking System performance benchmarking and power state testing commands.
AMD S2Idle Test AMD S2Idle (suspend-to-idle) functionality using the AMD debug tools . This command runs comprehensive suspend/resume cycle testing with detailed validation and reporting.
Attribute Type Required Default Description cmdconstYes amd-s2idleCommand Name namestringYes Name to uniquely identify the teststep. This name will show up in reports, logs and the WebUI transportTransportObjectYes Additional transport options optionsOptionsObjectNo Additional command options parametersAMDS2IdleOptionsNo Options passed into the amd-s2idle tool
AMD S2Idle Options Attribute Type Required Default Description countintegerNo 10Number of suspend/resume cycles to run durationintegerNo 10Duration of each suspend cycle in seconds waitintegerNo 4Time to wait before starting each cycle in seconds formatstringNo stdoutFormat of the report to produce. Options: html, txt, md, stdout report_filestringNo File path to write the report to (only applicable if format is html, txt, or md) forcebooleanNo falseRun test cycle even if the system fails prerequisite checks randombooleanNo falseRun sleep cycles with random durations and waits (using duration and wait as upper bounds) logindbooleanNo falseUse systemd-logind to suspend the system tool_debugbooleanNo falseEnable debug logging for the tool bios_debugbooleanNo falseEnable BIOS/firmware debug logging
AMD S2Idle Examples Basic Usage cmd : amd-s2idle
name : Run AMD S2Idle test with defaults
transport :
proto : ssh
options :
host : "[[attributes.Host]]"
user : root Custom Parameters cmd : amd-s2idle
name : Run extended AMD S2Idle test
transport :
proto : ssh
options :
host : "[[attributes.Host]]"
user : root
options :
timeout : 30m
parameters :
count : 20
duration : 15
wait : 5
format : html
report_file : /tmp/s2idle-report.html With Debug Logging cmd : amd-s2idle
name : Run AMD S2Idle test with debug logging
transport :
proto : ssh
options :
host : "[[attributes.Host]]"
user : root
parameters :
count : 5
duration : 10
tool_debug : true
bios_debug : true S0ix-Selftest Test S0ix (suspend-to-idle) power state functionality.
Attribute Type Required Default Description cmdconstYes s0ix-selftestCommand Name namestringYes Name to uniquely identify the teststep. This name will show up in reports, logs and the WebUI transportTransportObjectYes Additional transport options optionsOptionsObjectNo Additional command options
S0ix-Selftest Example cmd : s0ix-selftest
name : Run s0ix selftest
transport : *transport Expect Comparator Syntax The fio, iperf3, and stress-ng steps assert measured metrics against
comparator strings. Empty (or omitted) means “no assertion”.
Form Meaning <NMeasured value must be ≤ N >NMeasured value must be ≥ N =NMeasured value must equal N N-MMeasured value must be within [N, M]
All comparisons are integer. Float metrics (bandwidth, latency, ops/sec) are
truncated before comparison.
Fio Run fio on the DUT and assert against parsed
metrics. The fio binary must be installed on the DUT.
Attribute Type Required Default Description cmdconstYes fioCommand Name namestringYes Name to uniquely identify the teststep. This name will show up in reports, logs and the WebUI transportTransportObjectYes Additional transport options optionsOptionsObjectNo Additional command options (default timeout 2m) parametersFioOptionsYes Options passed into the fio cmd
Fio Options Attribute Type Required Default Description args[]stringNo randread 4k 1G 30s job Raw arguments passed to fio. If omitted, runs a default randread workload against /tmp/contest-fio-<nano>.dat. --output-format=json auto-added. expectFioExpectNo Per-metric assertions. See Expect Comparator Syntax .
Fio Expect Options Assertions run against the first job in fio’s JSON output.
Attribute Type Required Description ReadBWstringNo Read bandwidth in KiB/s ReadIOPSstringNo Read IOPS ReadLatMeanstringNo Mean read latency in nanoseconds WriteBWstringNo Write bandwidth in KiB/s WriteIOPSstringNo Write IOPS WriteLatMeanstringNo Mean write latency in nanoseconds
Fio Example cmd : fio
name : Random read bandwidth
transport : *transport
parameters :
args :
- --name=randread
- --filename=/tmp/fio.dat
- --rw=randread
- --bs=4k
- --size=512M
- --runtime=20
- --time_based
expect :
ReadIOPS : ">5000"
ReadLatMean : "<200000" Iperf3 Run iperf3 in client mode against a remote server and
assert against the bandwidth summary. The iperf3 binary must be installed
on the DUT, and an iperf3 -s peer must be reachable.
Attribute Type Required Default Description cmdconstYes iperf3Command Name namestringYes Name to uniquely identify the teststep. This name will show up in reports, logs and the WebUI transportTransportObjectYes Additional transport options optionsOptionsObjectNo Additional command options (default timeout 2m) parametersIperf3OptionsYes Options passed into the iperf3 cmd
Iperf3 Options Attribute Type Required Default Description args[]stringYes Raw arguments passed to iperf3. Must include -c <host> (client mode); server mode is out of scope. -J auto-added. expectIperf3ExpectNo Per-metric assertions. See Expect Comparator Syntax .
Iperf3 Expect Options Assertions run against end.sum_received (TCP) or end.sum (UDP).
Attribute Type Required Description BitsPerSecondstringNo Throughput in bits per second BytesstringNo Total bytes transferred SecondsstringNo Test duration in seconds RetransmitsstringNo Retransmit count (TCP only; absent for UDP)
Iperf3 Example cmd : iperf3
name : Throughput to lab server
transport : *transport
parameters :
args : [-c, 10.0.0.5, -t, "10"]
expect :
BitsPerSecond : ">900000000"
Retransmits : "<10" Stress-NG Run stress-ng on the DUT and
assert against the --metrics-brief rows aggregated across all stressors.
The stress-ng binary must be installed on the DUT.
Attribute Type Required Default Description cmdconstYes stress-ngCommand Name namestringYes Name to uniquely identify the teststep. This name will show up in reports, logs and the WebUI transportTransportObjectYes Additional transport options optionsOptionsObjectNo Additional command options (default timeout 2m) parametersStressNGOptionsYes Options passed into the stress-ng cmd
Stress-NG Options Attribute Type Required Default Description args[]stringNo --cpu 0 --timeout 30s --metrics-briefRaw arguments passed to stress-ng. If supplied, must include --metrics-brief so per-stressor metric rows are emitted. expectStressNGExpectNo Per-metric assertions. See Expect Comparator Syntax .
Stress-NG Expect Options Values are summed across every stressor row in the output.
Attribute Type Required Description BogoOpsstringNo Sum of bogo-ops across all stressors BogoOpsPerSecRealTimestringNo Sum of bogo-ops/sec (real-time column) across all stressors BogoOpsPerSecUsrSysstringNo Sum of bogo-ops/sec (usr+sys column) across all stressors
Stress-NG Example cmd : stress-ng
name : CPU stress baseline
transport : *transport
parameters :
args : [--cpu, "0", --timeout, 60s, --metrics-brief]
expect :
BogoOpsPerSecRealTime : ">1000"