pub struct CostTracker { /* private fields */ }Expand description
Cost tracker (in-memory + persistent accounting hooks)
Implementations§
Source§impl CostTracker
impl CostTracker
pub fn new() -> Self
Sourcepub async fn record(&self, model: &str, usage: TokenUsage) -> Result<()>
pub async fn record(&self, model: &str, usage: TokenUsage) -> Result<()>
Record a cost from an LLM call
Sourcepub async fn summary(&self) -> CostSummary
pub async fn summary(&self) -> CostSummary
Get cost summary
Sourcepub async fn history(&self, days: usize) -> Vec<CostRecord>
pub async fn history(&self, days: usize) -> Vec<CostRecord>
Get cost history (with date filtering)
Sourcepub async fn update_rate_limits(&self, headers: &HeaderMap)
pub async fn update_rate_limits(&self, headers: &HeaderMap)
Update rate limit status from Anthropic API response headers
Sourcepub async fn get_rate_limits(&self) -> Option<RateLimitStatus>
pub async fn get_rate_limits(&self) -> Option<RateLimitStatus>
Get current rate limit status
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for CostTracker
impl !UnwindSafe for CostTracker
impl Freeze for CostTracker
impl Send for CostTracker
impl Sync for CostTracker
impl Unpin for CostTracker
impl UnsafeUnpin for CostTracker
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 more