pub struct Usage {
pub input_tokens: u64,
pub output_tokens: u64,
pub reasoning_tokens: Option<u64>,
pub cache_read_tokens: Option<u64>,
pub cache_write_tokens: Option<u64>,
}Expand description
Token counts for a single request/response pair.
Fields§
§input_tokens: u64Tokens consumed by the prompt (messages + system + tool defs).
output_tokens: u64Tokens produced by the model’s response.
reasoning_tokens: Option<u64>Tokens used for chain-of-thought reasoning, if applicable.
cache_read_tokens: Option<u64>Tokens served from the provider’s prompt cache (reducing cost).
cache_write_tokens: Option<u64>Tokens written into the provider’s prompt cache for future reuse.
Implementations§
Trait Implementations§
Source§impl Add for Usage
impl Add for Usage
Source§impl AddAssign<&Usage> for Usage
impl AddAssign<&Usage> for Usage
Source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
Adds another Usage to this one in-place without cloning.
This is more efficient than AddAssign<Usage> when you have a reference.
Source§impl AddAssign for Usage
impl AddAssign for Usage
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+= operation. Read moreSource§impl<'de> Deserialize<'de> for Usage
impl<'de> Deserialize<'de> for Usage
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 Usage
impl StructuralPartialEq for Usage
Auto Trait Implementations§
impl Freeze for Usage
impl RefUnwindSafe for Usage
impl Send for Usage
impl Sync for Usage
impl Unpin for Usage
impl UnwindSafe for Usage
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