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

chore: Report prover metrics #8155

Merged
merged 10 commits into from
Aug 28, 2024
Merged

chore: Report prover metrics #8155

merged 10 commits into from
Aug 28, 2024

Conversation

spalladino
Copy link
Collaborator

@spalladino spalladino commented Aug 23, 2024

Reports a new histogram metric with the time that passes between a block being submitted and its proof. Uses the timestamp from the L2 block header global variables as block submission time, and the L1 block time for the proof submission time.

Depends on #8193

Fixes #7675

description: 'Target information',
description: 'Target metadata',
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexghr I had to make this change or the metrics profile from the docker-compose template (thanks for setting that up btw!) complained with:

otel-collector-1  | 2024-08-22T21:58:16.616Z	error	prometheusexporter@v0.107.0/log.go:23	error gathering metrics: collected metric target_info label:{name:"aztec_network_name" value:"local"} label:{name:"instance" value:"cc74bc34-eda7-48a7-99e1-c7fc76425af9"} label:{name:"job" value:"unknown_service:/home/santiago/.nvm/versions/node/v18.19.0/bin/node"} label:{name:"os_type" value:"linux"} label:{name:"os_version" value:"6.8.0-36-generic"} label:{name:"process_command" value:"/home/santiago/Projects/aztec3-packages-5/yarn-project/aztec/dest/bin/index.js"} label:{name:"process_command_args" value:"[\"/home/santiago/.nvm/versions/node/v18.19.0/bin/node\",\"/home/santiago/Projects/aztec3-packages-5/yarn-project/aztec/dest/bin/index.js\",\"start\",\"--node\",\"--archiver\",\"--sequencer\",\"--pxe\"]"} label:{name:"process_executable_name" value:"/home/santiago/.nvm/versions/node/v18.19.0/bin/node"} label:{name:"process_executable_path" value:"/home/santiago/.nvm/versions/node/v18.19.0/bin/node"} label:{name:"process_owner" value:"santiago"} label:{name:"process_pid" value:"98021"} label:{name:"process_runtime_description" value:"Node.js"} label:{name:"process_runtime_name" value:"nodejs"} label:{name:"process_runtime_version" value:"18.19.0"} label:{name:"service_instance_id" value:"cc74bc34-eda7-48a7-99e1-c7fc76425af9"} gauge:{value:1} has help "Target information" but should have "Target metadata"
otel-collector-1  | 	{"kind": "exporter", "data_type": "metrics", "name": "prometheus"}
otel-collector-1  | github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter.(*promLogger).Println
otel-collector-1  | 	github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter@v0.107.0/log.go:23
otel-collector-1  | github.com/prometheus/client_golang/prometheus/promhttp.HandlerForTransactional.func1
otel-collector-1  | 	github.com/prometheus/client_golang@v1.19.1/prometheus/promhttp/http.go:144
otel-collector-1  | net/http.HandlerFunc.ServeHTTP
otel-collector-1  | 	net/http/server.go:2171
otel-collector-1  | net/http.(*ServeMux).ServeHTTP
otel-collector-1  | 	net/http/server.go:2688
otel-collector-1  | go.opentelemetry.io/collector/config/confighttp.(*decompressor).ServeHTTP
otel-collector-1  | 	go.opentelemetry.io/collector/config/confighttp@v0.107.0/compression.go:172
otel-collector-1  | go.opentelemetry.io/collector/config/confighttp.(*ServerConfig).ToServer.maxRequestBodySizeInterceptor.func2
otel-collector-1  | 	go.opentelemetry.io/collector/config/confighttp@v0.107.0/confighttp.go:543
otel-collector-1  | net/http.HandlerFunc.ServeHTTP
otel-collector-1  | 	net/http/server.go:2171
otel-collector-1  | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*middleware).serveHTTP
otel-collector-1  | 	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.53.0/handler.go:218
otel-collector-1  | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.NewMiddleware.func1.1
otel-collector-1  | 	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.53.0/handler.go:74
otel-collector-1  | net/http.HandlerFunc.ServeHTTP
otel-collector-1  | 	net/http/server.go:2171
otel-collector-1  | go.opentelemetry.io/collector/config/confighttp.(*clientInfoHandler).ServeHTTP
otel-collector-1  | 	go.opentelemetry.io/collector/config/confighttp@v0.107.0/clientinfohandler.go:26
otel-collector-1  | net/http.serverHandler.ServeHTTP
otel-collector-1  | 	net/http/server.go:3142
otel-collector-1  | net/http.(*conn).serve
otel-collector-1  | 	net/http/server.go:2044

@AztecBot
Copy link
Collaborator

AztecBot commented Aug 23, 2024

Benchmark results

Metrics with a significant change:

  • avm_simulation_time_ms (Token:transfer_public): 20.2 (-57%)
  • protocol_circuit_witness_generation_time_in_ms (private-kernel-tail): 197 (+44%)
Detailed results

All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.

This benchmark source data is available in JSON format on S3 here.

Proof generation

Each column represents the number of threads used in proof generation.

Metric 1 threads 4 threads 16 threads 32 threads 64 threads
proof_construction_time_sha256_ms 5,746 1,560 705 (-1%) 772 (+5%) 771
proof_construction_time_sha256_30_ms 11,480 3,081 1,385 (+1%) 1,434 (+1%) 1,458
proof_construction_time_sha256_100_ms 43,934 11,745 5,405 5,396 5,729
proof_construction_time_poseidon_hash_ms 78.0 34.0 34.0 58.0 (+2%) 87.0 (-2%)
proof_construction_time_poseidon_hash_30_ms 1,528 421 204 225 (-2%) 267 (-1%)
proof_construction_time_poseidon_hash_100_ms 5,632 1,510 671 723 (-2%) 745 (-1%)

L2 block published to L1

Each column represents the number of txs on an L2 block published to L1.

Metric 4 txs 8 txs 16 txs
l1_rollup_calldata_size_in_bytes 4,356 7,876 14,884
l1_rollup_calldata_gas 50,268 92,976 177,988
l1_rollup_execution_gas 842,928 1,576,532 3,361,600
l2_block_processing_time_in_ms 246 (+1%) 462 (+5%) 794 (-3%)
l2_block_building_time_in_ms 11,372 (-1%) 22,274 44,333 (-1%)
l2_block_rollup_simulation_time_in_ms 11,371 (-1%) 22,274 44,332 (-1%)
l2_block_public_tx_process_time_in_ms 9,642 (-1%) 20,445 42,504 (-1%)

L2 chain processing

Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric 3 blocks 5 blocks
node_history_sync_time_in_ms 3,052 (+3%) 4,033 (+7%)
node_database_size_in_bytes 12,619,856 16,699,472
pxe_database_size_in_bytes 16,254 26,813

Circuits stats

Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Circuit simulation_time_in_ms witness_generation_time_in_ms input_size_in_bytes output_size_in_bytes proving_time_in_ms
private-kernel-init 92.4 (-7%) 415 (+3%) 21,735 44,860 N/A
private-kernel-inner 184 (+5%) 706 (-1%) 72,544 45,007 N/A
private-kernel-reset-tiny 309 (-2%) 716 (-1%) 65,593 44,846 N/A
private-kernel-tail 172 (+3%) ⚠️ 197 (+44%) 50,644 52,257 N/A
base-parity 5.61 (-1%) N/A 160 96.0 N/A
root-parity 35.5 N/A 73,948 96.0 N/A
base-rollup 3,442 (-1%) N/A 189,136 664 N/A
block-root-rollup 41.5 N/A 58,205 2,448 N/A
public-kernel-setup 86.2 (+1%) N/A 105,085 71,222 N/A
public-kernel-app-logic 97.1 N/A 104,911 71,222 N/A
public-kernel-tail 863 N/A 390,582 16,414 N/A
private-kernel-reset-small 316 (+1%) N/A 66,341 45,629 N/A
private-kernel-tail-to-public 668 (+1%) 616 455,400 1,825 N/A
public-kernel-teardown 85.0 (+1%) N/A 105,349 71,222 N/A
merge-rollup 20.3 N/A 38,174 664 N/A
undefined N/A N/A N/A N/A 79,236 (+1%)

Stats on running time collected for app circuits

Function input_size_in_bytes output_size_in_bytes witness_generation_time_in_ms
ContractClassRegisterer:register 1,344 11,731 345 (-1%)
ContractInstanceDeployer:deploy 1,408 11,731 18.3
MultiCallEntrypoint:entrypoint 1,920 11,731 408
FeeJuice:deploy 1,376 11,731 394 (+1%)
SchnorrAccount:constructor 1,312 11,731 73.7
SchnorrAccount:entrypoint 2,304 11,731 395
Token:privately_mint_private_note 1,280 11,731 105 (-2%)
FPC:fee_entrypoint_public 1,344 11,731 25.4 (-5%)
Token:transfer 1,312 11,731 225
Benchmarking:create_note 1,344 11,731 87.7 (+2%)
SchnorrAccount:verify_private_authwit 1,280 11,731 27.7 (-1%)
Token:unshield 1,376 11,731 522 (-2%)
FPC:fee_entrypoint_private 1,376 11,731 706 (-2%)

AVM Simulation

Time to simulate various public functions in the AVM.

Function time_ms bytecode_size_in_bytes
FeeJuice:_increase_public_balance 61.4 (+2%) 7,101
FeeJuice:set_portal 12.2 (+10%) 2,128
Token:constructor 82.6 (-1%) 25,285
FPC:constructor 53.7 (-2%) 17,853
FeeJuice:mint_public 39.3 (-1%) 5,415
Token:mint_public 70.4 10,101
Token:assert_minter_and_mint 40.9 (-1%) 6,844
AuthRegistry:set_authorized 38.2 (-19%) 3,969
FPC:prepare_fee 240 6,747
Token:transfer_public ⚠️ 20.2 (-57%) 38,126
FPC:pay_refund 53.3 (-5%) 9,398
Benchmarking:increment_balance 1,196 6,179
Token:_increase_public_balance 40.3 (-9%) 7,705
FPC:pay_refund_with_shielded_rebate 62.5 (-4%) 9,881

Public DB Access

Time to access various public DBs.

Function time_ms
get-nullifier-index 0.161 (+2%)

Tree insertion stats

The duration to insert a fixed batch of leaves into each tree type.

Metric 1 leaves 16 leaves 64 leaves 128 leaves 256 leaves 512 leaves 1024 leaves
batch_insert_into_append_only_tree_16_depth_ms 2.18 (-2%) 3.95 (+1%) N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_count 16.8 31.7 N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_ms 0.114 (-1%) 0.112 (+1%) N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_32_depth_ms N/A N/A 11.4 (-2%) 17.7 30.6 (-3%) 60.4 (+1%) 111 (-4%)
batch_insert_into_append_only_tree_32_depth_hash_count N/A N/A 95.9 159 287 543 1,055
batch_insert_into_append_only_tree_32_depth_hash_ms N/A N/A 0.109 (-2%) 0.103 0.0997 (-2%) 0.104 (+1%) 0.0998 (-3%)
batch_insert_into_indexed_tree_20_depth_ms N/A N/A 14.4 (-1%) 25.7 (+1%) 43.8 (-1%) 83.4 159 (-3%)
batch_insert_into_indexed_tree_20_depth_hash_count N/A N/A 109 207 355 691 1,363
batch_insert_into_indexed_tree_20_depth_hash_ms N/A N/A 0.110 (-1%) 0.104 0.106 (-1%) 0.103 0.0993 (-4%)
batch_insert_into_indexed_tree_40_depth_ms N/A N/A 16.7 N/A N/A N/A N/A
batch_insert_into_indexed_tree_40_depth_hash_count N/A N/A 132 N/A N/A N/A N/A
batch_insert_into_indexed_tree_40_depth_hash_ms N/A N/A 0.107 N/A N/A N/A N/A

Miscellaneous

Transaction sizes based on how many contract classes are registered in the tx.

Metric 0 registered classes 1 registered classes
tx_size_in_bytes 64,779 668,997

Transaction size based on fee payment method

| Metric | |
| - | |

@spalladino spalladino changed the base branch from master to palla/timestamps-in-devnet August 27, 2024 02:02
@spalladino spalladino marked this pull request as ready for review August 27, 2024 02:03
public processProofsVerified(logs: { proverId: string; l2BlockNumber: bigint; delay: bigint }[]) {
for (const log of logs) {
this.log.debug('Recording proof verified event', log);
this.proofsSubmitted.record(Number(log.delay), {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a heads up that this will cause a warning to be logged if log.delay is not an integer. I usually round up if we don't need sub-ms precision:

Suggested change
this.proofsSubmitted.record(Number(log.delay), {
this.proofsSubmitted.record(Math.ceil(Number(log.delay)), {

this.log.debug('Recording proof verified event', log);
this.proofsSubmitted.record(Number(log.delay), {
[Attributes.ROLLUP_PROVER_ID]: log.proverId,
[Attributes.BLOCK_NUMBER]: Number(log.l2BlockNumber),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each prover+block combination would get its own histogram. Might be better to turn this into a gauge since a prover+block pair would only have a single data point?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively we could have different instruments:

  • a histogram to track proof delay (for all prover_id,block_number pairs)
  • a gauge similar to target_info for (prover_id,block_number,delay_ms)

@spalladino
Copy link
Collaborator Author

Sample widget using the counter:

image

Code for the widget:

{
  "type": "timeseries",
  "title": "Proven blocks by prover",
  "gridPos": {
    "x": 0,
    "y": 52,
    "w": 12,
    "h": 8
  },
  "datasource": {
    "uid": "aztec-node-metrics",
    "type": "prometheus"
  },
  "id": 60,
  "targets": [
    {
      "refId": "A",
      "expr": "aztec_archiver_rollup_proof_count",
      "range": true,
      "instant": false,
      "datasource": {
        "type": "prometheus",
        "uid": "aztec-node-metrics"
      },
      "editorMode": "builder",
      "legendFormat": "{{aztec_rollup_prover_id}}",
      "useBackend": false,
      "disableTextWrap": false,
      "fullMetaSearch": false,
      "includeNullMetadata": true
    }
  ],
  "options": {
    "tooltip": {
      "mode": "single",
      "sort": "none"
    },
    "legend": {
      "showLegend": true,
      "displayMode": "table",
      "placement": "bottom",
      "calcs": [
        "last"
      ]
    }
  },
  "fieldConfig": {
    "defaults": {
      "custom": {
        "drawStyle": "line",
        "lineInterpolation": "linear",
        "barAlignment": 0,
        "lineWidth": 1,
        "fillOpacity": 0,
        "gradientMode": "none",
        "spanNulls": false,
        "insertNulls": false,
        "showPoints": "auto",
        "pointSize": 5,
        "stacking": {
          "mode": "none",
          "group": "A"
        },
        "axisPlacement": "auto",
        "axisLabel": "",
        "axisColorMode": "text",
        "axisBorderShow": false,
        "scaleDistribution": {
          "type": "linear"
        },
        "axisCenteredZero": false,
        "hideFrom": {
          "tooltip": false,
          "viz": false,
          "legend": false
        },
        "thresholdsStyle": {
          "mode": "off"
        }
      },
      "color": {
        "mode": "palette-classic"
      },
      "mappings": [],
      "thresholds": {
        "mode": "absolute",
        "steps": [
          {
            "value": null,
            "color": "green"
          },
          {
            "value": 80,
            "color": "red"
          }
        ]
      },
      "min": 0,
      "decimals": 0
    },
    "overrides": []
  },
  "description": "Number of blocks proven by each prover over time",
  "pluginVersion": "11.1.4"
}

@spalladino spalladino changed the base branch from palla/timestamps-in-devnet to master August 27, 2024 22:03
this.log.debug('Recording proof verified event', log);
this.proofsSubmittedCount.add(1, {
[Attributes.ROLLUP_PROVER_ID]: log.proverId,
[Attributes.PROOF_TIMED_OUT]: log.delay > 20n * 60n * 1000n,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh nice one

@spalladino spalladino merged commit dc7bcdf into master Aug 28, 2024
98 checks passed
@spalladino spalladino deleted the palla/report-prover-metrics branch August 28, 2024 12:23
TomAFrench pushed a commit that referenced this pull request Aug 29, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.51.1</summary>

##
[0.51.1](aztec-package-v0.51.0...aztec-package-v0.51.1)
(2024-08-29)


### Features

* Add status check to prover agent
([#8248](#8248))
([7b3006a](7b3006a))
* Faster L1 deployment
([#8234](#8234))
([51d6699](51d6699))
* Spartan token transfer
([#8163](#8163))
([38f0157](38f0157))
</details>

<details><summary>barretenberg.js: 0.51.1</summary>

##
[0.51.1](barretenberg.js-v0.51.0...barretenberg.js-v0.51.1)
(2024-08-29)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.51.1</summary>

##
[0.51.1](aztec-packages-v0.51.0...aztec-packages-v0.51.1)
(2024-08-29)


### Features

* Add CLI command for gathering proving metrics
([#8221](#8221))
([5929a42](5929a42))
* Add status check to prover agent
([#8248](#8248))
([7b3006a](7b3006a))
* **avm:** 1-slot sload/sstore (nr, ts)
([#8264](#8264))
([bdd9b06](bdd9b06))
* **avm:** Range check gadget
([#7967](#7967))
([0dd954e](0dd954e))
* **docs:** Add partial notes doc
([#8192](#8192))
([4299bbd](4299bbd))
* Faster L1 deployment
([#8234](#8234))
([51d6699](51d6699))
* Initial validator set
([#8133](#8133))
([6d31ad2](6d31ad2))
* L1-publisher cleanup
([#8148](#8148))
([6ae2535](6ae2535))
* Proof surgery class
([#8236](#8236))
([10d7edd](10d7edd))
* Request specific transactions through the p2p layer
([#8185](#8185))
([54e1cc7](54e1cc7))
* Slot duration flexibility
([#8122](#8122))
([708e4e5](708e4e5))
* Spartan token transfer
([#8163](#8163))
([38f0157](38f0157))


### Bug Fixes

* Attempt to fix nightly test
([#8222](#8222))
([477eec5](477eec5))
* **avm-simulator:** Await avm bytecode check
([#8268](#8268))
([4410eb3](4410eb3))
* **bb-prover:** Create structure for AVM vk
([#8233](#8233))
([55b6ba2](55b6ba2))
* **bb:** Mac build
([#8255](#8255))
([ac54f5c](ac54f5c))
* **ci:** Spot-runner-action was not built
([#8274](#8274))
([c1509c1](c1509c1))
* **ci:** Try fix brotli edge-case
([#8256](#8256))
([e03ea0b](e03ea0b))
* Docker containers healthchecks
([#8228](#8228))
([19edbbb](19edbbb))
* **docs:** Update entrypoint details on accounts page
([#8184](#8184))
([8453ec7](8453ec7))
* Export brillig names in contract functions
([#8212](#8212))
([4745741](4745741))
* Fixes for the nightly test run against Sepolia
([#8229](#8229))
([cfc65c6](cfc65c6))
* Handle constant output for sha256
([#8251](#8251))
([0653ba5](0653ba5))
* Log public vm errors as warn in prover-agent
([#8247](#8247))
([9f4ea9f](9f4ea9f))
* Remove devnet ARM builds for now
([#8202](#8202))
([81ef715](81ef715))
* Remove fundFpc step from bootstrap
([#8245](#8245))
([a742531](a742531))
* Ts codegen
([#8267](#8267))
([cb58800](cb58800))


### Miscellaneous

* Add check to just release images to devnet-deploys
([#8242](#8242))
([aa6791d](aa6791d))
* Add partial note support for value note
([#8141](#8141))
([daa57cc](daa57cc))
* Always run `build-check` step in `publish-bb.yml`
([#8240](#8240))
([5e9749f](5e9749f))
* **avm:** Replace range and cmp with gadgets
([#8164](#8164))
([cc12558](cc12558))
* Basic network matrix
([#8257](#8257))
([2a76b1a](2a76b1a)),
closes
[#8001](#8001)
* **bb:** Use std::span in pippenger for scalars
([#8269](#8269))
([2323cd5](2323cd5))
* Configure interval mining for anvil
([#8211](#8211))
([eba57b4](eba57b4))
* Create external-ci-approved.yml
([#8235](#8235))
([24b059b](24b059b))
* Disallow prune in devnet + add onlyOwners
([#8134](#8134))
([c736f96](c736f96))
* Fix various warnings in noir code
([#8258](#8258))
([1c6b478](1c6b478))
* Less noisy AVM failures in proving
([#8227](#8227))
([03bcd62](03bcd62))
* Open an issue if publishing bb fails
([#8223](#8223))
([2d7a775](2d7a775))
* Reinstate l1-contracts package
([#8250](#8250))
([263a912](263a912))
* Remove unused generic parameters
([#8249](#8249))
([00ed045](00ed045))
* Replace relative paths to noir-protocol-circuits
([1783c80](1783c80))
* Replace relative paths to noir-protocol-circuits
([ffe1f35](ffe1f35))
* Report prover metrics
([#8155](#8155))
([dc7bcdf](dc7bcdf)),
closes
[#7675](#7675)
* Rework balances map
([#8127](#8127))
([1cac3dd](1cac3dd)),
closes
[#8104](#8104)
* Run CI after merges to provernet
([#8244](#8244))
([97e5e25](97e5e25))


### Documentation

* Minor fixes
([#8273](#8273))
([2b8af9e](2b8af9e))
</details>

<details><summary>barretenberg: 0.51.1</summary>

##
[0.51.1](barretenberg-v0.51.0...barretenberg-v0.51.1)
(2024-08-29)


### Features

* **avm:** 1-slot sload/sstore (nr, ts)
([#8264](#8264))
([bdd9b06](bdd9b06))
* **avm:** Range check gadget
([#7967](#7967))
([0dd954e](0dd954e))
* Proof surgery class
([#8236](#8236))
([10d7edd](10d7edd))


### Bug Fixes

* **bb-prover:** Create structure for AVM vk
([#8233](#8233))
([55b6ba2](55b6ba2))
* **bb:** Mac build
([#8255](#8255))
([ac54f5c](ac54f5c))
* Handle constant output for sha256
([#8251](#8251))
([0653ba5](0653ba5))


### Miscellaneous

* **avm:** Replace range and cmp with gadgets
([#8164](#8164))
([cc12558](cc12558))
* **bb:** Use std::span in pippenger for scalars
([#8269](#8269))
([2323cd5](2323cd5))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Aug 30, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.51.1</summary>

##
[0.51.1](AztecProtocol/aztec-packages@aztec-package-v0.51.0...aztec-package-v0.51.1)
(2024-08-29)


### Features

* Add status check to prover agent
([#8248](AztecProtocol/aztec-packages#8248))
([7b3006a](AztecProtocol/aztec-packages@7b3006a))
* Faster L1 deployment
([#8234](AztecProtocol/aztec-packages#8234))
([51d6699](AztecProtocol/aztec-packages@51d6699))
* Spartan token transfer
([#8163](AztecProtocol/aztec-packages#8163))
([38f0157](AztecProtocol/aztec-packages@38f0157))
</details>

<details><summary>barretenberg.js: 0.51.1</summary>

##
[0.51.1](AztecProtocol/aztec-packages@barretenberg.js-v0.51.0...barretenberg.js-v0.51.1)
(2024-08-29)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.51.1</summary>

##
[0.51.1](AztecProtocol/aztec-packages@aztec-packages-v0.51.0...aztec-packages-v0.51.1)
(2024-08-29)


### Features

* Add CLI command for gathering proving metrics
([#8221](AztecProtocol/aztec-packages#8221))
([5929a42](AztecProtocol/aztec-packages@5929a42))
* Add status check to prover agent
([#8248](AztecProtocol/aztec-packages#8248))
([7b3006a](AztecProtocol/aztec-packages@7b3006a))
* **avm:** 1-slot sload/sstore (nr, ts)
([#8264](AztecProtocol/aztec-packages#8264))
([bdd9b06](AztecProtocol/aztec-packages@bdd9b06))
* **avm:** Range check gadget
([#7967](AztecProtocol/aztec-packages#7967))
([0dd954e](AztecProtocol/aztec-packages@0dd954e))
* **docs:** Add partial notes doc
([#8192](AztecProtocol/aztec-packages#8192))
([4299bbd](AztecProtocol/aztec-packages@4299bbd))
* Faster L1 deployment
([#8234](AztecProtocol/aztec-packages#8234))
([51d6699](AztecProtocol/aztec-packages@51d6699))
* Initial validator set
([#8133](AztecProtocol/aztec-packages#8133))
([6d31ad2](AztecProtocol/aztec-packages@6d31ad2))
* L1-publisher cleanup
([#8148](AztecProtocol/aztec-packages#8148))
([6ae2535](AztecProtocol/aztec-packages@6ae2535))
* Proof surgery class
([#8236](AztecProtocol/aztec-packages#8236))
([10d7edd](AztecProtocol/aztec-packages@10d7edd))
* Request specific transactions through the p2p layer
([#8185](AztecProtocol/aztec-packages#8185))
([54e1cc7](AztecProtocol/aztec-packages@54e1cc7))
* Slot duration flexibility
([#8122](AztecProtocol/aztec-packages#8122))
([708e4e5](AztecProtocol/aztec-packages@708e4e5))
* Spartan token transfer
([#8163](AztecProtocol/aztec-packages#8163))
([38f0157](AztecProtocol/aztec-packages@38f0157))


### Bug Fixes

* Attempt to fix nightly test
([#8222](AztecProtocol/aztec-packages#8222))
([477eec5](AztecProtocol/aztec-packages@477eec5))
* **avm-simulator:** Await avm bytecode check
([#8268](AztecProtocol/aztec-packages#8268))
([4410eb3](AztecProtocol/aztec-packages@4410eb3))
* **bb-prover:** Create structure for AVM vk
([#8233](AztecProtocol/aztec-packages#8233))
([55b6ba2](AztecProtocol/aztec-packages@55b6ba2))
* **bb:** Mac build
([#8255](AztecProtocol/aztec-packages#8255))
([ac54f5c](AztecProtocol/aztec-packages@ac54f5c))
* **ci:** Spot-runner-action was not built
([#8274](AztecProtocol/aztec-packages#8274))
([c1509c1](AztecProtocol/aztec-packages@c1509c1))
* **ci:** Try fix brotli edge-case
([#8256](AztecProtocol/aztec-packages#8256))
([e03ea0b](AztecProtocol/aztec-packages@e03ea0b))
* Docker containers healthchecks
([#8228](AztecProtocol/aztec-packages#8228))
([19edbbb](AztecProtocol/aztec-packages@19edbbb))
* **docs:** Update entrypoint details on accounts page
([#8184](AztecProtocol/aztec-packages#8184))
([8453ec7](AztecProtocol/aztec-packages@8453ec7))
* Export brillig names in contract functions
([#8212](AztecProtocol/aztec-packages#8212))
([4745741](AztecProtocol/aztec-packages@4745741))
* Fixes for the nightly test run against Sepolia
([#8229](AztecProtocol/aztec-packages#8229))
([cfc65c6](AztecProtocol/aztec-packages@cfc65c6))
* Handle constant output for sha256
([#8251](AztecProtocol/aztec-packages#8251))
([0653ba5](AztecProtocol/aztec-packages@0653ba5))
* Log public vm errors as warn in prover-agent
([#8247](AztecProtocol/aztec-packages#8247))
([9f4ea9f](AztecProtocol/aztec-packages@9f4ea9f))
* Remove devnet ARM builds for now
([#8202](AztecProtocol/aztec-packages#8202))
([81ef715](AztecProtocol/aztec-packages@81ef715))
* Remove fundFpc step from bootstrap
([#8245](AztecProtocol/aztec-packages#8245))
([a742531](AztecProtocol/aztec-packages@a742531))
* Ts codegen
([#8267](AztecProtocol/aztec-packages#8267))
([cb58800](AztecProtocol/aztec-packages@cb58800))


### Miscellaneous

* Add check to just release images to devnet-deploys
([#8242](AztecProtocol/aztec-packages#8242))
([aa6791d](AztecProtocol/aztec-packages@aa6791d))
* Add partial note support for value note
([#8141](AztecProtocol/aztec-packages#8141))
([daa57cc](AztecProtocol/aztec-packages@daa57cc))
* Always run `build-check` step in `publish-bb.yml`
([#8240](AztecProtocol/aztec-packages#8240))
([5e9749f](AztecProtocol/aztec-packages@5e9749f))
* **avm:** Replace range and cmp with gadgets
([#8164](AztecProtocol/aztec-packages#8164))
([cc12558](AztecProtocol/aztec-packages@cc12558))
* Basic network matrix
([#8257](AztecProtocol/aztec-packages#8257))
([2a76b1a](AztecProtocol/aztec-packages@2a76b1a)),
closes
[#8001](AztecProtocol/aztec-packages#8001)
* **bb:** Use std::span in pippenger for scalars
([#8269](AztecProtocol/aztec-packages#8269))
([2323cd5](AztecProtocol/aztec-packages@2323cd5))
* Configure interval mining for anvil
([#8211](AztecProtocol/aztec-packages#8211))
([eba57b4](AztecProtocol/aztec-packages@eba57b4))
* Create external-ci-approved.yml
([#8235](AztecProtocol/aztec-packages#8235))
([24b059b](AztecProtocol/aztec-packages@24b059b))
* Disallow prune in devnet + add onlyOwners
([#8134](AztecProtocol/aztec-packages#8134))
([c736f96](AztecProtocol/aztec-packages@c736f96))
* Fix various warnings in noir code
([#8258](AztecProtocol/aztec-packages#8258))
([1c6b478](AztecProtocol/aztec-packages@1c6b478))
* Less noisy AVM failures in proving
([#8227](AztecProtocol/aztec-packages#8227))
([03bcd62](AztecProtocol/aztec-packages@03bcd62))
* Open an issue if publishing bb fails
([#8223](AztecProtocol/aztec-packages#8223))
([2d7a775](AztecProtocol/aztec-packages@2d7a775))
* Reinstate l1-contracts package
([#8250](AztecProtocol/aztec-packages#8250))
([263a912](AztecProtocol/aztec-packages@263a912))
* Remove unused generic parameters
([#8249](AztecProtocol/aztec-packages#8249))
([00ed045](AztecProtocol/aztec-packages@00ed045))
* Replace relative paths to noir-protocol-circuits
([1783c80](AztecProtocol/aztec-packages@1783c80))
* Replace relative paths to noir-protocol-circuits
([ffe1f35](AztecProtocol/aztec-packages@ffe1f35))
* Report prover metrics
([#8155](AztecProtocol/aztec-packages#8155))
([dc7bcdf](AztecProtocol/aztec-packages@dc7bcdf)),
closes
[#7675](AztecProtocol/aztec-packages#7675)
* Rework balances map
([#8127](AztecProtocol/aztec-packages#8127))
([1cac3dd](AztecProtocol/aztec-packages@1cac3dd)),
closes
[#8104](AztecProtocol/aztec-packages#8104)
* Run CI after merges to provernet
([#8244](AztecProtocol/aztec-packages#8244))
([97e5e25](AztecProtocol/aztec-packages@97e5e25))


### Documentation

* Minor fixes
([#8273](AztecProtocol/aztec-packages#8273))
([2b8af9e](AztecProtocol/aztec-packages@2b8af9e))
</details>

<details><summary>barretenberg: 0.51.1</summary>

##
[0.51.1](AztecProtocol/aztec-packages@barretenberg-v0.51.0...barretenberg-v0.51.1)
(2024-08-29)


### Features

* **avm:** 1-slot sload/sstore (nr, ts)
([#8264](AztecProtocol/aztec-packages#8264))
([bdd9b06](AztecProtocol/aztec-packages@bdd9b06))
* **avm:** Range check gadget
([#7967](AztecProtocol/aztec-packages#7967))
([0dd954e](AztecProtocol/aztec-packages@0dd954e))
* Proof surgery class
([#8236](AztecProtocol/aztec-packages#8236))
([10d7edd](AztecProtocol/aztec-packages@10d7edd))


### Bug Fixes

* **bb-prover:** Create structure for AVM vk
([#8233](AztecProtocol/aztec-packages#8233))
([55b6ba2](AztecProtocol/aztec-packages@55b6ba2))
* **bb:** Mac build
([#8255](AztecProtocol/aztec-packages#8255))
([ac54f5c](AztecProtocol/aztec-packages@ac54f5c))
* Handle constant output for sha256
([#8251](AztecProtocol/aztec-packages#8251))
([0653ba5](AztecProtocol/aztec-packages@0653ba5))


### Miscellaneous

* **avm:** Replace range and cmp with gadgets
([#8164](AztecProtocol/aztec-packages#8164))
([cc12558](AztecProtocol/aztec-packages@cc12558))
* **bb:** Use std::span in pippenger for scalars
([#8269](AztecProtocol/aztec-packages#8269))
([2323cd5](AztecProtocol/aztec-packages@2323cd5))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
spalladino added a commit that referenced this pull request Aug 30, 2024
Reports a new histogram metric with the time that passes between a block
being submitted and its proof. Uses the timestamp from the L2 block
header global variables as block submission time, and the L1 block time
for the proof submission time.

Depends on #8193 

Fixes #7675
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.

[provernet] Collect stats from submitted proofs
3 participants