Amazon CodeGuru - Runbook 与参考¶
English · GitHub source 事实核对时间(对照 AWS 官方文档):2026-08-19
概述¶
Amazon CodeGuru 是机器学习服务,包含两个能力:CodeGuru Reviewer 分析代码中的缺陷和安全问题,CodeGuru Profiler 在运行时定位最昂贵的代码行。注意:自 2025 年 11 月 7 日起,无法再在 CodeGuru Reviewer 中创建新的仓库关联;现有功能和类似能力的替代服务见 AWS 公告。
核心概念¶
- CodeGuru Reviewer:使用程序分析和机器学习检测 Java 和 Python 代码中的复杂缺陷并提出改进建议(资源泄漏、安全问题、最佳实践);集成 GitHub、Bitbucket 和 S3(通过 GitHub Actions)。
- 密钥检测:Reviewer 可发现代码中未受保护的密钥,并与 AWS Secrets Manager 集成。
- CodeGuru Profiler:在生产环境对应用进行性能剖析,可视化性能,定位最昂贵的代码行和低效路径;有助于降低成本与延迟。
- 可用性变化:Reviewer 不再支持新的仓库关联(2025 年 11 月 7 日起);类似能力的替代服务见 AWS 公告。
常用操作(AWS CLI)¶
# CodeGuru Profiler:创建剖析组并查看结果
aws codeguruprofiler create-profiling-group --profiling-group-name prod-app
aws codeguruprofiler list-profile-times --profiling-group-name prod-app \
--start-time 2026-08-18T00:00:00Z --end-time 2026-08-19T00:00:00Z
aws codeguruprofiler get-policy --profiling-group-name prod-app
# Reviewer(现有关联):列出代码评审
aws codeguru-reviewer list-code-reviews --type RepositoryAnalysis
aws codeguru-reviewer describe-code-review --code-review-arn <review-arn>
最佳实践¶
- 在仍可用处让 Reviewer 在 pull request 上运行,使建议进入评审流程。
- 合并前修复高置信度建议(安全、资源泄漏);跟踪建议积压。
- 生产环境持续运行 Profiler,捕获回归和昂贵代码路径;剖析有代表性的流量。
- IAM 最小权限:剖析代理与控制台访问使用独立角色。
- 监控 profiler 结果,为性能回归设置告警。
- 需要超出现有 Reviewer 关联的仓库分析时,遵循 AWS 的替代服务指引。
故障排查¶
| 症状 | 检查与处理 |
|---|---|
| 没有建议 | 检查仓库关联状态、受支持语言(Java/Python)和评审范围。 |
| 无法创建仓库关联 | 新关联自 2025 年 11 月 7 日起不再支持;使用文档化的替代方案。 |
| Profiler 无数据 | 核对代理已安装/运行,IAM 允许 codeguruprofiler:PostAgentProfile。 |
| profile 时间为空 | 确认剖析组名称和时间范围。 |
| 建议噪声大 | 聚焦高置信度/安全检测器,建立带负责人的积压清单。 |
配额¶
每账户剖析组数、profile 保留期和 API 请求速率有限制;Reviewer 可用性受已公布的服务变更影响。以 Amazon CodeGuru 端点和配额页面为准。