pub struct ModelUsage {
pub input_tokens: u64,
pub output_tokens: u64,
pub reasoning_tokens: u64,
pub cached_input_tokens: u64,
pub cache_write_tokens: u64,
pub cost_microusd: u64,
}Expand description
Detailed usage reported by a model provider.
Fields§
§input_tokens: u64Input tokens.
output_tokens: u64Output tokens.
reasoning_tokens: u64Reasoning tokens, when reported separately.
cached_input_tokens: u64Input tokens served from provider cache.
cache_write_tokens: u64Input tokens written to provider cache.
cost_microusd: u64Estimated or reported cost in micro-US-dollars.
Implementations§
Source§impl ModelUsage
impl ModelUsage
Sourcepub fn total_tokens(self) -> u64
pub fn total_tokens(self) -> u64
Returns total model tokens without double-counting usage details.
Reasoning tokens are normally a subset of output tokens, just as cached tokens are a subset of input tokens.
Trait Implementations§
Source§impl Clone for ModelUsage
impl Clone for ModelUsage
Source§fn clone(&self) -> ModelUsage
fn clone(&self) -> ModelUsage
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ModelUsage
Source§impl Debug for ModelUsage
impl Debug for ModelUsage
Source§impl Default for ModelUsage
impl Default for ModelUsage
Source§fn default() -> ModelUsage
fn default() -> ModelUsage
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ModelUsage
impl<'de> Deserialize<'de> for ModelUsage
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 ModelUsage
Source§impl From<ModelUsage> for Usage
impl From<ModelUsage> for Usage
Source§fn from(value: ModelUsage) -> Self
fn from(value: ModelUsage) -> Self
Converts to this type from the input type.
Source§impl PartialEq for ModelUsage
impl PartialEq for ModelUsage
Source§impl Serialize for ModelUsage
impl Serialize for ModelUsage
impl StructuralPartialEq for ModelUsage
Auto Trait Implementations§
impl Freeze for ModelUsage
impl RefUnwindSafe for ModelUsage
impl Send for ModelUsage
impl Sync for ModelUsage
impl Unpin for ModelUsage
impl UnsafeUnpin for ModelUsage
impl UnwindSafe for ModelUsage
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