pub struct TokenBudgetConfig {
pub period: BudgetPeriod,
pub limit: u64,
pub alert_thresholds: Vec<f64>,
pub enforce: bool,
pub rollover: bool,
pub burst_allowance: Option<f64>,
}Expand description
Token budget configuration for per-tenant usage tracking.
Budgets track cumulative token usage over a configurable period, with optional alerts and enforcement.
Fields§
§period: BudgetPeriodBudget period (when the budget resets)
limit: u64Total tokens allowed in the period
alert_thresholds: Vec<f64>Alert thresholds as percentages (e.g., [0.80, 0.90, 0.95]) Triggers alerts when usage crosses these thresholds
enforce: boolWhether to enforce the limit (block requests when exhausted)
rollover: boolAllow unused tokens to roll over to the next period
burst_allowance: Option<f64>Allow burst usage above limit as a percentage (soft limit) E.g., 0.10 allows 10% burst above the limit
Trait Implementations§
Source§impl Clone for TokenBudgetConfig
impl Clone for TokenBudgetConfig
Source§fn clone(&self) -> TokenBudgetConfig
fn clone(&self) -> TokenBudgetConfig
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 TokenBudgetConfig
impl Debug for TokenBudgetConfig
Source§impl Default for TokenBudgetConfig
impl Default for TokenBudgetConfig
Source§impl<'de> Deserialize<'de> for TokenBudgetConfig
impl<'de> Deserialize<'de> for TokenBudgetConfig
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
Auto Trait Implementations§
impl Freeze for TokenBudgetConfig
impl RefUnwindSafe for TokenBudgetConfig
impl Send for TokenBudgetConfig
impl Sync for TokenBudgetConfig
impl Unpin for TokenBudgetConfig
impl UnwindSafe for TokenBudgetConfig
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