pub struct UsedTokens {
pub input_tokens: f64,
pub input_cached_tokens: f64,
pub input_cache_write_tokens: f64,
pub output_tokens: f64,
pub output_reasoning_tokens: f64,
}Expand description
Amount of used tokens for a model call.
Fields§
§input_tokens: f64Total amount of input tokens used.
input_cached_tokens: f64Amount of cached tokens used.
This is a subset of Self::input_tokens.
input_cache_write_tokens: f64Amount of cache write tokens used.
This is a subset of Self::input_tokens.
output_tokens: f64Total amount of output tokens.
output_reasoning_tokens: f64Total amount of reasoning tokens.
This is a subset of Self::output_tokens.
Implementations§
Source§impl UsedTokens
impl UsedTokens
Sourcepub fn from_span_data(data: &SpanData) -> Self
pub fn from_span_data(data: &SpanData) -> Self
Extracts UsedTokens from SpanData attributes.
Sourcepub fn raw_input_tokens(&self) -> f64
pub fn raw_input_tokens(&self) -> f64
Calculates the total amount of input tokens billed at the standard rate.
Both Self::input_cached_tokens and Self::input_cache_write_tokens are
subsets of Self::input_tokens and are billed separately at their own
(cached / cache-write) rates, so both are subtracted here to avoid charging
them twice.
Sourcepub fn raw_output_tokens(&self) -> f64
pub fn raw_output_tokens(&self) -> f64
Calculates the total amount of raw, non-reasoning output tokens.
Subtracts reasoning tokens from the total token count.
Trait Implementations§
Source§impl Clone for UsedTokens
impl Clone for UsedTokens
Source§fn clone(&self) -> UsedTokens
fn clone(&self) -> UsedTokens
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UsedTokens
impl Debug for UsedTokens
impl Copy for UsedTokens
Auto Trait Implementations§
impl Freeze for UsedTokens
impl RefUnwindSafe for UsedTokens
impl Send for UsedTokens
impl Sync for UsedTokens
impl Unpin for UsedTokens
impl UnsafeUnpin for UsedTokens
impl UnwindSafe for UsedTokens
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].