pub struct PerformanceMetrics {
pub total_queries: u64,
pub successful_queries: u64,
pub failed_queries: u64,
pub consecutive_failures: u32,
pub avg_latency: Duration,
pub last_success_time: Option<Instant>,
pub last_failure_time: Option<Instant>,
pub cdn_accuracy_score: f64,
}Expand description
上游服务器性能指标
Fields§
§total_queries: u64总查询次数
successful_queries: u64成功查询次数
failed_queries: u64失败查询次数
consecutive_failures: u32连续失败次数
avg_latency: Duration平均延迟
last_success_time: Option<Instant>最后成功时间
last_failure_time: Option<Instant>最后失败时间
cdn_accuracy_score: f64CDN准确性评分 (0.0-1.0)
Implementations§
Source§impl PerformanceMetrics
impl PerformanceMetrics
Sourcepub fn success_rate(&self) -> f64
pub fn success_rate(&self) -> f64
计算成功率
Sourcepub fn failure_rate(&self) -> f64
pub fn failure_rate(&self) -> f64
计算失败率
Sourcepub fn is_available(&self) -> bool
pub fn is_available(&self) -> bool
是否可用(基于连续失败次数)- 修正术语,更准确描述服务器可用性
Sourcepub fn latency_grade(&self) -> &'static str
pub fn latency_grade(&self) -> &'static str
获取延迟等级描述
Sourcepub fn record_success(&mut self, latency: Duration, cdn_accurate: bool)
pub fn record_success(&mut self, latency: Duration, cdn_accurate: bool)
更新成功查询指标
Sourcepub fn record_failure(&mut self)
pub fn record_failure(&mut self)
更新失败查询指标
Sourcepub fn overall_score(&self) -> f64
pub fn overall_score(&self) -> f64
获取综合评分 (0.0-1.0)
Trait Implementations§
Source§impl Clone for PerformanceMetrics
impl Clone for PerformanceMetrics
Source§fn clone(&self) -> PerformanceMetrics
fn clone(&self) -> PerformanceMetrics
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 PerformanceMetrics
impl Debug for PerformanceMetrics
Auto Trait Implementations§
impl Freeze for PerformanceMetrics
impl RefUnwindSafe for PerformanceMetrics
impl Send for PerformanceMetrics
impl Sync for PerformanceMetrics
impl Unpin for PerformanceMetrics
impl UnsafeUnpin for PerformanceMetrics
impl UnwindSafe for PerformanceMetrics
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