Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(vm_executor): Add new histogram metric for gas per tx in vm_executor #3215

Merged
merged 6 commits into from
Nov 8, 2024

Conversation

doyleish
Copy link
Contributor

@doyleish doyleish commented Oct 31, 2024

What ❔

  • Adds a new histogram metric representing total gas used per tx
  • Adds a new histogram metric representing the gas limit per failed tx

Why ❔

  • The existing metric is a histogram of rates. That's a little difficult to extract useful throughput numbers out of with the notable exception of efficiency.
  • Exporting this metric to let the consumer do their own: rate/anomoly calculation on gas/tx, ratio of gas burn for failed tx, etc.

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zkstack dev fmt and zkstack dev lint.

…utor

- The existing metric is a histogram of rates. That's a little difficult
  to extract useful throughput numbers out of with the notable exception
  of efficiency.
- Exporting this metric to let the consumer do their own: rate/anomoly
  calculation on gas/tx, ratio of gas burn for failed tx, etc.
@doyleish doyleish force-pushed the rdoyle/gas-usage-metric branch from 34e4084 to d33dc1e Compare October 31, 2024 17:05
@doyleish doyleish marked this pull request as ready for review October 31, 2024 17:07
@slowli slowli self-requested a review November 6, 2024 18:55
slowli
slowli previously approved these changes Nov 6, 2024
core/lib/vm_executor/src/batch/metrics.rs Outdated Show resolved Hide resolved
- updating conversions during .observe()
@doyleish doyleish requested a review from slowli November 7, 2024 00:13
slowli
slowli previously approved these changes Nov 7, 2024
@slowli slowli enabled auto-merge November 8, 2024 09:28
@slowli slowli added this pull request to the merge queue Nov 8, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 8, 2024
@slowli slowli added this pull request to the merge queue Nov 8, 2024
Merged via the queue into matter-labs:main with commit 3606fc1 Nov 8, 2024
32 of 33 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Nov 19, 2024
🤖 I have created a release *beep* *boop*
---


##
[25.2.0](core-v25.1.0...core-v25.2.0)
(2024-11-19)


### Features

* add more metrics for the tee_prover
([#3276](#3276))
([8b62434](8b62434))
* **api-server:** add `yParity` for non-legacy txs
([#3246](#3246))
([6ea36d1](6ea36d1))
* **consensus:** fallback json rpc syncing for consensus
([#3211](#3211))
([726203b](726203b))
* **contract-verifier:** Adapt contract verifier API for EVM bytecodes
([#3234](#3234))
([4509179](4509179))
* **contract-verifier:** Support Solidity contracts with EVM bytecode in
contract verifier
([#3225](#3225))
([8a3a82c](8a3a82c))
* **contract-verifier:** Support Vyper toolchain for EVM bytecodes
([#3251](#3251))
([75f7db9](75f7db9))
* **en:** Support Merkle tree recovery with pruning enabled
([#3172](#3172))
([7b8640a](7b8640a))
* ProverJobProcessor & circuit prover
([#3287](#3287))
([98823f9](98823f9))
* **prover:** Move prover_autoscaler config into crate
([#3222](#3222))
([1b33b5e](1b33b5e))
* **vm_executor:** Add new histogram metric for gas per tx in
vm_executor
([#3215](#3215))
([3606fc1](3606fc1))
* **vm:** add gateway changes to fast vm
([#3236](#3236))
([f3a2517](f3a2517))


### Bug Fixes

* **merkle-tree:** Repair stale keys for tree in background
([#3200](#3200))
([363b4f0](363b4f0))
* **tracer:** Add error to flat tracer
([#3306](#3306))
([7c93c47](7c93c47))
* use_dummy_inclusion_data condition
([#3244](#3244))
([6e3c36e](6e3c36e))
* **vm:** Do not require experimental VM config
([#3270](#3270))
([54e4b00](54e4b00))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Deniallugo pushed a commit that referenced this pull request Nov 21, 2024
🤖 I have created a release *beep* *boop*
---


##
[25.2.0](core-v25.1.0...core-v25.2.0)
(2024-11-19)


### Features

* add more metrics for the tee_prover
([#3276](#3276))
([8b62434](8b62434))
* **api-server:** add `yParity` for non-legacy txs
([#3246](#3246))
([6ea36d1](6ea36d1))
* **consensus:** fallback json rpc syncing for consensus
([#3211](#3211))
([726203b](726203b))
* **contract-verifier:** Adapt contract verifier API for EVM bytecodes
([#3234](#3234))
([4509179](4509179))
* **contract-verifier:** Support Solidity contracts with EVM bytecode in
contract verifier
([#3225](#3225))
([8a3a82c](8a3a82c))
* **contract-verifier:** Support Vyper toolchain for EVM bytecodes
([#3251](#3251))
([75f7db9](75f7db9))
* **en:** Support Merkle tree recovery with pruning enabled
([#3172](#3172))
([7b8640a](7b8640a))
* ProverJobProcessor & circuit prover
([#3287](#3287))
([98823f9](98823f9))
* **prover:** Move prover_autoscaler config into crate
([#3222](#3222))
([1b33b5e](1b33b5e))
* **vm_executor:** Add new histogram metric for gas per tx in
vm_executor
([#3215](#3215))
([3606fc1](3606fc1))
* **vm:** add gateway changes to fast vm
([#3236](#3236))
([f3a2517](f3a2517))


### Bug Fixes

* **merkle-tree:** Repair stale keys for tree in background
([#3200](#3200))
([363b4f0](363b4f0))
* **tracer:** Add error to flat tracer
([#3306](#3306))
([7c93c47](7c93c47))
* use_dummy_inclusion_data condition
([#3244](#3244))
([6e3c36e](6e3c36e))
* **vm:** Do not require experimental VM config
([#3270](#3270))
([54e4b00](54e4b00))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants