Skip to content

Perf: report committed goodput separately from submission throughput - #173

Open
kushnireyal wants to merge 2 commits into
mainfrom
eyal/perf-goodput-accounting
Open

Perf: report committed goodput separately from submission throughput #173
kushnireyal wants to merge 2 commits into
mainfrom
eyal/perf-goodput-accounting

Conversation

@kushnireyal

@kushnireyal kushnireyal commented May 12, 2026

Copy link
Copy Markdown
Contributor

Addresses #56 (Measure Goodput Rate).

Reports goodput (successfully committed tx/s) separately from submission throughput (all attempted tx/s), by inspecting receipt status to classify each transaction as committed / invalidated / failed. This gives the committed-vs-attempted ratio #56 asks for.

Depends on #169. Please do not review until that is merged#169 is now merged, so this is ready for review.

@kushnireyal kushnireyal added the want-integration-tests We run heavy-duty integration tests label May 12, 2026
@kushnireyal
kushnireyal marked this pull request as ready for review May 13, 2026 05:30
@kushnireyal
kushnireyal requested a review from ale-linux May 13, 2026 05:30
@kushnireyal
kushnireyal force-pushed the eyal/perf-goodput-accounting branch 2 times, most recently from 8a1fb13 to c8a0f3d Compare May 21, 2026 08:04
This commit enhances performance testing by distinguishing between:
- Goodput: Successfully committed transactions per second
- Submission throughput: All attempted transactions per second (including invalidated)

Key changes:
- Add invalidatedCount tracking to distinguish MVCC conflicts from successful commits
- Check receipt status to differentiate committed (status=1) vs invalidated (status=0) transactions
- Update return signature to include invalidated transaction count
- Enhance logging to show both goodput and submission metrics
- Add //go:build perf tag for proper test isolation
- Clean up imports (remove unused gwtestimpl)
- Simplify balancePrimingEndorserFactory implementation
- Remove wrapCount field in favor of direct totalDispatches calculation

Signed-off-by: Eyal Kushnir <Eyal.Kushnir@ibm.com>
@kushnireyal
kushnireyal force-pushed the eyal/perf-goodput-accounting branch from c8a0f3d to d187d47 Compare May 21, 2026 08:19
# Conflicts:
#	integration/perf/replay_json_dataset_test.go
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

want-integration-tests We run heavy-duty integration tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant