pub struct UsageRow {
pub workspace: String,
pub day: String,
pub cost_usd: f64,
pub turns: u64,
pub done: u64,
pub failed: u64,
pub killed: u64,
pub crashed: u64,
pub timed_out: u64,
}Expand description
One aggregate row: everything one workspace did on one UTC day.
The store computes these; nothing replays the log to build them. Cost and
turns come from agent_finished events, the outcome counts from terminal
status_changed transitions — so a workspace whose agents were all killed
legitimately reports outcomes with zero cost. See Store::usage.
Fields§
§workspace: StringWorkspace name (the event’s repo).
day: StringUTC day, YYYY-MM-DD, sliced from the RFC-3339 timestamp.
cost_usd: f64Summed run cost in USD.
turns: u64Summed turns.
done: u64Agents that reached done.
failed: u64Agents that reached failed.
killed: u64Agents that reached killed.
crashed: u64Agents that reached crashed.
timed_out: u64Runs prospero killed for passing their wall-clock deadline (#221).
Counted from the AgentTimedOut event, not from a status: the kill it
causes is a real killed transition and is still counted there. This
says how many of those kills were policy rather than a person.
Trait Implementations§
impl StructuralPartialEq for UsageRow
Auto Trait Implementations§
impl Freeze for UsageRow
impl RefUnwindSafe for UsageRow
impl Send for UsageRow
impl Sync for UsageRow
impl Unpin for UsageRow
impl UnsafeUnpin for UsageRow
impl UnwindSafe for UsageRow
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
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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