mirror of
https://github.com/mimblewimble/grin.git
synced 2025-02-01 17:01:09 +03:00
TUI mining server status: add blocks found statistics (#2151)
* TUI mining server status: add solutions found statistics * rustfmt * modify 'solutions found' as 'blocks found'
This commit is contained in:
parent
8e678058f1
commit
197d4f9575
3 changed files with 27 additions and 13 deletions
|
@ -80,6 +80,8 @@ pub struct WorkerStats {
|
||||||
pub num_rejected: u64,
|
pub num_rejected: u64,
|
||||||
/// number of shares submitted too late
|
/// number of shares submitted too late
|
||||||
pub num_stale: u64,
|
pub num_stale: u64,
|
||||||
|
/// number of valid blocks found
|
||||||
|
pub num_blocks_found: u64,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Struct to return relevant information about the stratum server
|
/// Struct to return relevant information about the stratum server
|
||||||
|
@ -209,6 +211,7 @@ impl Default for WorkerStats {
|
||||||
num_accepted: 0,
|
num_accepted: 0,
|
||||||
num_rejected: 0,
|
num_rejected: 0,
|
||||||
num_stale: 0,
|
num_stale: 0,
|
||||||
|
num_blocks_found: 0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -512,10 +512,14 @@ impl StratumServer {
|
||||||
return Err(serde_json::to_value(e).unwrap());
|
return Err(serde_json::to_value(e).unwrap());
|
||||||
}
|
}
|
||||||
share_is_block = true;
|
share_is_block = true;
|
||||||
|
worker_stats.num_blocks_found += 1;
|
||||||
// Log message to make it obvious we found a block
|
// Log message to make it obvious we found a block
|
||||||
warn!(
|
warn!(
|
||||||
"(Server ID: {}) Solution Found for block {} - Yay!!!",
|
"(Server ID: {}) Solution Found for block {} - Yay!!! Worker ID: {}, blocks found: {}, shares: {}",
|
||||||
self.id, params.height
|
self.id, params.height,
|
||||||
|
worker_stats.id,
|
||||||
|
worker_stats.num_blocks_found,
|
||||||
|
worker_stats.num_accepted,
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
// Do some validation but dont submit
|
// Do some validation but dont submit
|
||||||
|
|
|
@ -44,6 +44,7 @@ enum StratumWorkerColumn {
|
||||||
NumAccepted,
|
NumAccepted,
|
||||||
NumRejected,
|
NumRejected,
|
||||||
NumStale,
|
NumStale,
|
||||||
|
NumBlocksFound,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl StratumWorkerColumn {
|
impl StratumWorkerColumn {
|
||||||
|
@ -56,6 +57,7 @@ impl StratumWorkerColumn {
|
||||||
StratumWorkerColumn::NumAccepted => "Num Accepted",
|
StratumWorkerColumn::NumAccepted => "Num Accepted",
|
||||||
StratumWorkerColumn::NumRejected => "Num Rejected",
|
StratumWorkerColumn::NumRejected => "Num Rejected",
|
||||||
StratumWorkerColumn::NumStale => "Num Stale",
|
StratumWorkerColumn::NumStale => "Num Stale",
|
||||||
|
StratumWorkerColumn::NumBlocksFound => "Blocks Found",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,6 +81,7 @@ impl TableViewItem<StratumWorkerColumn> for WorkerStats {
|
||||||
StratumWorkerColumn::NumAccepted => self.num_accepted.to_string(),
|
StratumWorkerColumn::NumAccepted => self.num_accepted.to_string(),
|
||||||
StratumWorkerColumn::NumRejected => self.num_rejected.to_string(),
|
StratumWorkerColumn::NumRejected => self.num_rejected.to_string(),
|
||||||
StratumWorkerColumn::NumStale => self.num_stale.to_string(),
|
StratumWorkerColumn::NumStale => self.num_stale.to_string(),
|
||||||
|
StratumWorkerColumn::NumBlocksFound => self.num_blocks_found.to_string(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,6 +97,7 @@ impl TableViewItem<StratumWorkerColumn> for WorkerStats {
|
||||||
StratumWorkerColumn::NumAccepted => Ordering::Equal,
|
StratumWorkerColumn::NumAccepted => Ordering::Equal,
|
||||||
StratumWorkerColumn::NumRejected => Ordering::Equal,
|
StratumWorkerColumn::NumRejected => Ordering::Equal,
|
||||||
StratumWorkerColumn::NumStale => Ordering::Equal,
|
StratumWorkerColumn::NumStale => Ordering::Equal,
|
||||||
|
StratumWorkerColumn::NumBlocksFound => Ordering::Equal,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,17 +189,15 @@ impl TUIStatusListener for TUIMiningView {
|
||||||
});
|
});
|
||||||
|
|
||||||
let table_view = TableView::<WorkerStats, StratumWorkerColumn>::new()
|
let table_view = TableView::<WorkerStats, StratumWorkerColumn>::new()
|
||||||
.column(StratumWorkerColumn::Id, "Worker ID", |c| {
|
.column(StratumWorkerColumn::Id, "Worker ID", |c| c.width_percent(8))
|
||||||
c.width_percent(10)
|
|
||||||
})
|
|
||||||
.column(StratumWorkerColumn::IsConnected, "Connected", |c| {
|
.column(StratumWorkerColumn::IsConnected, "Connected", |c| {
|
||||||
c.width_percent(10)
|
c.width_percent(8)
|
||||||
})
|
})
|
||||||
.column(StratumWorkerColumn::LastSeen, "Last Seen", |c| {
|
.column(StratumWorkerColumn::LastSeen, "Last Seen", |c| {
|
||||||
c.width_percent(16)
|
c.width_percent(16)
|
||||||
})
|
})
|
||||||
.column(StratumWorkerColumn::PowDifficulty, "Pow Difficulty", |c| {
|
.column(StratumWorkerColumn::PowDifficulty, "Pow Difficulty", |c| {
|
||||||
c.width_percent(14)
|
c.width_percent(12)
|
||||||
})
|
})
|
||||||
.column(StratumWorkerColumn::NumAccepted, "Num Accepted", |c| {
|
.column(StratumWorkerColumn::NumAccepted, "Num Accepted", |c| {
|
||||||
c.width_percent(10)
|
c.width_percent(10)
|
||||||
|
@ -205,6 +207,9 @@ impl TUIStatusListener for TUIMiningView {
|
||||||
})
|
})
|
||||||
.column(StratumWorkerColumn::NumStale, "Num Stale", |c| {
|
.column(StratumWorkerColumn::NumStale, "Num Stale", |c| {
|
||||||
c.width_percent(10)
|
c.width_percent(10)
|
||||||
|
})
|
||||||
|
.column(StratumWorkerColumn::NumBlocksFound, "Blocks Found", |c| {
|
||||||
|
c.width_percent(10)
|
||||||
});
|
});
|
||||||
|
|
||||||
let status_view = LinearLayout::new(Orientation::Vertical)
|
let status_view = LinearLayout::new(Orientation::Vertical)
|
||||||
|
@ -330,18 +335,20 @@ impl TUIStatusListener for TUIMiningView {
|
||||||
);
|
);
|
||||||
let stratum_stats = stats.stratum_stats.clone();
|
let stratum_stats = stats.stratum_stats.clone();
|
||||||
let stratum_network_hashrate = format!(
|
let stratum_network_hashrate = format!(
|
||||||
"Network Hashrate: {:.*}",
|
"Network Hashrate: {:.*}",
|
||||||
2,
|
2,
|
||||||
stratum_stats.network_hashrate(stratum_stats.block_height)
|
stratum_stats.network_hashrate(stratum_stats.block_height)
|
||||||
);
|
);
|
||||||
let worker_stats = stratum_stats.worker_stats;
|
let worker_stats = stratum_stats.worker_stats;
|
||||||
let stratum_enabled = format!("Mining server enabled: {}", stratum_stats.is_enabled);
|
let stratum_enabled = format!("Mining server enabled: {}", stratum_stats.is_enabled);
|
||||||
let stratum_is_running = format!("Mining server running: {}", stratum_stats.is_running);
|
let stratum_is_running = format!("Mining server running: {}", stratum_stats.is_running);
|
||||||
let stratum_num_workers = format!("Number of workers: {}", stratum_stats.num_workers);
|
let stratum_num_workers = format!("Number of workers: {}", stratum_stats.num_workers);
|
||||||
let stratum_block_height = format!("Solving Block Height: {}", stratum_stats.block_height);
|
let stratum_block_height = format!("Solving Block Height: {}", stratum_stats.block_height);
|
||||||
let stratum_network_difficulty =
|
let stratum_network_difficulty = format!(
|
||||||
format!("Network Difficulty: {}", stratum_stats.network_difficulty);
|
"Network Difficulty: {}",
|
||||||
let stratum_edge_bits = format!("Cuckoo Size: {}", stratum_stats.edge_bits);
|
stratum_stats.network_difficulty
|
||||||
|
);
|
||||||
|
let stratum_edge_bits = format!("Cuckoo Size: {}", stratum_stats.edge_bits);
|
||||||
|
|
||||||
c.call_on_id("stratum_config_status", |t: &mut TextView| {
|
c.call_on_id("stratum_config_status", |t: &mut TextView| {
|
||||||
t.set_content(stratum_enabled);
|
t.set_content(stratum_enabled);
|
||||||
|
|
Loading…
Reference in a new issue