Skip to content

fix: require numeric EPS/throughput fields before scoring sysbench results - #2

Closed
BlueBirdBack wants to merge 1 commit into
mainfrom
devin/fix-eps-field-validation
Closed

BlueBirdBack wants to merge 1 commit into
mainfrom
devin/fix-eps-field-validation

Conversation

@BlueBirdBack

Copy link
Copy Markdown
Contributor

Summary

A sysbench run that exits 0 but emits no events per second field produced a results row like CPU single thread: events/s, p95 1.00 ms. The scorer's first_num then grabbed the 95 inside the p95 label and counted it as CPU throughput — a missing measurement scored as a real, comparable=true FULL result.

Fix: each sysbench metric now validates its parsed field before being recorded — missing/empty EPS or memory-throughput output marks the metric FAILED; no events-per-second field, so the score degrades to PARTIAL / not comparable instead of silently borrowing digits from display text.

Changes

  • New is_num helper; cpu-1t, cpu-all, mem-read, mem-write blocks check the extracted value before adding it
  • Memory metrics get the same treatment (empty memspeed previously recorded a blank row)
  • Regression test test_missing_cpu_eps_cannot_score_from_p95_label: p95-only sysbench fixture → asserts status=partial, comparable=false, cpu in missing_components, and both CPU metrics FAILED

shellcheck abs.sh clean; python3 -m unittest: 19/19 pass (was 18 + 1 new).


Devin session: https://app.devin.ai/sessions/c74df4e507504d63aa16cf898640ae58
Requested by: BlueBirdBack

…sults

A sysbench run that exits 0 without an 'events per second' field produced
'CPU single thread: events/s, p95 1.00 ms', and the scorer then parsed the
'95' inside the 'p95' label as CPU throughput — a missing measurement was
scored as a real (FULL) result.

Now each sysbench metric validates its parsed value: missing/empty EPS or
memory-throughput fields mark the metric FAILED ('no events-per-second
field'), so the score degrades to PARTIAL/not-comparable instead of
borrowing digits from display text.

Adds a regression test with a p95-only sysbench fixture.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@BlueBirdBack

Copy link
Copy Markdown
Contributor Author

Superseded by #3 (includes this fix commit); closing to avoid duplicate merge.

@BlueBirdBack
BlueBirdBack deleted the devin/fix-eps-field-validation branch October 11, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant