pub struct CostObservation {
pub intent: String,
pub model: String,
pub tokens_approx: usize,
pub cost_usd: f64,
pub response_fingerprint: String,
pub recorded_at: Instant,
}Expand description
A single cost observation recorded for one inference call.
Fields§
§intent: StringFirst 64 chars of the prompt (intent key).
model: StringModel used.
tokens_approx: usizeApproximate token count (prompt_chars + response_chars) / 4.
cost_usd: f64Actual cost in USD (computed from tokens × model rate).
response_fingerprint: StringA simple fingerprint of the response (first 32 chars, lowercased).
recorded_at: InstantWhen this observation was recorded.
Trait Implementations§
Source§impl Clone for CostObservation
impl Clone for CostObservation
Source§fn clone(&self) -> CostObservation
fn clone(&self) -> CostObservation
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 moreAuto Trait Implementations§
impl Freeze for CostObservation
impl RefUnwindSafe for CostObservation
impl Send for CostObservation
impl Sync for CostObservation
impl Unpin for CostObservation
impl UnsafeUnpin for CostObservation
impl UnwindSafe for CostObservation
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
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request