Skip to content

Commit 36a47b2

Browse files
committed
deploy: a31d1ac
1 parent a837ed9 commit 36a47b2

13 files changed

Lines changed: 114 additions & 17 deletions

3sf_mini.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
const path_to_root = "";
3636
const default_light_theme = "light";
3737
const default_dark_theme = "navy";
38-
window.path_to_searchindex_js = "searchindex-8bc60176.js";
38+
window.path_to_searchindex_js = "searchindex-eac69af8.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-031b865e.js"></script>

404.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
const path_to_root = "";
3737
const default_light_theme = "light";
3838
const default_dark_theme = "navy";
39-
window.path_to_searchindex_js = "searchindex-8bc60176.js";
39+
window.path_to_searchindex_js = "searchindex-eac69af8.js";
4040
</script>
4141
<!-- Start loading toc.js asap -->
4242
<script src="toc-031b865e.js"></script>

CNAME

Lines changed: 0 additions & 1 deletion
This file was deleted.

checkpoint_sync.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
const path_to_root = "";
3636
const default_light_theme = "light";
3737
const default_dark_theme = "navy";
38-
window.path_to_searchindex_js = "searchindex-8bc60176.js";
38+
window.path_to_searchindex_js = "searchindex-eac69af8.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-031b865e.js"></script>

fork_choice_visualization.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
const path_to_root = "";
3636
const default_light_theme = "light";
3737
const default_dark_theme = "navy";
38-
window.path_to_searchindex_js = "searchindex-8bc60176.js";
38+
window.path_to_searchindex_js = "searchindex-eac69af8.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-031b865e.js"></script>

index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
const path_to_root = "";
3636
const default_light_theme = "light";
3737
const default_dark_theme = "navy";
38-
window.path_to_searchindex_js = "searchindex-8bc60176.js";
38+
window.path_to_searchindex_js = "searchindex-eac69af8.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-031b865e.js"></script>
@@ -222,7 +222,7 @@ <h2 id="related-projects"><a class="header" href="#related-projects">Related pro
222222
<li><a href="https://github.com/ReamLabs/ream">ream</a> (Rust)</li>
223223
<li><a href="https://github.com/qdrvm/qlean-mini">qlean</a> (C++)</li>
224224
<li><a href="https://github.com/grandinetech/lean/tree/main/lean_client">grandine</a> (Rust)</li>
225-
<li><a href="https://github.com/devlongs/gean">gean</a> (Go)</li>
225+
<li><a href="https://github.com/geanlabs/gean">gean</a> (Go)</li>
226226
<li><a href="https://github.com/Pier-Two/lantern">Lantern</a> (C)</li>
227227
</ul>
228228

introduction.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
const path_to_root = "";
3636
const default_light_theme = "light";
3737
const default_dark_theme = "navy";
38-
window.path_to_searchindex_js = "searchindex-8bc60176.js";
38+
window.path_to_searchindex_js = "searchindex-eac69af8.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-031b865e.js"></script>
@@ -222,7 +222,7 @@ <h2 id="related-projects"><a class="header" href="#related-projects">Related pro
222222
<li><a href="https://github.com/ReamLabs/ream">ream</a> (Rust)</li>
223223
<li><a href="https://github.com/qdrvm/qlean-mini">qlean</a> (C++)</li>
224224
<li><a href="https://github.com/grandinetech/lean/tree/main/lean_client">grandine</a> (Rust)</li>
225-
<li><a href="https://github.com/devlongs/gean">gean</a> (Go)</li>
225+
<li><a href="https://github.com/geanlabs/gean">gean</a> (Go)</li>
226226
<li><a href="https://github.com/Pier-Two/lantern">Lantern</a> (C)</li>
227227
</ul>
228228

lmd_ghost.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
const path_to_root = "";
3636
const default_light_theme = "light";
3737
const default_dark_theme = "navy";
38-
window.path_to_searchindex_js = "searchindex-8bc60176.js";
38+
window.path_to_searchindex_js = "searchindex-eac69af8.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-031b865e.js"></script>

metrics.html

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
const path_to_root = "";
3636
const default_light_theme = "light";
3737
const default_dark_theme = "navy";
38-
window.path_to_searchindex_js = "searchindex-8bc60176.js";
38+
window.path_to_searchindex_js = "searchindex-eac69af8.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-031b865e.js"></script>
@@ -217,6 +217,21 @@ <h2 id="pq-signature-metrics"><a class="header" href="#pq-signature-metrics">PQ
217217
</tbody>
218218
</table>
219219
</div>
220+
<h2 id="block-production-metrics"><a class="header" href="#block-production-metrics">Block Production Metrics</a></h2>
221+
<div class="table-wrapper">
222+
<table>
223+
<thead>
224+
<tr><th>Name</th><th>Type</th><th>Usage</th><th>Sample collection event</th><th>Labels</th><th>Buckets</th><th>Supported</th></tr>
225+
</thead>
226+
<tbody>
227+
<tr><td><code>lean_block_aggregated_payloads</code></td><td>Histogram</td><td>Number of <code>aggregated_payloads</code> in a block</td><td>On block production</td><td></td><td>1, 2, 4, 8, 16, 32, 64, 128</td><td></td></tr>
228+
<tr><td><code>lean_block_building_payload_aggregation_time_seconds</code></td><td>Histogram</td><td>Time taken to build <code>aggregated_payloads</code> during block building</td><td>On block production</td><td></td><td>0.1, 0.25, 0.5, 0.75, 1, 2, 3, 4</td><td></td></tr>
229+
<tr><td><code>lean_block_building_time_seconds</code></td><td>Histogram</td><td>Time taken to build a block</td><td>On block production</td><td></td><td>0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 0.75, 1</td><td></td></tr>
230+
<tr><td><code>lean_block_building_success_total</code></td><td>Counter</td><td>Successful block builds</td><td>On block production</td><td></td><td></td><td></td></tr>
231+
<tr><td><code>lean_block_building_failures_total</code></td><td>Counter</td><td>Failed block builds (error building the block, signing the block root, or processing it locally)</td><td>On block production failure</td><td></td><td></td><td></td></tr>
232+
</tbody>
233+
</table>
234+
</div>
220235
<h2 id="fork-choice-metrics"><a class="header" href="#fork-choice-metrics">Fork-Choice Metrics</a></h2>
221236
<div class="table-wrapper">
222237
<table>
@@ -237,7 +252,8 @@ <h2 id="fork-choice-metrics"><a class="header" href="#fork-choice-metrics">Fork-
237252
<tr><td><code>lean_gossip_signatures</code></td><td>Gauge</td><td>Number of gossip signatures in fork-choice store</td><td>On gossip signatures update</td><td></td><td></td><td></td></tr>
238253
<tr><td><code>lean_latest_new_aggregated_payloads</code></td><td>Gauge</td><td>Number of new aggregated payload items</td><td>On <code>latest_new_aggregated_payloads</code> update</td><td></td><td></td><td></td></tr>
239254
<tr><td><code>lean_latest_known_aggregated_payloads</code></td><td>Gauge</td><td>Number of known aggregated payload items</td><td>On <code>latest_known_aggregated_payloads</code> update</td><td></td><td></td><td></td></tr>
240-
<tr><td><code>lean_committee_signatures_aggregation_time_seconds</code></td><td>Histogram</td><td>Time taken to aggregate committee signatures</td><td>On committee signatures aggregation</td><td></td><td>0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 0.75, 1</td><td></td></tr>
255+
<tr><td><code>lean_committee_signatures_aggregation_time_seconds</code></td><td>Histogram</td><td>Time taken to aggregate committee signatures</td><td>On committee signatures aggregation</td><td></td><td>0.05, 0.1, 0.25, 0.5, 0.75, 1, 2, 3, 4</td><td></td></tr>
256+
<tr><td><code>lean_node_sync_status</code></td><td>Gauge</td><td>Node sync status</td><td>On node sync status change</td><td>status=idle,syncing,synced</td><td></td><td></td></tr>
241257
</tbody>
242258
</table>
243259
</div>
@@ -250,6 +266,8 @@ <h2 id="state-transition-metrics"><a class="header" href="#state-transition-metr
250266
<tbody>
251267
<tr><td><code>lean_latest_justified_slot</code></td><td>Gauge</td><td>Latest justified slot</td><td>On state transition</td><td></td><td></td><td></td></tr>
252268
<tr><td><code>lean_latest_finalized_slot</code></td><td>Gauge</td><td>Latest finalized slot</td><td>On state transition</td><td></td><td></td><td></td></tr>
269+
<tr><td><code>lean_justified_slot</code></td><td>Gauge</td><td>Current justified slot</td><td>On state transition</td><td></td><td></td><td></td></tr>
270+
<tr><td><code>lean_finalized_slot</code></td><td>Gauge</td><td>Current finalized slot</td><td>On state transition</td><td></td><td></td><td></td></tr>
253271
<tr><td><code>lean_finalizations_total</code></td><td>Counter</td><td>Total number of finalization attempts</td><td>On finalization attempt</td><td>result=success,error</td><td></td><td></td></tr>
254272
<tr><td><code>lean_state_transition_time_seconds</code></td><td>Histogram</td><td>Time to process state transition</td><td>On state transition</td><td></td><td>0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 2.5, 3, 4</td><td></td></tr>
255273
<tr><td><code>lean_state_transition_slots_processed_total</code></td><td>Counter</td><td>Total number of processed slots</td><td>On state transition process slots</td><td></td><td></td><td></td></tr>
@@ -283,6 +301,7 @@ <h2 id="network-metrics"><a class="header" href="#network-metrics">Network Metri
283301
<tr><td><code>lean_attestation_committee_count</code></td><td>Gauge</td><td>Number of attestation committees</td><td>On node start</td><td></td><td></td></tr>
284302
<tr><td><code>lean_attestation_committee_subnet</code></td><td>Gauge</td><td>Node’s attestation committee subnet</td><td>On node start</td><td></td><td></td></tr>
285303
<tr><td><code>lean_connected_peers</code></td><td>Gauge</td><td>Number of connected peers</td><td>On scrape</td><td>client=ethlambda,grandine,lantern,lighthouse,qlean,ream,zeam</td><td>✅(*)</td></tr>
304+
<tr><td><code>lean_gossip_mesh_peers</code></td><td>Gauge</td><td>Number of peers in the gossipsub mesh</td><td>On scrape</td><td>client=<code>&lt;name&gt;_&lt;N&gt;</code>,unknown (ex. zeam_0)</td><td>✅(*)</td></tr>
286305
<tr><td><code>lean_peer_connection_events_total</code></td><td>Counter</td><td>Total number of peer connection events</td><td>On peer connection</td><td>direction=inbound,outbound<br>result=success,timeout,error</td><td></td></tr>
287306
<tr><td><code>lean_peer_disconnection_events_total</code></td><td>Counter</td><td>Total number of peer disconnection events</td><td>On peer disconnection</td><td>direction=inbound,outbound<br>reason=timeout,remote_close,local_close,error</td><td></td></tr>
288307
</tbody>
@@ -316,6 +335,36 @@ <h3 id="network-sizes"><a class="header" href="#network-sizes">Network Sizes</a>
316335
</tbody>
317336
</table>
318337
</div>
338+
<h3 id="storage"><a class="header" href="#storage">Storage</a></h3>
339+
<div class="table-wrapper">
340+
<table>
341+
<thead>
342+
<tr><th>Name</th><th>Type</th><th>Usage</th><th>Sample collection event</th><th>Labels</th></tr>
343+
</thead>
344+
<tbody>
345+
<tr><td><code>lean_table_bytes</code></td><td>Gauge</td><td>Estimated byte size of a storage table (key + value bytes)</td><td>After each processed block (one update per table); retains its previous value on empty slots</td><td>table=<code>&lt;table_name&gt;</code></td></tr>
346+
</tbody>
347+
</table>
348+
</div>
349+
<h3 id="attestation-aggregate-coverage"><a class="header" href="#attestation-aggregate-coverage">Attestation Aggregate Coverage</a></h3>
350+
<p>Observability into how many validators/subnets are covered by the attestations the node has aggregated, broken down by pipeline section (the <code>section</code> label). The slot is the X-axis. These are sampled roughly once per slot, but emission is gated by the section’s source data, so a gauge can retain its previous value:</p>
351+
<ul>
352+
<li><code>timely</code>, <code>late</code>, <code>block</code>, <code>combined</code> and the <code>diff_validators</code> directions are emitted on block import, and <strong>only when the canonical head block carries that round’s votes</strong> (otherwise the round is skipped and prior values are kept).</li>
353+
<li><code>agg_start_new</code> is emitted at interval 2, right before fork-choice aggregation runs.</li>
354+
<li><code>proposal_combined</code> is emitted only when this node proposes a block.</li>
355+
</ul>
356+
<div class="table-wrapper">
357+
<table>
358+
<thead>
359+
<tr><th>Name</th><th>Type</th><th>Usage</th><th>Sample collection event</th><th>Labels</th></tr>
360+
</thead>
361+
<tbody>
362+
<tr><td><code>lean_attestation_aggregate_coverage_validators</code></td><td>Gauge</td><td>Validator coverage in attestation aggregate reports</td><td>Per round, per section (see note above)</td><td>section=timely,late,block,combined,agg_start_new,proposal_combined<br>subnet=combined (per-subnet breakdown reserved, not yet populated)</td></tr>
363+
<tr><td><code>lean_attestation_aggregate_coverage_subnets</code></td><td>Gauge</td><td>Number of covered subnets in attestation aggregate reports</td><td>Per round, per section (see note above)</td><td>section=timely,late,block,combined,agg_start_new,proposal_combined</td></tr>
364+
<tr><td><code>lean_attestation_aggregate_coverage_diff_validators</code></td><td>Gauge</td><td>Validators in the symmetric difference between block-included aggregates and locally-aggregated timely aggregates for the same slot</td><td>On block import, when the head carries the round’s votes (see note above)</td><td>direction=block_only,timely_only</td></tr>
365+
</tbody>
366+
</table>
367+
</div>
319368
<hr>
320369
<p>✅(*) <strong>Partial support</strong>: These metrics are implemented but not collected “on scrape” as the spec requires. They are updated on specific events (e.g., on tick, on block processing) rather than being computed fresh on each Prometheus scrape.</p>
321370
<h2 id="troubleshooting"><a class="header" href="#troubleshooting">Troubleshooting</a></h2>

0 commit comments

Comments
 (0)