Add more data to stats footer
This commit is contained in:
parent
f1688add01
commit
ddc725d1a9
5 changed files with 27 additions and 3 deletions
|
|
@ -17,6 +17,7 @@ pub struct SessionStats {
|
|||
pub atomic: Arc<AtomicSessionStats>,
|
||||
pub down_speed_estimator: SpeedEstimator,
|
||||
pub up_speed_estimator: SpeedEstimator,
|
||||
pub startup_time: Instant,
|
||||
}
|
||||
|
||||
impl SessionStats {
|
||||
|
|
@ -25,6 +26,7 @@ impl SessionStats {
|
|||
atomic: Default::default(),
|
||||
down_speed_estimator: SpeedEstimator::new(5),
|
||||
up_speed_estimator: SpeedEstimator::new(5),
|
||||
startup_time: Instant::now(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
use std::sync::atomic::Ordering;
|
||||
|
||||
use serde::Serialize;
|
||||
|
||||
use crate::torrent_state::{peers::stats::snapshot::AggregatePeerStats, stats::Speed};
|
||||
|
|
@ -6,9 +8,12 @@ use super::SessionStats;
|
|||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct SessionStatsSnapshot {
|
||||
fetched_bytes: u64,
|
||||
uploaded_bytes: u64,
|
||||
download_speed: Speed,
|
||||
upload_speed: Speed,
|
||||
peers: AggregatePeerStats,
|
||||
uptime_seconds: u64,
|
||||
}
|
||||
|
||||
impl From<&SessionStats> for SessionStatsSnapshot {
|
||||
|
|
@ -16,7 +21,10 @@ impl From<&SessionStats> for SessionStatsSnapshot {
|
|||
Self {
|
||||
download_speed: s.down_speed_estimator.mbps().into(),
|
||||
upload_speed: s.up_speed_estimator.mbps().into(),
|
||||
fetched_bytes: s.atomic.fetched_bytes.load(Ordering::Relaxed),
|
||||
uploaded_bytes: s.atomic.uploaded_bytes.load(Ordering::Relaxed),
|
||||
peers: AggregatePeerStats::from(&s.atomic.peers),
|
||||
uptime_seconds: s.startup_time.elapsed().as_secs(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue