diff --git a/libs/pageserver_api/src/models.rs b/libs/pageserver_api/src/models.rs index 4b6b01124a..2b220001e7 100644 --- a/libs/pageserver_api/src/models.rs +++ b/libs/pageserver_api/src/models.rs @@ -248,7 +248,7 @@ pub enum LayerAccessKind { } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct LayerAccessStatFullDetails { - pub when_millis_since_epoch: u128, + pub when_millis_since_epoch: u64, pub task_kind: &'static str, pub access_kind: LayerAccessKind, } @@ -257,11 +257,11 @@ pub struct LayerAccessStatFullDetails { #[serde(tag = "kind")] pub enum LayerResidenceStatus { Resident { - timestamp_millis_since_epoch: u128, + timestamp_millis_since_epoch: u64, created: bool, }, Evicted { - timestamp_millis_since_epoch: u128, + timestamp_millis_since_epoch: u64, }, } diff --git a/pageserver/src/tenant/storage_layer.rs b/pageserver/src/tenant/storage_layer.rs index e155303e57..ea2bd9e328 100644 --- a/pageserver/src/tenant/storage_layer.rs +++ b/pageserver/src/tenant/storage_layer.rs @@ -125,10 +125,12 @@ pub enum LayerAccessStatsReset { AllStats, } -fn system_time_to_millis_since_epoch(ts: &SystemTime) -> u128 { +fn system_time_to_millis_since_epoch(ts: &SystemTime) -> u64 { ts.duration_since(UNIX_EPOCH) .expect("better to die in this unlikely case than report false stats") .as_millis() + .try_into() + .expect("64 bits is enough for few more years") } impl LayerAccessStatFullDetails {