将 logprob 组装逻辑从 Mixin 迁移到独立组件
建议快速合并。该 PR 是调度器解耦系列中简单且安全的一步,开发者可以重点关注其如何将静态方法迁移为实例方法并简化调用接口的设计模式。
SGLang is a high-performance serving framework for large language models and multimodal models.
将 logprob 组装逻辑从 Mixin 迁移到独立组件
建议快速合并。该 PR 是调度器解耦系列中简单且安全的一步,开发者可以重点关注其如何将静态方法迁移为实例方法并简化调用接口的设计模式。
为 logprob 状态创建独立处理器组件
建议合并后关注后续 PR(#25633 等)以了解完整迁移脉络。本次重构模式值得借鉴:先引入空数据类作为状态容器、再转换方法签名、最后通过提交链物理移动代码。
将空闲指标日志移至 MetricsReporter 组件
作为重构序列中的一环,推荐阅读以理解团队如何将大混入类拆解为细粒度组件。`SchedulerMetricsReporter` 中的 `_maybe_log_idle_metrics` 方法展示了组件如何通过 `self.scheduler` 反向引用调度器状态,是一种常见的组件交互模式。
将指标报告从SchedulerMetricsMixin迁移到SchedulerMetricsReporter
值得精读。该 PR 展示了如何通过系统化的机械操作安全地将职责从大型 Mixin 中剥离,同时保持行为不变。重点关注: - `@staticmethod` 转为实例方法时的签名简化 - 调用点替换模式(`self.method_A(reporter, ...)` → `reporter.method_A(...)`) - 测试从继承 mixin 的桩类迁移为直接构造目标组件
引入指标记者组件并重构度量状态路由
建议精读该PR以理解SGLang调度器重构的策略和实践。重点关注如何通过`@staticmethod`将mixin方法转换为静态方法并显式传入reporter实例,从而实现逐步剥离。此设计可以推广到其他类似的重构场景。
将队列负载查询逻辑迁移到独立组件
值得精读,以理解如何将静态辅助方法从混入类迁移到组合组件,同时保持调用方最小改动。该模式可推广到其他混入类。
创建 SchedulerLoadInquirer 组件并重构队列负载查询方法
值得精读,展示了在大型类中安全提取组件的典型做法:先创建轻量容器类(dataclass + callable injection),原地修改方法签名,保证可逆性。可与同一重构链的 PR #25628、#25629 等结合理解完整迁移过程。
将 KV-cache 事件发射从 Mixin 迁移到独立组件
值得精读,作为大规模解耦重构的典型模式示范:通过机械性剪切粘贴将职责从 Mixin 转移到独立组件,保持方法体不变,大幅降低回归风险。后续开发者可参考此模式继续分解调度器模块。
参与讨论