TsgcWSCircuitBreaker › 属性 › TimeWindow
用于评估所有阈值的滚动窗口(宽度和桶数)。
property TimeWindow: TsgcCircuitBreakerWindow read FTimeWindow
write SetTimeWindow;
—
定义用于阈值评估的滑动窗口。窗口被划分为 BucketCount 个子桶,以便随着时间推移,旧计数平滑退出——每个子桶保存独立的成功/失败/慢速计数器,阈值检查始终仅对活跃桶求和。子属性:RollingWindowSec(滚动窗口的总宽度,单位秒,默认 60)和 BucketCount(子桶数量,默认 10)。更长的窗口可平滑噪音并避免因瞬态峰值触发;更短的窗口可更快响应故障。更多的子桶以略高的每跟踪键内存成本提供更平滑的退出。
// 30-second rolling window split into 6 buckets of 5 seconds each
sgcWSCircuitBreaker1.TimeWindow.RollingWindowSec := 30;
sgcWSCircuitBreaker1.TimeWindow.BucketCount := 6;