一般性问题

问:什么是 Amazon CodeGuru?

Amazon CodeGuru 是一项完全托管的服务,它通过提供智能建议帮助您主动改善代码质量和应用程序性能。

问:Amazon CodeGuru 有什么用处?

Amazon CodeGuru 利用机器学习模型和学到的最佳实践提供智能建议,让您能改善代码质量并优化应用程序性能。Amazon CodeGuru 包括 CodeGuru Reviewer 和 CodeGuru Profiler。CodeGuru Reviewer 可分析代码存储库上的代码拉取请求,而 CodeGuru Profiler 可在您的应用程序运行时分析其性能。

CodeGuru Reviewer 能在代码审查期间自动提前检测会影响生产的代码问题,这可让您在问题进入到生产环境之前主动检测出问题,并改善应用程序的总体性能和质量。CodeGuru Profiler 可以确定您的应用程序何时消耗了过多 CPU 容量来记录例程而不是执行核心业务逻辑。CodeGuru Profiler 设计为在生产环境中连续分析应用程序的性能,其占用空间极小。

问:如何开始使用 Amazon CodeGuru?

Amazon CodeGuru 现已面向公众推出预览版。您现在就可以在 Amazon CodeGuru 控制台中开始使用。

要开始使用 Amazon CodeGuru Reviewer,请登录 CodeGuru Reviewer 控制台,然后可以关联 GitHub 或 AWS CodeCommit 上的现有代码存储库。完成一次性设置后,CodeGuru Reviewer 会开始分析代码,并直接在拉取请求或代码存储库中提供代码改进建议。

您也可以在几分钟内开始分析应用程序。要开始使用 Amazon CodeGuru Profiler,请登录 CodeGuru Profiler 控制台,然后可以配置应用程序。按照分步说明和 CodeGuru Profiler 提供的代码在应用程序中安装一个不易察觉的小代理程序。您可以让 CodeGuru Profiler 连续运行,以便它主动找出运行中的应用程序的性能问题。

问:哪些 AWS 区域提供 Amazon CodeGuru?

要了解支持该服务的 AWS 区域,请访问所有 AWS 全球基础设施的 AWS 区域表。有关更多信息,请参阅“AWS 一般参考”中的区域和终端节点

Amazon CodeGuru Reviewer

问:什么是 Amazon CodeGuru Reviewer?

Amazon CodeGuru Reviewer 是一项自动代码审查服务,能确定基于 Java 的代码中的关键缺陷和偏离 AWS 最佳实践之处。它对拉取请求或代码存储库中的代码行进行扫描,并根据从各大开源项目和 Amazon 代码库中学到的标准提供智能建议。CodeGuru Reviewer 可与广泛使用的源代码控制系统(例如 AWS CodeCommit 和 GitHub)上的现有代码审查工作流程无缝集成,并提供用于改善代码质量的可行建议。

问:支持哪些编程语言和源代码存储库?

Amazon CodeGuru Reviewer 目前支持 GitHub 和 AWS CodeCommit 存储库中存储的 Java 代码。

问:Amazon CodeGuru Reviewer 检测哪种类型的问题?

Amazon CodeGuru Reviewer 会检查并发性问题、可能的争用状况、未经净化的输入、对敏感数据(如凭证)进行的不当处理、资源泄漏,还会检测并发代码中的争用状况。

问:如何开始使用 Amazon CodeGuru Reviewer?

访问 Amazon CodeGuru 控制台,将 CodeGuru Reviewer 的建议直接整合到代码拉取请求中。要开始使用,您可以访问 CodeGuru 控制台,然后按照步骤关联 AWS CodeCommit 和 GitHub 存储库,以便开始接收 CodeGuru Reviewer 的建议。CodeGuru Reviewer 需要只读访问权限以及在拉取请求上添加注释的能力。启用后,CodeGuru Reviewer 将以注释形式自动在为连接的存储库生成的拉取请求上提供智能建议。

问:Amazon CodeGuru Reviewer 如何访问我的代码?

为了生成建议,Amazon CodeGuru Reviewer 需要获得代码的只读访问权限。您的信任、隐私和内容的安全性是我们最重视的问题,我们会采取适当的控制措施(包括传输中加密)来防止他人未经授权访问或披露您的内容,并确保我们依照对您的承诺来使用您的内容。有关更多信息,请参阅数据隐私常见问题

问:Amazon CodeGuru Reviewer 是否会保存我的代码副本?

否,Amazon CodeGuru Reviewer 不会存储您的源代码。

问:Amazon CodeGuru Reviewer 如何接受训练以便提供智能建议?

Amazon CodeGuru Reviewer 使用规则挖掘和监督机器学习模型(结合使用逻辑回归和神经网络)进行训练。

例如,在进行与确定偏离 AWS 和业界最佳实践之处相关的训练时,CodeGuru Reviewer 会使用搜索技术和针对拉取请求(包含 AWS API 调用)的位置敏感模型挖掘 Amazon 代码库。它会查看旨在改善代码质量的代码更改,并针对文档数据交叉引用这些更改。最终将创建一组新规则,而 Reviewer 会在审查您的代码时将这组规则作为最佳实践推荐给您。

在进行与资源和敏感数据泄漏有关的训练时,它会全面分析代码以确定所有使用资源或敏感数据的代码路径,并创建代表这些路径的功能集,然后将其用作逻辑回归模型和卷积神经网络 (CNN) 的输入。

对于基于规则和基于机器学习的模型,CodeGuru Reviewer 使用您提供的反馈作为标签,并反复改善代码检测器的质量。

Amazon CodeGuru Profiler

问:什么是 Amazon CodeGuru Profiler?

Amazon CodeGuru Profiler 可帮助开发人员轻松了解应用程序的运行时行为,改善性能,并降低计算成本。CodeGuru Profiler 可分析应用程序的运行时概况,并提供智能建议和可视化图表,以指导开发人员改善代码中最相关部分的性能。

问:我已在代码中加入了大量的日志记录和调试功能。是否还需要执行分析?

虽然“自上而下”(日志记录和调试)监控方法是很好的做法,但它对于代码效率分析并不实用。日志记录的执行时间仅适合有限的场景,而且执行日志记录非常费时。“自下而上”运行时监控消除了此类不足,具体而言:Amazon CodeGuru Profiler 设计为不管在何种情况下都会收集与该应用程序的一切行为有关的数据。CodeGuru Profiler 使用包含常见性能低下问题的知识库自动分析运行中的应用程序,以发现影响其性能的代码模式。开发人员随后可以按照提供的建议来修复问题。

问:CodeGuru Profiler 与传统的 APM 和独立分析程序有何不同?

传统的 APM 提供有关监控、跟踪和应用程序性能的有用数据。Amazon CodeGuru Profiler 将应用程序的运行时数据可视化,并提供与其发现的性能问题有关的可行建议,从而对这些 APM 功能进行了补充。借助 CodeGuru Profiler,您无需具备深厚的性能工程背景,即可轻松查看最有可能优化性能的代码部分和获得有关如何改进这些部分的指导。此外,某些独立分析程序设计为仅在测试环境下运行,而 CodeGuru Profiler 设计为在生产环境中的生产流量负载下连续运行,而且不会影响应用程序。这在排查生产环境中的操作问题时(包括在祼主机上运行时)很有用。

问:我可以分析哪些类型的应用程序?

Amazon CodeGuru Profiler 适用于在 Amazon EC2 上托管的应用程序、在 Amazon ECS 和 Amazon EKS 上运行的容器化应用程序,以及在 AWS Fargate 上运行的无服务器应用程序。

问:支持哪些编程语言?

Amazon CodeGuru Profiler 目前支持 Java 应用程序。

问:CodeGuru Profiler 如何工作?

CodeGuru Profiler 包含三部分:代理、分析程序服务和智能建议。代理作为应用程序中的进程内线程运行。它从运行代理的每个服务实例中获取数据,然后每 5 分钟向分析程序服务发送一次数据,之后,该服务将聚合这些数据。CodeGuru Profiler 随后会在交互式火焰图中发布概况数据,让您能直观查看应用程序的性能。CodeGuru Profiler 还会持续扫描已分析的数据,并将其与 Amazon 和性能工程最佳实践进行对比。如果发现性能问题,它会通过提供智能建议主动提醒您注意问题。

问:什么是分析组?

分析组是您创建的逻辑分组。它代表一个应用程序的界限。例如,在微服务架构中,分析组将聚合您分配给它的微服务的概况,然后为所有这些服务产生一个概况。

Product-Page_Standard-Icons_01_Product-Features_SqInk
了解有关定价的更多信息

访问 Amazon CodeGuru 定价页面。

了解更多 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
注册免费账户

立即享受 AWS 免费套餐。 

注册 
Product-Page_Standard-Icons_03_Start-Building_SqInk
开始在控制台中构建

在 AWS 管理控制台中,使用 Amazon CodeGuru 开始构建。

登录