pub struct CostTracker {
pub daily_spend: f64,
pub monthly_spend: f64,
pub budget_limits: BudgetLimits,
pub cost_alerts: Vec<CostAlert>,
pub usage_breakdown: UsageBreakdown,
}Expand description
Cost tracking and budget management
Fields§
§daily_spend: f64Current daily spend in USD
monthly_spend: f64Current monthly spend in USD
budget_limits: BudgetLimitsBudget limits configuration
cost_alerts: Vec<CostAlert>Active cost alerts
usage_breakdown: UsageBreakdownDetailed usage breakdown
Implementations§
Source§impl CostTracker
impl CostTracker
Sourcepub fn with_limits(daily_limit: Option<f64>, monthly_limit: Option<f64>) -> Self
pub fn with_limits(daily_limit: Option<f64>, monthly_limit: Option<f64>) -> Self
Create cost tracker with custom budget limits
Sourcepub fn update_spending(
&mut self,
daily_delta: f64,
monthly_delta: f64,
) -> Vec<CostAlert>
pub fn update_spending( &mut self, daily_delta: f64, monthly_delta: f64, ) -> Vec<CostAlert>
Update spending and check for alerts
§Panics
Panics if the system time is before the Unix epoch when creating alert timestamps.
Sourcepub fn reset_daily_spending(&mut self)
pub fn reset_daily_spending(&mut self)
Reset daily spending (typically called at day boundary)
Sourcepub fn reset_monthly_spending(&mut self)
pub fn reset_monthly_spending(&mut self)
Reset monthly spending (typically called at month boundary)
Sourcepub fn get_cost_efficiency_ratio(&self) -> f64
pub fn get_cost_efficiency_ratio(&self) -> f64
Get current cost efficiency ratio
Trait Implementations§
Source§impl Clone for CostTracker
impl Clone for CostTracker
Source§fn clone(&self) -> CostTracker
fn clone(&self) -> CostTracker
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 CostTracker
impl Debug for CostTracker
Source§impl Default for CostTracker
impl Default for CostTracker
Source§impl<'de> Deserialize<'de> for CostTracker
impl<'de> Deserialize<'de> for CostTracker
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
Source§impl PartialEq for CostTracker
impl PartialEq for CostTracker
Source§impl Serialize for CostTracker
impl Serialize for CostTracker
impl StructuralPartialEq for CostTracker
Auto Trait Implementations§
impl Freeze for CostTracker
impl RefUnwindSafe for CostTracker
impl Send for CostTracker
impl Sync for CostTracker
impl Unpin for CostTracker
impl UnwindSafe 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<C, E> EntryToVal<C> for Ewhere
C: Collection<Entry = E>,
impl<C, E> EntryToVal<C> for Ewhere
C: Collection<Entry = E>,
Source§type Val = <C as Collection>::Val
type Val = <C as Collection>::Val
The type of values stored in the collection. This might be distinct from
Entry in complex collections.
For example, in a HashMap, while Entry might be a ( key, value ) tuple, Val might only be the value part.Source§fn entry_to_val(self) -> <E as EntryToVal<C>>::Val
fn entry_to_val(self) -> <E as EntryToVal<C>>::Val
Converts an entry into a value representation specific to the type of collection. This conversion is crucial
for handling operations on entries, especially when they need to be treated or accessed as individual values,
such as retrieving the value part from a key-value pair in a hash map.
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> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<C, Val> ValToEntry<C> for Valwhere
C: CollectionValToEntry<Val>,
impl<C, Val> ValToEntry<C> for Valwhere
C: CollectionValToEntry<Val>,
Source§fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry
fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry
Invokes the val_to_entry function of the CollectionValToEntry trait to convert the value to an entry.
Source§type Entry = <C as CollectionValToEntry<Val>>::Entry
type Entry = <C as CollectionValToEntry<Val>>::Entry
Represents the type of entry that corresponds to the value within the collection.
Type
Entry is defined by the Collection trait.