pub struct PersistedUsage {
pub ts: u64,
pub models: HashMap<String, ModelUsage>,
pub cohorts: HashMap<String, CohortUsage>,
pub last_model: Option<LastModel>,
pub projects: HashMap<String, HashMap<String, ModelUsage>>,
pub sessions: HashMap<String, SessionUsage>,
}Expand description
On-disk shape of the measured spend totals.
Fields§
§ts: u64§models: HashMap<String, ModelUsage>§cohorts: HashMap<String, CohortUsage>Output-savings cohort totals (#895). #[serde(default)] keeps older
proxy_usage.json files (written before the holdout existed) loadable.
last_model: Option<LastModel>The foreground model of the most recent finalized turn and when it was seen (unix seconds), so other processes can attribute work to the model in use now rather than the all-time largest bucket.
projects: HashMap<String, HashMap<String, ModelUsage>>The same totals per project key and model (the folder the agent named
in each request). Turns that named none stay in models only, which
remains the device total.
sessions: HashMap<String, SessionUsage>The same totals per app session (the x-leanctx-session-id header a
launching app sends, see core::activity::SESSION_HEADER); only the
most recently used sessions are kept. Attribution only.
Trait Implementations§
Source§impl Clone for PersistedUsage
impl Clone for PersistedUsage
Source§impl Debug for PersistedUsage
impl Debug for PersistedUsage
Source§impl Default for PersistedUsage
impl Default for PersistedUsage
Source§impl<'de> Deserialize<'de> for PersistedUsage
impl<'de> Deserialize<'de> for PersistedUsage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Forget for PersistedUsage
impl Freeze for PersistedUsage
impl Move for PersistedUsage
impl RefUnwindSafe for PersistedUsage
impl Send for PersistedUsage
impl Sync for PersistedUsage
impl Unpin for PersistedUsage
impl UnsafeUnpin for PersistedUsage
impl UnwindSafe for PersistedUsage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more