Repository navigation
A B stability testing
How to compare two builds (or two network setups) so that a difference you see is real, using the logs from a testing build.
Use ./tools/build.sh --env testing for both candidates and install each VPK on the Vita. Do not use ./tools/build.sh test: it only compiles the test binary and makes no VPK. If behaviour did not change, check that you installed a new VPK. See Build and deploy.
Keep one thing different between the two runs, and note the VPK name (VitakiForkv0.1.<N>.vpk).
- Same console, same game and scene, same place and network.
- At least 5 minutes each.
- Do not move the router or yourself between runs.
- Keep
latency_modeand other options identical inux0:data/vita-chiaki/chiaki.toml(see Configuration).
Each run writes a new file in ux0:data/vita-chiaki/, named <number>_vitarps5-testing.log. Copy it off (see Logging) and rename it for the run, for example A-baseline.log and B-candidate.log.
At the start of each log, confirm both runs used the same settings and know which build made them:
grep -a -E "PIPE/BUILD|Config loaded|Bitrate policy|Recovery profile|Video gap profile" run.log-
[PIPE/BUILD] commit=... branch=... dirty=...: which code ran. -
Config loaded: latency_mode=...: the settings read from the file. -
Bitrate policy: preset_default (<kbps> kbps @ <w>x<h>): the starting bitrate. -
Recovery profile: stable_defaultandVideo gap profile: stable_default (...): the recovery settings (not user-adjustable).
Always use grep -a; plain grep may print nothing. And check for LOG_LINES_DROPPED: if present, the log lost lines and the comparison is weaker.
grep -a "PIPE/FPS" run.log # once per window
grep -a "AV diag" run.log
grep -a "PIPE/RECOVER" run.log
grep -a "CONGESTION/LOSS" run.log-
PIPE/FPS:incoming=againsttarget=frame rate over time, pluslow_windows=,freeze=,display_fps=,decode_q_drops=,windowed_mbps=andrssi=(Wi-Fi signal). -
AV diag:missing_ref,corrupt_bursts,fec_fail,sendbuf_overflow. Counts that keep climbing between windows mean damaged or missing video data. -
PIPE/RECOVER ... action=...: the app noticed low FPS and acted. Many of these, or repeatedrequest_stream_stop, means the stream was unstable. -
CONGESTION/LOSS received=... raw_lost=... fec_recovered=... reported=...: once per second, how many packets were lost and how many error correction repaired.
A healthier run, compared with the other:
-
incomingstays neartarget, with few or nolow_windows. -
missing_ref,corrupt_burstsandfec_failstay at or near zero. - Few
PIPE/RECOVERactions and no repeated stops or reconnects.
If one run looks grainy or choppy but never disconnects, look at missing_ref and corrupt_bursts first. If the two runs look identical although you changed something, check that the right VPK is installed and that you are reading the right log file.
Run each side more than once if you can: one session is one sample, and Wi-Fi conditions change from minute to minute.