Prhub

#39693 [Core][Metrics] Remove unused `SchedulerStats.encoder_cache_usage`

原始 PR 作者 markmc 合并时间 2026-04-15 00:53 文件变更 2 提交数 1 评论 2 代码增减 +0 / -10

执行摘要

移除调度器统计中未使用的编码器缓存使用率字段,清理无用代码。

PR #33452添加了encoder_cache_usage字段,但该指标未在任何地方向用户公开。根据PR body和Issue评论,作者markmc认为不应无限期保留可能未被使用的代码,特别是来自外部贡献者(如Meta)的指标。他指出,如果该指标对用户有价值,可以轻松重新添加并集成到Prometheus中。

该PR变更简单直接,适合快速浏览以了解代码清理决策。值得关注的是团队对未使用代码的处理原则:优先移除而非保留,强调指标应面向用户设计。

讨论亮点

Review中讨论较少,gemini-code-assist[bot]确认了变更内容,robertgshaw2-redhat直接批准。主要讨论在关联Issue中:DarkLight1337建议联系Meta确认是否仍需该字段,markmc回应不应仅因可能被某个分支使用而无限期保留代码,强调若指标有价值可重新添加并集成到Prometheus。

实现拆解

该PR删除了两个文件中的相关代码:

  1. vllm/v1/core/sched/scheduler.py:移除了make_stats方法中encoder_cache_usage的赋值,并删除了整个_get_encoder_cache_usage方法(共9行)。
  2. vllm/v1/metrics/stats.py:从SchedulerStats数据类中移除了encoder_cache_usage字段定义(1行)。
文件 模块 状态 重要度
vllm/v1/core/sched/scheduler.py core/scheduler modified 6.0
vllm/v1/metrics/stats.py metrics modified 5.0

关键符号

make_stats _get_encoder_cache_usage

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

是否应保留未使用的指标字段 设计

DarkLight1337 建议联系 Meta 确认需求,markmc 认为不应无限期保留可能未被使用的代码,强调指标应面向用户设计。

结论:决定移除字段,若未来有需求可重新添加并集成到 Prometheus。 · 已解决

风险与影响

风险较低:

  1. 该字段从未向用户公开,移除不会影响现有功能或API。
  2. 删除的是未使用的代码,不会引入回归问题。
  3. 若未来需要该指标,需重新实现并测试,但根据PR body描述可轻松完成。

影响范围有限:

  1. 对用户无影响,因为该字段未在用户可见的指标中暴露。
  2. 减少代码复杂度和维护负担,提升代码清晰度。
  3. 为未来指标设计提供空间,可重新添加更完善的Prometheus集成。
低风险变更 清理未使用代码

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论