pub struct ProviderUsageComponents {
pub input_tokens: Option<u64>,
pub output_tokens: Option<u64>,
pub cache_read_input_tokens: Option<u64>,
pub cache_creation_input_tokens: Option<u64>,
pub reasoning_tokens: Option<u64>,
}Expand description
Provider-specific usage components before normalization.
Fields§
§input_tokens: Option<u64>Provider input/prompt tokens.
output_tokens: Option<u64>Provider output/completion tokens.
cache_read_input_tokens: Option<u64>Input tokens read from a provider cache.
cache_creation_input_tokens: Option<u64>Input tokens written to a provider cache.
reasoning_tokens: Option<u64>Output reasoning tokens, when the provider exposes the breakdown.
Implementations§
Source§impl ProviderUsageComponents
impl ProviderUsageComponents
Sourcepub const fn new(input_tokens: u64, output_tokens: u64) -> Self
pub const fn new(input_tokens: u64, output_tokens: u64) -> Self
Build the common input/output portion of a usage snapshot.
Sourcepub fn merge_snapshot(&mut self, next: &Self)
pub fn merge_snapshot(&mut self, next: &Self)
Merge a provider snapshot without double-counting repeated stream updates.
Sourcepub fn normalize(
&self,
provider: &str,
rule: ProviderUsageRule,
) -> ProviderUsage
pub fn normalize( &self, provider: &str, rule: ProviderUsageRule, ) -> ProviderUsage
Normalize components using the provider’s documented accounting rule.
Trait Implementations§
Source§impl Clone for ProviderUsageComponents
impl Clone for ProviderUsageComponents
Source§fn clone(&self) -> ProviderUsageComponents
fn clone(&self) -> ProviderUsageComponents
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 moreSource§impl Debug for ProviderUsageComponents
impl Debug for ProviderUsageComponents
Source§impl Default for ProviderUsageComponents
impl Default for ProviderUsageComponents
Source§fn default() -> ProviderUsageComponents
fn default() -> ProviderUsageComponents
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ProviderUsageComponents
impl<'de> Deserialize<'de> for ProviderUsageComponents
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 ProviderUsageComponents
Source§impl PartialEq for ProviderUsageComponents
impl PartialEq for ProviderUsageComponents
Source§impl Serialize for ProviderUsageComponents
impl Serialize for ProviderUsageComponents
impl StructuralPartialEq for ProviderUsageComponents
Auto Trait Implementations§
impl Freeze for ProviderUsageComponents
impl RefUnwindSafe for ProviderUsageComponents
impl Send for ProviderUsageComponents
impl Sync for ProviderUsageComponents
impl Unpin for ProviderUsageComponents
impl UnsafeUnpin for ProviderUsageComponents
impl UnwindSafe for ProviderUsageComponents
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