Amazon CodeGuru 即将停用2019年〜
利用机器学习提升代码质量和优化应用程序性能的服务
它能做什么
Amazon CodeGuru 是一项利用机器学习自动审查代码并分析应用程序运行时性能的服务。CodeGuru Reviewer 检测代码中的缺陷、安全漏洞和最佳实践违规。CodeGuru Profiler 分析生产环境中应用程序的 CPU 和内存使用情况,识别性能瓶颈。
使用场景
用于拉取请求时的自动代码审查、检测安全漏洞和资源泄漏、识别生产环境中的性能瓶颈、优化 Lambda 函数的执行时间和内存使用等。帮助开发团队在不增加人力的情况下提高代码质量。
日常类比
可以将其比作经验丰富的高级工程师。Reviewer 就像一位阅读过数百万行代码的资深工程师审查您的代码,指出潜在问题。Profiler 就像一位性能专家持续监控应用程序的运行状况,告诉您“这个方法消耗了 40% 的 CPU”。
什么是 CodeGuru
Amazon CodeGuru 是一项利用机器学习支持代码质量提升和性能优化的服务。由两个组件构成:分析源代码的 CodeGuru Reviewer 和分析运行时性能的 CodeGuru Profiler。基于 Amazon 内部多年积累的代码审查和性能优化经验训练的 ML 模型提供建议。
CodeGuru Reviewer 的功能
CodeGuru Reviewer 与 GitHub、CodeCommit、Bitbucket 等代码仓库集成,在拉取请求时自动分析代码变更。检测并发问题、资源泄漏、输入验证不足等难以通过人工审查发现的问题。支持 Java 和 Python,以行内注释的形式提供具体的改进建议。 关于 CodeGuru Reviewer 的活用方法,也可以参考相关书籍(Amazon)。
CodeGuru Profiler 的功能
CodeGuru Profiler 以极低的开销持续收集应用程序的 CPU 和内存使用数据。通过火焰图可视化哪些方法消耗了最多资源,并提供具体的优化建议。支持在 EC2、ECS、Lambda 等环境中运行的 Java 和 Python 应用程序。
注意事项
- CodeGuru Reviewer 目前主要支持 Java 和 Python,其他语言的支持有限
- AWS 已宣布 CodeGuru 的部分功能将整合到 Amazon Q Developer 中,建议关注迁移计划