pub struct TokenUsage {
pub input: u64,
pub output: u64,
pub cached_input: u64,
pub reasoning: u64,
}Expand description
Tokens the provider reported for a call.
Zero means “not reported”: no provider distinguishes a real zero from a missing count, and a cost estimate built on a guess is worse than one built on a zero.
Fields§
§input: u64Prompt tokens.
output: u64Generated tokens.
cached_input: u64Prompt tokens served from the provider’s cache, already counted in
input.
reasoning: u64Reasoning tokens, already counted in output where the provider bills
them that way.
Implementations§
Source§impl TokenUsage
impl TokenUsage
Sourcepub const fn with_cached_input(self, cached: u64) -> Self
pub const fn with_cached_input(self, cached: u64) -> Self
Records cached prompt tokens.
Sourcepub const fn with_reasoning(self, reasoning: u64) -> Self
pub const fn with_reasoning(self, reasoning: u64) -> Self
Records reasoning tokens.
Sourcepub const fn is_unreported(self) -> bool
pub const fn is_unreported(self) -> bool
Returns true when the provider reported nothing.
Trait Implementations§
Source§impl Clone for TokenUsage
impl Clone for TokenUsage
impl Copy for TokenUsage
Source§impl Debug for TokenUsage
impl Debug for TokenUsage
Source§impl Default for TokenUsage
impl Default for TokenUsage
Source§impl<'de> Deserialize<'de> for TokenUsage
impl<'de> Deserialize<'de> for TokenUsage
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
impl Eq for TokenUsage
Source§impl Hash for TokenUsage
impl Hash for TokenUsage
Source§impl PartialEq for TokenUsage
impl PartialEq for TokenUsage
Source§impl Serialize for TokenUsage
impl Serialize for TokenUsage
impl StructuralPartialEq for TokenUsage
Auto Trait Implementations§
impl Freeze for TokenUsage
impl RefUnwindSafe for TokenUsage
impl Send for TokenUsage
impl Sync for TokenUsage
impl Unpin for TokenUsage
impl UnsafeUnpin for TokenUsage
impl UnwindSafe for TokenUsage
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>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.