pub struct TokenUsage {
pub prompt_tokens: u64,
pub completion_tokens: u64,
pub request_count: u64,
pub session_start: Option<Instant>,
}Expand description
Token usage statistics for /cost command
Fields§
§prompt_tokens: u64Total prompt/input tokens
completion_tokens: u64Total completion/output tokens
request_count: u64Number of requests made
session_start: Option<Instant>Session start time
Implementations§
Source§impl TokenUsage
impl TokenUsage
pub fn new() -> Self
Sourcepub fn add_request(&mut self, prompt: u64, completion: u64)
pub fn add_request(&mut self, prompt: u64, completion: u64)
Add tokens from a request
Sourcepub fn estimate_tokens(text: &str) -> u64
pub fn estimate_tokens(text: &str) -> u64
Estimate token count from text (rough approximation: ~4 chars per token)
Sourcepub fn total_tokens(&self) -> u64
pub fn total_tokens(&self) -> u64
Get total tokens
Sourcepub fn session_duration(&self) -> Duration
pub fn session_duration(&self) -> Duration
Get session duration
Sourcepub fn estimate_cost(&self, model: &str) -> (f64, f64, f64)
pub fn estimate_cost(&self, model: &str) -> (f64, f64, f64)
Estimate cost based on model (rough estimates in USD) Returns (input_cost, output_cost, total_cost)
Sourcepub fn print_report(&self, model: &str)
pub fn print_report(&self, model: &str)
Print cost report
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
Auto Trait Implementations§
impl Freeze for TokenUsage
impl RefUnwindSafe for TokenUsage
impl Send for TokenUsage
impl Sync for TokenUsage
impl Unpin 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> 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.