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:
Gary Yu 2018-12-15 10:10:33 +08:00 committed by GitHub
parent 8e678058f1
commit 197d4f9575
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 13 deletions

View file

@ -80,6 +80,8 @@ pub struct WorkerStats {
pub num_rejected: u64,
/// number of shares submitted too late
pub num_stale: u64,
/// number of valid blocks found
pub num_blocks_found: u64,
}
/// Struct to return relevant information about the stratum server
@ -209,6 +211,7 @@ impl Default for WorkerStats {
num_accepted: 0,
num_rejected: 0,
num_stale: 0,
num_blocks_found: 0,
}
}
}

View file

@ -512,10 +512,14 @@ impl StratumServer {
return Err(serde_json::to_value(e).unwrap());
}
share_is_block = true;
worker_stats.num_blocks_found += 1;
// Log message to make it obvious we found a block
warn!(
"(Server ID: {}) Solution Found for block {} - Yay!!!",
self.id, params.height
"(Server ID: {}) Solution Found for block {} - Yay!!! Worker ID: {}, blocks found: {}, shares: {}",
self.id, params.height,
worker_stats.id,
worker_stats.num_blocks_found,
worker_stats.num_accepted,
);
} else {
// Do some validation but dont submit

View file

@ -44,6 +44,7 @@ enum StratumWorkerColumn {
NumAccepted,
NumRejected,
NumStale,
NumBlocksFound,
}
impl StratumWorkerColumn {
@ -56,6 +57,7 @@ impl StratumWorkerColumn {
StratumWorkerColumn::NumAccepted => "Num Accepted",
StratumWorkerColumn::NumRejected => "Num Rejected",
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::NumRejected => self.num_rejected.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::NumRejected => 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()
.column(StratumWorkerColumn::Id, "Worker ID", |c| {
c.width_percent(10)
})
.column(StratumWorkerColumn::Id, "Worker ID", |c| c.width_percent(8))
.column(StratumWorkerColumn::IsConnected, "Connected", |c| {
c.width_percent(10)
c.width_percent(8)
})
.column(StratumWorkerColumn::LastSeen, "Last Seen", |c| {
c.width_percent(16)
})
.column(StratumWorkerColumn::PowDifficulty, "Pow Difficulty", |c| {
c.width_percent(14)
c.width_percent(12)
})
.column(StratumWorkerColumn::NumAccepted, "Num Accepted", |c| {
c.width_percent(10)
@ -205,6 +207,9 @@ impl TUIStatusListener for TUIMiningView {
})
.column(StratumWorkerColumn::NumStale, "Num Stale", |c| {
c.width_percent(10)
})
.column(StratumWorkerColumn::NumBlocksFound, "Blocks Found", |c| {
c.width_percent(10)
});
let status_view = LinearLayout::new(Orientation::Vertical)
@ -339,8 +344,10 @@ impl TUIStatusListener for TUIMiningView {
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_block_height = format!("Solving Block Height: {}", stratum_stats.block_height);
let stratum_network_difficulty =
format!("Network Difficulty: {}", stratum_stats.network_difficulty);
let stratum_network_difficulty = format!(
"Network Difficulty: {}",
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| {