Skip to content

Commit 066548e

Browse files
committed
deploy: 9ed607f
1 parent b27f126 commit 066548e

14 files changed

Lines changed: 55 additions & 13 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-69dc5805.js";
38+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-274da26b.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-69dc5805.js";
39+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
4040
</script>
4141
<!-- Start loading toc.js asap -->
4242
<script src="toc-274da26b.js"></script>

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-69dc5805.js";
38+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-274da26b.js"></script>

data_storage.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-69dc5805.js";
38+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-274da26b.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-69dc5805.js";
38+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-274da26b.js"></script>

index.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-69dc5805.js";
38+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-274da26b.js"></script>

introduction.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-69dc5805.js";
38+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-274da26b.js"></script>

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-69dc5805.js";
38+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-274da26b.js"></script>

metrics.html

Lines changed: 22 additions & 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-69dc5805.js";
38+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
4141
<script src="toc-274da26b.js"></script>
@@ -340,6 +340,27 @@ <h3 id="network-sizes"><a class="header" href="#network-sizes">Network Sizes</a>
340340
</tbody>
341341
</table>
342342
</div>
343+
<h3 id="gossip-arrival-timing"><a class="header" href="#gossip-arrival-timing">Gossip Arrival Timing</a></h3>
344+
<p>These histograms record the absolute distance between a gossip message’s arrival and the start of the interval it was due in, so an arrival that is early by some amount and one that is late by the same amount land in the same bucket; the counters’ <code>position</code> label is what tells them apart. <code>inside</code> means the message arrived within the interval it was due in, not merely somewhere in the right slot: an attestation for slot 10 that lands during slot 10’s interval 2 is <code>after</code>, not <code>inside</code>, since it missed the AttestationProduction interval it was actually due in.</p>
345+
<p>Blocks anchor to interval 0 of their own slot and attestations to interval 1 of their data slot; both are unbounded above, so a message that never arrives close to real time can be arbitrarily late. Aggregates anchor instead to the most recent aggregation-interval boundary rather than their own data slot, since a stale-group catch-up aggregate can carry a <code>data.slot</code> several slots in the past; anchoring to the latest boundary bounds the delay to one slot and rules out <code>before</code> entirely.</p>
346+
<p>Only gossip-received blocks are sampled here: blocks fetched via req/resp during sync are excluded, since sync backfill delivers blocks long after they were due and would swamp these histograms with catch-up noise rather than gossip-health signal.</p>
347+
<p>The aggregate metrics do include an aggregator’s own freshly produced aggregates, which never come back over gossip; without them an aggregator would report an empty aggregate profile. The two populations are not quite the same measurement: delivery of a locally produced aggregate is held until the interval-2 boundary, so it lands near zero unless proving overran the interval, whereas a received one adds propagation on top of whenever the producer managed to publish it.</p>
348+
<p>In practice the distribution is bimodal and dominated by production rather than propagation: a mode in the lowest bucket for aggregates that made their interval, plus a tail for those whose proving overran it. A late aggregate is late for every node at once, so that tail shows up on receivers too and is not evidence of a slow network. Read a rising tail as aggregation cost, and cross-check <code>lean_pq_sig_aggregated_signatures_building_time_seconds</code> and <code>lean_committee_signatures_aggregation_time_seconds</code> to confirm.</p>
349+
<div class="table-wrapper">
350+
<table>
351+
<thead>
352+
<tr><th>Name</th><th>Type</th><th>Usage</th><th>Sample collection event</th><th>Labels</th><th>Buckets</th></tr>
353+
</thead>
354+
<tbody>
355+
<tr><td><code>lean_gossip_block_arrival_delay_seconds</code></td><td>Histogram</td><td>Absolute delay between a gossip block’s arrival and the start of the interval it was due in</td><td>On gossip block receipt, before import</td><td></td><td>0.05, 0.1, 0.2, 0.4, 0.8, 1.2, 1.6, 2.4, 4, 8, 16</td></tr>
356+
<tr><td><code>lean_gossip_attestation_arrival_delay_seconds</code></td><td>Histogram</td><td>Absolute delay between a gossip attestation’s arrival and the start of the interval it was due in</td><td>On gossip attestation receipt</td><td></td><td>0.05, 0.1, 0.2, 0.4, 0.8, 1.2, 1.6, 2.4, 4, 8, 16</td></tr>
357+
<tr><td><code>lean_gossip_aggregation_arrival_delay_seconds</code></td><td>Histogram</td><td>Absolute delay between an aggregate becoming available (gossip receipt, or local production) and the most recent aggregation-interval boundary at or before it</td><td>On gossip aggregated-attestation receipt, or on local aggregate production</td><td></td><td>0.05, 0.1, 0.2, 0.4, 0.8, 1.2, 1.6, 2.4, 4, 8, 16</td></tr>
358+
<tr><td><code>lean_gossip_block_arrival_total</code></td><td>Counter</td><td>Gossip blocks by arrival position relative to the interval they were due in</td><td>On gossip block receipt, before import</td><td>position=before,inside,after</td><td></td></tr>
359+
<tr><td><code>lean_gossip_attestation_arrival_total</code></td><td>Counter</td><td>Gossip attestations by arrival position relative to the interval they were due in</td><td>On gossip attestation receipt</td><td>position=before,inside,after</td><td></td></tr>
360+
<tr><td><code>lean_gossip_aggregation_arrival_total</code></td><td>Counter</td><td>Aggregates by arrival position relative to the most recent aggregation-interval boundary</td><td>On gossip aggregated-attestation receipt, or on local aggregate production</td><td>position=inside,after</td><td></td></tr>
361+
</tbody>
362+
</table>
363+
</div>
343364
<h3 id="storage"><a class="header" href="#storage">Storage</a></h3>
344365
<div class="table-wrapper">
345366
<table>

print.html

Lines changed: 22 additions & 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-69dc5805.js";
39+
window.path_to_searchindex_js = "searchindex-e79bb1a1.js";
4040
</script>
4141
<!-- Start loading toc.js asap -->
4242
<script src="toc-274da26b.js"></script>
@@ -1812,6 +1812,27 @@ <h3 id="network-sizes"><a class="header" href="#network-sizes">Network Sizes</a>
18121812
</tbody>
18131813
</table>
18141814
</div>
1815+
<h3 id="gossip-arrival-timing"><a class="header" href="#gossip-arrival-timing">Gossip Arrival Timing</a></h3>
1816+
<p>These histograms record the absolute distance between a gossip message’s arrival and the start of the interval it was due in, so an arrival that is early by some amount and one that is late by the same amount land in the same bucket; the counters’ <code>position</code> label is what tells them apart. <code>inside</code> means the message arrived within the interval it was due in, not merely somewhere in the right slot: an attestation for slot 10 that lands during slot 10’s interval 2 is <code>after</code>, not <code>inside</code>, since it missed the AttestationProduction interval it was actually due in.</p>
1817+
<p>Blocks anchor to interval 0 of their own slot and attestations to interval 1 of their data slot; both are unbounded above, so a message that never arrives close to real time can be arbitrarily late. Aggregates anchor instead to the most recent aggregation-interval boundary rather than their own data slot, since a stale-group catch-up aggregate can carry a <code>data.slot</code> several slots in the past; anchoring to the latest boundary bounds the delay to one slot and rules out <code>before</code> entirely.</p>
1818+
<p>Only gossip-received blocks are sampled here: blocks fetched via req/resp during sync are excluded, since sync backfill delivers blocks long after they were due and would swamp these histograms with catch-up noise rather than gossip-health signal.</p>
1819+
<p>The aggregate metrics do include an aggregator’s own freshly produced aggregates, which never come back over gossip; without them an aggregator would report an empty aggregate profile. The two populations are not quite the same measurement: delivery of a locally produced aggregate is held until the interval-2 boundary, so it lands near zero unless proving overran the interval, whereas a received one adds propagation on top of whenever the producer managed to publish it.</p>
1820+
<p>In practice the distribution is bimodal and dominated by production rather than propagation: a mode in the lowest bucket for aggregates that made their interval, plus a tail for those whose proving overran it. A late aggregate is late for every node at once, so that tail shows up on receivers too and is not evidence of a slow network. Read a rising tail as aggregation cost, and cross-check <code>lean_pq_sig_aggregated_signatures_building_time_seconds</code> and <code>lean_committee_signatures_aggregation_time_seconds</code> to confirm.</p>
1821+
<div class="table-wrapper">
1822+
<table>
1823+
<thead>
1824+
<tr><th>Name</th><th>Type</th><th>Usage</th><th>Sample collection event</th><th>Labels</th><th>Buckets</th></tr>
1825+
</thead>
1826+
<tbody>
1827+
<tr><td><code>lean_gossip_block_arrival_delay_seconds</code></td><td>Histogram</td><td>Absolute delay between a gossip block’s arrival and the start of the interval it was due in</td><td>On gossip block receipt, before import</td><td></td><td>0.05, 0.1, 0.2, 0.4, 0.8, 1.2, 1.6, 2.4, 4, 8, 16</td></tr>
1828+
<tr><td><code>lean_gossip_attestation_arrival_delay_seconds</code></td><td>Histogram</td><td>Absolute delay between a gossip attestation’s arrival and the start of the interval it was due in</td><td>On gossip attestation receipt</td><td></td><td>0.05, 0.1, 0.2, 0.4, 0.8, 1.2, 1.6, 2.4, 4, 8, 16</td></tr>
1829+
<tr><td><code>lean_gossip_aggregation_arrival_delay_seconds</code></td><td>Histogram</td><td>Absolute delay between an aggregate becoming available (gossip receipt, or local production) and the most recent aggregation-interval boundary at or before it</td><td>On gossip aggregated-attestation receipt, or on local aggregate production</td><td></td><td>0.05, 0.1, 0.2, 0.4, 0.8, 1.2, 1.6, 2.4, 4, 8, 16</td></tr>
1830+
<tr><td><code>lean_gossip_block_arrival_total</code></td><td>Counter</td><td>Gossip blocks by arrival position relative to the interval they were due in</td><td>On gossip block receipt, before import</td><td>position=before,inside,after</td><td></td></tr>
1831+
<tr><td><code>lean_gossip_attestation_arrival_total</code></td><td>Counter</td><td>Gossip attestations by arrival position relative to the interval they were due in</td><td>On gossip attestation receipt</td><td>position=before,inside,after</td><td></td></tr>
1832+
<tr><td><code>lean_gossip_aggregation_arrival_total</code></td><td>Counter</td><td>Aggregates by arrival position relative to the most recent aggregation-interval boundary</td><td>On gossip aggregated-attestation receipt, or on local aggregate production</td><td>position=inside,after</td><td></td></tr>
1833+
</tbody>
1834+
</table>
1835+
</div>
18151836
<h3 id="storage"><a class="header" href="#storage">Storage</a></h3>
18161837
<div class="table-wrapper">
18171838
<table>

0 commit comments

Comments
 (0)