pub struct TokenUsage {
pub input_tokens: u64,
pub output_tokens: u64,
pub reasoning_tokens: Option<u64>,
pub cached_input_tokens: Option<u64>,
pub cache_write_input_tokens: Option<u64>,
}Expand description
Token counts broken down by direction and special categories.
Fields§
§input_tokens: u64Number of tokens in the input (prompt) sent to the model.
output_tokens: u64Number of tokens in the model’s output (completion).
reasoning_tokens: Option<u64>Tokens consumed by the model’s internal reasoning, if reported.
cached_input_tokens: Option<u64>Input tokens served from the provider’s prompt cache, if reported.
cache_write_input_tokens: Option<u64>Input tokens written into the provider’s prompt cache, if reported.
Implementations§
Source§impl TokenUsage
impl TokenUsage
Sourcepub fn new(input_tokens: u64, output_tokens: u64) -> Self
pub fn new(input_tokens: u64, output_tokens: u64) -> Self
Builds token usage with required input and output counts.
Sourcepub fn with_reasoning_tokens(self, reasoning_tokens: u64) -> Self
pub fn with_reasoning_tokens(self, reasoning_tokens: u64) -> Self
Sets reasoning token count.
Sourcepub fn with_cached_input_tokens(self, cached_input_tokens: u64) -> Self
pub fn with_cached_input_tokens(self, cached_input_tokens: u64) -> Self
Sets cached input token count.
Sourcepub fn with_cache_write_input_tokens(
self,
cache_write_input_tokens: u64,
) -> Self
pub fn with_cache_write_input_tokens( self, cache_write_input_tokens: u64, ) -> Self
Sets cache-write input token count.
Trait Implementations§
Source§impl Clone for TokenUsage
impl Clone for TokenUsage
Source§fn clone(&self) -> TokenUsage
fn clone(&self) -> TokenUsage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TokenUsage
impl Debug for TokenUsage
Source§impl Default for TokenUsage
impl Default for TokenUsage
Source§fn default() -> TokenUsage
fn default() -> TokenUsage
Returns the “default value” for a type. Read more
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
Source§impl PartialEq for TokenUsage
impl PartialEq for TokenUsage
Source§impl Serialize for TokenUsage
impl Serialize for TokenUsage
impl Eq 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