Skip to content

run frame-omni-bencher overhead command in CI for all runtimes in the runtime matrix#7459

Merged
bkchr merged 20 commits intoparitytech:masterfrom
clangenb:cl/run-frame-omni-bencher-in-ci
Mar 17, 2025
Merged

run frame-omni-bencher overhead command in CI for all runtimes in the runtime matrix#7459
bkchr merged 20 commits intoparitytech:masterfrom
clangenb:cl/run-frame-omni-bencher-in-ci

Conversation

@clangenb
Copy link
Copy Markdown
Contributor

@clangenb clangenb commented Feb 5, 2025

As defined in #6347, we want to run the omni-benchers overhead command in the CI to be sure that it keeps working.

Closes #6347

@clangenb clangenb requested review from a team as code owners February 5, 2025 08:18
@clangenb clangenb force-pushed the cl/run-frame-omni-bencher-in-ci branch 3 times, most recently from dc7194d to 9000c0c Compare February 5, 2025 09:03
@paritytech-review-bot paritytech-review-bot bot requested a review from a team February 5, 2025 09:42
@clangenb
Copy link
Copy Markdown
Contributor Author

clangenb commented Feb 5, 2025

Some tests failed because not all chains have development genesis presets. I shall add them in the same PR.

@mordamax
Copy link
Copy Markdown
Contributor

mordamax commented Feb 5, 2025

Some tests failed because not all chains have development genesis presets. I shall add them in the same PR.

may be this flag needs to be added?
https://github.com/paritytech/polkadot-sdk/blob/master/.github/workflows/runtimes-matrix.json#L108

if so you can reuse bench_flags from the matrix

@clangenb
Copy link
Copy Markdown
Contributor Author

clangenb commented Feb 5, 2025

Thanks a lot for the hint! I thought/hoped so too initially, however the flags are different, unfortunately.

I can overwrite the development preset with another one, but for the overhead command "none" is unfortunately not an option. It does need a preset.

@clangenb
Copy link
Copy Markdown
Contributor Author

clangenb commented Feb 5, 2025

I noticed that there is an open issue regarding the missing genesis presets. I extracted a separate PR for that:

Edit: The PRs for adding genesis presets have now been merged. So this PR is unblocked.

@clangenb clangenb marked this pull request as draft February 5, 2025 15:17
@clangenb clangenb force-pushed the cl/run-frame-omni-bencher-in-ci branch from e74e2d7 to 6962792 Compare March 4, 2025 09:32
@clangenb clangenb marked this pull request as ready for review March 4, 2025 09:39
@clangenb
Copy link
Copy Markdown
Contributor Author

clangenb commented Mar 4, 2025

@ggwpez everything works now except for glutton. The error says that it can't look up the transaction, but I can only find that the overhead command is executing system.remark, which should be supported by glutton. Is there an extrinsic I am missing?

Error log
Running short overhead benchmarking for PACKAGE_NAME=glutton-westend-runtime and RUNTIME_BLOB_PATH=./target/release/wbuild/glutton-westend-runtime/glutton_westend_runtime.compact.compressed.wasm
-rw-r--r-- 1 root root 4840334 Mar  4 10:03 ./target/release/wbuild/glutton-westend-runtime/glutton_westend_runtime.compact.compressed.wasm
Running command: ./target/release/frame-omni-bencher v1 benchmark overhead --runtime ./target/release/wbuild/glutton-westend-runtime/glutton_westend_runtime.compact.compressed.wasm
2025-03-04T10:08:11.598970Z  INFO polkadot_sdk_frame::benchmark::overhead: Identified Chain type from metadata: Parachain(paraid = 100)    
2025-03-04T10:08:12.362275Z  INFO polkadot_sdk_frame::benchmark::overhead: Per-block execution overhead [ns]:
Total: 34427576
Min: 331742, Max: 410174
Average: 344275, Median: 342620, Stddev: 9655.69
Percentiles 99th, 95th, 75th: 373583, 353799, 346876    
Error: Client(ApplyExtrinsicFailed(Validity(TransactionValidityError::Unknown(UnknownTransaction::CannotLookup))))

Edit: Ah ok, it seems that the error is misleading. This error is also thrown if the extrinsic is not signed by the sudo key for glutton, and the sudo key is missing in the presets; fixing it now.

@clangenb

This comment was marked as outdated.

@clangenb clangenb marked this pull request as draft March 4, 2025 11:27
@clangenb clangenb marked this pull request as ready for review March 6, 2025 08:55
@clangenb
Copy link
Copy Markdown
Contributor Author

clangenb commented Mar 6, 2025

I think the PR is now ready to be review. 🚀 And maybe give it a silent tag?

@alvicsam alvicsam added the R0-no-crate-publish-required The change does not require any crates to be re-published. label Mar 6, 2025
@clangenb
Copy link
Copy Markdown
Contributor Author

clangenb commented Mar 6, 2025

Wonderful, thanks for the approval. I think the PR is green enough for the merge queue. Can someone do that?

github-merge-queue bot pushed a commit that referenced this pull request Mar 6, 2025
I discovered in #7459,
that the overhead benchmark is not working for glutton-westend, as the
client can't send `system.remark` extrinsics. This was due to 2 issues:

1. Alice was not set as sudo. Hence, the `CheckOnlySudoAccount` deemed
the extrinsic as invalid.
2. The `CheckNonce` TxExtension also marked the extrinsic as invalid, as
the account doesn't exist (because glutton has no balances pallet).

This PR fixes the 1.) for now. I wanted to simply remove the
`CheckNonce` in the TxExtension to fix 2., but it turns out that this is
not possible, as the tx-pool needs the nonce tag to identify the
transaction. #6884 will
fix sending extrinsics on glutton.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
@paritytech-review-bot paritytech-review-bot bot requested a review from a team March 6, 2025 21:29
@clangenb
Copy link
Copy Markdown
Contributor Author

clangenb commented Mar 8, 2025

We can enable glutton-soon after #7846 is merged. So we should just wait a bit more.

@clangenb clangenb marked this pull request as draft March 8, 2025 06:41
@clangenb clangenb marked this pull request as ready for review March 10, 2025 09:06
@clangenb
Copy link
Copy Markdown
Contributor Author

One more review needed for this tiny PR. @ggwpez, maybe you want to give me the honor of reviewing this PR, as it closes your issue? :D

@bkchr bkchr enabled auto-merge March 14, 2025 22:26
@bkchr bkchr added this pull request to the merge queue Mar 14, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 14, 2025
@clangenb
Copy link
Copy Markdown
Contributor Author

I merged master, which increased some timeouts in the CI. Let's try adding it to the merge queue again.

@bkchr bkchr added this pull request to the merge queue Mar 17, 2025
Merged via the queue into paritytech:master with commit 35e6bef Mar 17, 2025
231 of 254 checks passed
ordian added a commit that referenced this pull request Mar 19, 2025
* master: (58 commits)
  Upgrade link-checker cache to v4 (#7874)
  Updating readmes (#7950)
  Cumulus: Remove some old scripts (#7946)
  pallet-bounties: allow bounties to never expire (#7723)
  run frame-omni-bencher overhead command in CI for all runtimes in the runtime matrix (#7459)
  Update README.md for Cumulus (#7930)
  FRAME: Meta Transaction (#6428)
  Follow up for: Use the umbrella crate for the parachain template #5993 (#7464)
  Add an extra_constant to pallet-treasury (#7918)
  Bump the ci_dependencies group across 1 directory with 4 updates (#7855)
  remove compromised action (#7934)
  Fixing token-economics dead link (#5302)
  [pallet-revive] Fix pallet-revive-fixtures build.rs (#7928)
  cumulus: fix pov exporter format (#7923)
  sp-api: Support `mut` in `impl_runtime_apis!` (#7924)
  Remove clones from block seal function (#7917)
  [pallet-revive] precompiles 2->9 (#7810)
  Use non-native token to benchmark xcm on asset hub (#7893)
  [CI] bump timeout wait for build in zombienet workflows. (#7871)
  taplo: split long array line to multiline array (#7905)
  ...
@clangenb clangenb deleted the cl/run-frame-omni-bencher-in-ci branch April 7, 2025 12:46
alindima pushed a commit that referenced this pull request Apr 8, 2025
… runtime matrix (#7459)

As defined in #6347, we
want to run the omni-benchers overhead command in the CI to be sure that
it keeps working.

Closes #6347
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

R0-no-crate-publish-required The change does not require any crates to be re-published.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run omni-bencher overhead cmd in CI

5 participants