pub struct TokenAccounting {
pub input_tokens: u64,
pub output_tokens: u64,
pub cost_usd: f64,
pub latency: Option<RunLatency>,
}Expand description
Token and cost accounting contributed by an AgentRunner. Runners opt in by
setting AgentOutput::tokens; benchmarks that need economic metrics read it.
Self-reported by the runner; not verified by CAR. Do not use as a trust boundary — for benchmarking and observability only.
Fields§
§input_tokens: u64§output_tokens: u64§cost_usd: f64§latency: Option<RunLatency>Per-run latency, when the runner measured it. Rides here (rather than a
new AgentOutput field) because every AgentOutput already carries
Option<TokenAccounting> and consumers already read it. None for
runners that don’t measure it — so the FFI JSON of multi-agent results
stays unchanged for them.
Implementations§
Trait Implementations§
Source§impl Clone for TokenAccounting
impl Clone for TokenAccounting
Source§impl Debug for TokenAccounting
impl Debug for TokenAccounting
Source§impl Default for TokenAccounting
impl Default for TokenAccounting
Source§impl<'de> Deserialize<'de> for TokenAccounting
impl<'de> Deserialize<'de> for TokenAccounting
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 Freeze for TokenAccounting
impl RefUnwindSafe for TokenAccounting
impl Send for TokenAccounting
impl Sync for TokenAccounting
impl Unpin for TokenAccounting
impl UnsafeUnpin for TokenAccounting
impl UnwindSafe for TokenAccounting
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<T> ErasedDestructor for Twhere
T: 'static,
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