pub struct KeyUsageStats {
pub total_requests: u64,
pub total_tokens: u64,
pub total_cost: f64,
pub requests_today: u32,
pub tokens_today: u32,
pub cost_today: f64,
pub unpriced_requests: u64,
pub unpriced_tokens: u64,
pub unpriced_cost: f64,
pub last_unpriced_at: Option<DateTime<Utc>>,
pub last_reset: DateTime<Utc>,
}Expand description
Usage statistics for an API key
Fields§
§total_requests: u64Total requests made with this key
total_tokens: u64Total tokens consumed
total_cost: f64Total cost incurred
requests_today: u32Requests today
tokens_today: u32Tokens today
cost_today: f64Cost today
unpriced_requests: u64Total unpriced requests recorded with this key
unpriced_tokens: u64Total tokens recorded from unpriced requests
unpriced_cost: f64Total fallback or zero-cost amount recorded from unpriced requests
last_unpriced_at: Option<DateTime<Utc>>Last time an unpriced usage record was seen
last_reset: DateTime<Utc>Last reset date (for daily counters)
Implementations§
Source§impl KeyUsageStats
impl KeyUsageStats
Sourcepub fn record_usage(&mut self, tokens: u64, cost: f64)
pub fn record_usage(&mut self, tokens: u64, cost: f64)
Record usage
Sourcepub fn record_usage_record(&mut self, record: &UsageRecord)
pub fn record_usage_record(&mut self, record: &UsageRecord)
Record usage from an explicit usage write record.
Sourcepub fn reset_daily_if_needed(&mut self)
pub fn reset_daily_if_needed(&mut self)
Reset daily counters if needed
Trait Implementations§
Source§impl Clone for KeyUsageStats
impl Clone for KeyUsageStats
Source§impl Debug for KeyUsageStats
impl Debug for KeyUsageStats
Source§impl Default for KeyUsageStats
impl Default for KeyUsageStats
Source§impl<'de> Deserialize<'de> for KeyUsageStats
impl<'de> Deserialize<'de> for KeyUsageStats
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
Auto Trait Implementations§
impl Freeze for KeyUsageStats
impl RefUnwindSafe for KeyUsageStats
impl Send for KeyUsageStats
impl Sync for KeyUsageStats
impl Unpin for KeyUsageStats
impl UnsafeUnpin for KeyUsageStats
impl UnwindSafe for KeyUsageStats
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
Source§impl<T> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
Source§impl<T> CacheValue for T
impl<T> CacheValue for T
Source§fn from_bytes(bytes: &[u8]) -> Result<T, CacheError>
fn from_bytes(bytes: &[u8]) -> Result<T, CacheError>
Deserialize from bytes
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.