-
Notifications
You must be signed in to change notification settings - Fork 234
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
Conversation
description: 'Target information', | ||
description: 'Target metadata', |
There was a problem hiding this comment.
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
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Proof generationEach column represents the number of threads used in proof generation.
L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 8 txs.
Circuits statsStats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.
Stats on running time collected for app circuits
AVM SimulationTime to simulate various public functions in the AVM.
Public DB AccessTime to access various public DBs.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method | Metric | | |
c23694f
to
f29ca33
Compare
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), { |
There was a problem hiding this comment.
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:
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), |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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)
9e3b453
to
45c4e6b
Compare
Sample widget using the counter: 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"
} |
45c4e6b
to
c9904e8
Compare
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.
c9904e8
to
ef9dbd2
Compare
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, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh nice one
🤖 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).
🤖 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).
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