已合并
merge_client_metrics #417
wangyibing创建于 7月29日
merge_client_metrics #417
已合并
Pull Request已成功合入, 合并人@zhangjinshi
(感谢 wangyibing 的贡献)7月29日 关联了issue:[Usage]: MemCache增加不依赖外部组件的可视化kv pool功能,当前SSD使用情况在用户面是黑盒状态
atomgit-bot
7月29日 评论:
7月29日 评论:
变更摘要
本 PR 将原先独立的 /metrics/client 端点合并到 /metrics 端点中,统一对外暴露 Prometheus 格式的 metrics 接口(对接 motor 需求)。核心改动包括:删除 /metrics/client HTTP 路由、将 BuildClientMetricsPrometheus 重构为私有方法 AppendClientMetrics 并嵌入 BuildPrometheusMetrics、统一去掉指标名中的 _client 前缀(如 memcache_client_bandwidth_bytes → memcache_bandwidth_bytes),以及为 MmcUbsIoProxy 增加 IsReady() 方法替代原有的空指针检查。
主要改动
- 合并 HTTP 端点:在
mmc_http_server.cpp中删除了/metrics/client路由及其 handler,client metrics 不再单独暴露,统一由/metrics返回。 - 重构 metrics 构建逻辑:在
mmc_rest_api_facade.h/.cpp中,将公有方法BuildClientMetricsPrometheus改为私有方法AppendClientMetrics(std::ostringstream&),并在BuildPrometheusMetrics末尾调用它,使 client metrics 嵌入主 metrics 输出流。 - 统一指标命名:所有 client 相关 Prometheus 指标去掉了
_client中缀,例如memcache_client_bandwidth_bytes变为memcache_bandwidth_bytes,memcache_client_metric_stale变为memcache_metric_stale,并同步更新了 Grafana dashboard JSON 示例文件中的所有expr与definition引用。 - UBS IO 就绪检查优化:在
mmc_ubs_io_proxy.h中新增IsReady()方法(返回started_成员),并在mmc_ubs_io_collector.cpp中将proxy == nullptr的空指针检查替换为!proxy->IsReady()的就绪状态检查。


ascend-robot
7月29日 评论:
7月29日 评论:
atomgit-bot
7月29日 评论:
7月29日 评论:
代码审查
Closing Summary
对全部 6 个变更文件的审查结论如下:
| 文件 | 结论 |
|---|---|
example/metrics/memcache_dashboard_client_metrics.json |
无问题 — 所有 metric 名称从 memcache_client_* 更名为 memcache_*,与 C++ 代码变更一致 |
src/memcache/csrc/client/metric/mmc_ubs_io_collector.cpp |
P1:空指针解引用 — proxy == nullptr 检查被移除但未补回 |
src/memcache/csrc/meta_service/mmc_http_server.cpp |
无问题 — /metrics/client 端点移除干净,无残留引用 |
src/memcache/csrc/meta_service/mmc_rest_api_facade.cpp |
无问题 — 客户端指标合并逻辑正确,stale/fresh 处理与旧行为一致 |
src/memcache/csrc/meta_service/mmc_rest_api_facade.h |
无问题 — #include <sstream> 必要,API 声明变更与实现一致 |
src/memcache/csrc/under_api/ubs_io/mmc_ubs_io_proxy.h |
无问题 — IsReady() 是简单 getter,无副作用 |
统计:P1 × 1,P0/P2/P3 × 0。
整体风险评估:中。 核心缺陷是 mmc_ubs_io_collector.cpp 中因删除空指针检查而引入的 crash 风险(OOM 场景触发)。建议在合入前修复该问题,其余变更逻辑正确、一致性好。
| 类型 | 数量 |
|---|---|
| 🔴 阻塞 | 1 |
| 🟡 建议 | 0 |
⛔ 需要修改


ascend-robot
7月29日 评论:
7月29日 评论:
流水线 PR-pipeline_memcache#1729 [ commitID:d8a9480e ] 已完成
| 阶段 | 任务名 | 状态 | 详情 |
|---|---|---|---|
| 编译构建 | Build_memcache | ✅ | >>> |
| 恶意代码检查 | Antipoison_memcache | ✅ | >>> |
| 编码安全与规范检查 | pre-commit | ✅ | >>> |
| CodeCheck_memcache | ✅ | >>> | |
| 开源片段检查 | SCA_memcache | ✅ | >>> |
| 开发者测试 | UT_memcache | ✅ | >>> |
| 流水线 | PR-pipeline_memcache | ✅ | >>> |
- compile : 运行流水线
- retry : 重试流水线所有失败子任务
- retry <任务名> : 仅重试指定失败子任务
- stop : 停止流水线


此处折叠了64条消息 查看更多
7月29日 将nbbb24设为评审人
7月29日 通过了评审
7月29日 将mrh1024设为评审人
7月29日 通过了评审
7月29日 合入了pull request
合入来源
问题/功能描述
motor对接
修改方案描述
是否涉及UT/ST
开发自检