Add tx centrifuge load generator support - #146
Merged
Merged
Conversation
tx-centrifuge lives on a different cardano-node branch than the one providing cardano-node/cardano-cli, so pin it as a separate flake input and expose its binary in the venv dev shell (next to tx-generator).
tx-centrifuge is a higher-load, UTxO-reusing successor to tx-generator. Enabled via ENABLE_TX_CENTRIFUGE on the fast testnets (not supported in the slow script). It reuses the genesis-utxo2 key as a genesis_utxo_keys fund, targets a single node so the serial on_build chain stays in one mempool, and pins its trace severity to Info to avoid Debug spam. Mutually exclusive with tx-generator. The shared TX_TPS variable now sets the rate for both generators (tx-generator's rate was previously fixed).
wait_for_epoch reads the epoch of the chain tip, which lags wall-clock when blocks are sparse. On leios_fast (activeSlotsCoeff 0.05, 1s slots) the first block of the target epoch could take longer than the fixed 50s grace to be forged, causing spurious "Unexpected epoch" failures. Derive the grace from the expected block interval (slotLength / activeSlotsCoeff) instead, floored at the previous 50s so denser clusters are unaffected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds support for
tx-centrifuge(a higher-load, UTxO-reusing successor totx-generator) to the fast testnets, mirroring the existingtx-generatorintegration. Not supported in the slow script.
Changes
tx-centrifugefrom cardano-nodebench/leios-11.0.1as aseparate input and expose it in the venv dev shell.
ENABLE_TX_CENTRIFUGE. Reuses thegenesis-utxo2key as a
genesis_utxo_keysfund, targets a single node (so the serialon_buildchain stays in one mempool and propagates out), and pins traceseverity to
Info. Mutually exclusive withtx-generator.(tx-generator's rate was previously hardcoded).
wait_for_epoch's poll window to block density(
slotLength / activeSlotsCoeff) to stop spurious "Unexpected epoch"failures on sparse-block clusters like
leios_fast.Notes
protocolParametersFileis populated (viasave_protocol_params) forforward-compat; the current tool doesn't read it yet.
Testing
Verified on a running
leios_fastcluster: mempool fills, ~67% tx acceptance,leios.dbgrows (EBs produced), tx-centrifuge submits at the configured TPS.