Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
7dde407
let orchestrator collect stats
bfish713 Sep 26, 2025
c97f5ed
Merge remote-tracking branch 'origin/main' into bf/collect-stats
bfish713 Sep 26, 2025
9660923
add orchestrator url into HS
bfish713 Sep 29, 2025
18bf5c7
add benchmarking types
bfish713 Sep 29, 2025
43744d5
decaf params
rob-maron Sep 29, 2025
894ff88
relative path
bfish713 Sep 29, 2025
920dd47
revert txn sumbit changes
bfish713 Sep 29, 2025
de90ca9
Merge remote-tracking branch 'origin/bf/collect-stats' into release-o…
rob-maron Sep 29, 2025
ea70c1d
max block size to 3mb
rob-maron Sep 29, 2025
8138826
2 -> 8s
rob-maron Sep 29, 2025
c1c5088
5mb blocks
rob-maron Sep 29, 2025
945f3ae
fix orch stats storage
bfish713 Sep 30, 2025
a6ff697
remove async-std
bfish713 Oct 2, 2025
63d6aea
Merge remote-tracking branch 'origin/main' into bf/collect-stats
bfish713 Oct 2, 2025
a4de592
try to build a block as soon as we get a proposal, don't wait for vie…
bfish713 Oct 2, 2025
6af2c97
Merge branch 'bf/build-early' into bf/collect-stats
bfish713 Oct 2, 2025
9cdc377
don't build early in transition
bfish713 Oct 2, 2025
c6e808b
version gate
bfish713 Oct 2, 2025
6271e59
Merge branch 'bf/build-early' into bf/collect-stats
bfish713 Oct 2, 2025
d3535d9
only insert timestamp if it doesn't exist for stats
bfish713 Oct 2, 2025
25da244
remove extra DA calc if primary down
bfish713 Oct 2, 2025
388d54b
Merge branch 'bf/collect-stats' into release-orc-stats
bfish713 Oct 2, 2025
d314c46
log proposal times
rob-maron Oct 2, 2025
2c82b3b
fix build
bfish713 Oct 2, 2025
056a311
fix build
bfish713 Oct 2, 2025
2edfa17
fix build
bfish713 Oct 2, 2025
6a78abc
fix parent view calc
bfish713 Oct 2, 2025
516b2f4
Merge branch 'bf/build-early' into bf/collect-stats
bfish713 Oct 2, 2025
1e9a67c
Merge branch 'bf/collect-stats' into release-orc-stats
bfish713 Oct 2, 2025
09beb22
fix proposal creation time
rob-maron Oct 3, 2025
0f8f59e
fix orch
bfish713 Oct 3, 2025
cf67ee4
trace events
rob-maron Oct 6, 2025
e4b4664
Bf/orch-endpoint (#3644)
bfish713 Oct 7, 2025
46a89c7
add builder stats (#3649)
bfish713 Oct 8, 2025
5eab61c
Merge remote-tracking branch 'origin/release-proposal-instrumentation…
rob-maron Oct 17, 2025
c50723d
remove libp2p
rob-maron Oct 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
147 changes: 136 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,10 @@ bytesize = "1.3"
committable = { git = "https://github.com/EspressoSystems/commit.git", features = ["ark-serialize"] }
derivative = "2.2"
itertools = "0.12"
jf-advz = { git = "https://github.com/EspressoSystems/jellyfish-compat", tag = "jf-advz-v0.2.1", features = [
"std",
"parallel",
] }
jf-crhf = { git = "https://github.com/EspressoSystems/jellyfish", tag = "jf-crhf-v0.2.0" }
jf-merkle-tree-compat = { git = "https://github.com/EspressoSystems/jellyfish-compat", tag = "jf-merkle-tree-compat-v0.1.0", features = [
"std",
Expand All @@ -200,10 +204,6 @@ jf-signature = { git = "https://github.com/EspressoSystems/jellyfish", tag = "jf
"std",
] }
jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "jf-utils-v0.5.0" }
jf-advz = { git = "https://github.com/EspressoSystems/jellyfish-compat", tag = "jf-advz-v0.2.1", features = [
"std",
"parallel",
] }
libp2p = { package = "libp2p", version = "0.56", default-features = false, features = [
"macros",
"autonat",
Expand Down
23 changes: 12 additions & 11 deletions benchmark-stats/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ use std::{
};

use clap::{Parser, Subcommand};
use espresso_types::SeqTypes;
use hotshot_task_impls::stats::{LeaderViewStats, ReplicaViewStats};
use hotshot_types::data::ViewNumber;
use hotshot_types::{
benchmarking::{LeaderViewStats, ReplicaViewStats},
data::ViewNumber,
};
use plotly::{
common::{HoverInfo, Line, Marker, MarkerSymbol, Mode},
layout::{self, Axis, GridPattern, LayoutGrid},
Expand Down Expand Up @@ -81,14 +82,14 @@ struct ReplicaStats {
/// Read replica stats from CSV into a BTreeMap
fn read_replica_view_stats(
path: &Path,
) -> Result<BTreeMap<ViewNumber, ReplicaViewStats<SeqTypes>>, Box<dyn std::error::Error>> {
) -> Result<BTreeMap<ViewNumber, ReplicaViewStats<ViewNumber>>, Box<dyn std::error::Error>> {
println!("\n**--- Replica Stats ---**");
let mut reader = csv::Reader::from_path(path)
.map_err(|e| format!("Failed to open replica stats CSV at {path:?}: {e}"))?;
let mut replica_view_stats = BTreeMap::new();

for result in reader.deserialize() {
let record: ReplicaViewStats<SeqTypes> = result?;
let record: ReplicaViewStats<ViewNumber> = result?;
replica_view_stats.insert(record.view, record);
}

Expand All @@ -97,7 +98,7 @@ fn read_replica_view_stats(

/// Generate plots of replica stats
fn plot_replica_stats(
replica_view_stats: &BTreeMap<ViewNumber, ReplicaViewStats<SeqTypes>>,
replica_view_stats: &BTreeMap<ViewNumber, ReplicaViewStats<ViewNumber>>,
output_file: &Path,
) -> Result<(), Box<dyn std::error::Error>> {
let mut x_views = Vec::new();
Expand Down Expand Up @@ -294,7 +295,7 @@ fn plot_replica_stats(
/// it generates the time difference for VID/DAC/Proposal
/// from the view change event
fn generate_replica_stats(
replica_view_stats: &BTreeMap<ViewNumber, ReplicaViewStats<SeqTypes>>,
replica_view_stats: &BTreeMap<ViewNumber, ReplicaViewStats<ViewNumber>>,
) -> ReplicaStats {
let mut vid_deltas_from_vc = Vec::new();
let mut dac_deltas_from_vc = Vec::new();
Expand Down Expand Up @@ -336,21 +337,21 @@ fn print_replica_stats(stats: &ReplicaStats) {
/// Read leader stats from CSV into a BTreeMap
fn read_leader_view_stats(
path: &Path,
) -> Result<BTreeMap<ViewNumber, LeaderViewStats<SeqTypes>>, Box<dyn std::error::Error>> {
) -> Result<BTreeMap<ViewNumber, LeaderViewStats<ViewNumber>>, Box<dyn std::error::Error>> {
println!("\n**--- Leader Stats ---**");
let mut reader = csv::Reader::from_path(path)
.map_err(|e| format!("Failed to open leader stats CSV at {path:?}: {e}"))?;
let mut leader_view_stats = BTreeMap::<ViewNumber, LeaderViewStats<SeqTypes>>::new();
let mut leader_view_stats = BTreeMap::<ViewNumber, LeaderViewStats<ViewNumber>>::new();

for result in reader.deserialize() {
let record: LeaderViewStats<SeqTypes> = result?;
let record: LeaderViewStats<ViewNumber> = result?;
leader_view_stats.insert(record.view, record);
}
Ok(leader_view_stats)
}

fn plot_and_print_leader_stats(
leader_view_stats: &BTreeMap<ViewNumber, LeaderViewStats<SeqTypes>>,
leader_view_stats: &BTreeMap<ViewNumber, LeaderViewStats<ViewNumber>>,
output_file: &Path,
) -> Result<(), Box<dyn std::error::Error>> {
let mut views = Vec::new();
Expand Down
1 change: 1 addition & 0 deletions crates/collector-common/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/target
8 changes: 8 additions & 0 deletions crates/collector-common/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[package]
name = "collector-common"
version = "0.1.0"
edition = "2024"

[dependencies]
rkyv = "0.8"
anyhow = "1"
Loading
Loading