发布于: Aug 26, 2022

 

Amazon CodeGuru 是基于机器学习技术构建的一款开发人员使用的机器学习开发平台,通过该平台可以对您的代码质量进行分析,发现执行成本最高的代码行

 

Amazon CodeGuru 是基于机器学习技术构建的一款开发人员使用的机器学习开发平台,通过该平台可以对您的代码质量进行分析,发现执行成本最高的代码行。同时您可以将 Amazon CodeGuru 集成到现有的软件开发工作流程中,实现智能代码审查功,代码性能检测和优化执行成本高的代码行,从而实现降低成本的目的。 Amazon CodeGuru 包含以下两个组件: Amazon CodeGuru Profiler 可帮助开发人员找到应用程序中最昂贵的代码行,以及有关如何改进代码以节省成本的特定可视化内容和建议。这个也是本篇文章介绍的重点。 Amazon CodeGuru Reviewer 使用机器学习来识别应用程序开发过程中的严重问题和难以发现的错误,从而提升代码质量。

 

如果您需要使用 Amazon CodeGuru profiler ,当前可以通过 java agent 或者 sdk 的方式集成到您现有的代码中。通过集成您可以获取应用程序的实时运行性能数据,然后将收集到的数据通过图形的方式进行展示,同时根据采集的数据然后结合机器学习算法,Amazon CodeGuru Profiler 可以帮助您找到执行最昂贵的代码行,并给出提高效率和消除 CPU 瓶颈的方法。 在这篇文章中,我将向您介绍两个增强功能,此次的新特性能够让您已更简单,更快速的方式将 CodeGuru Profiler 功能与您的应用集成:

  • 基于资源的授权:您可以使用基于资源权限的方式,授权您的代码用于上传性能分析数据,这样您就不用手动配置 Amazon Web Services Identity and Access Manager(IAM)权限到代码中。如果您的 IAM 中已存在程序的运行角色或者用户,只需要在 CodeGuru Profiler 控制台上选择相应的角色或者用户即可。
  • 通过命令行方式启动 Profiler 代理:现在在您可以直接使用 -javaagent 参数来启动支持 JVM 的程序或者容器(比如 Java,Scala,Tomcat),而不需要修改代码并重新编译代码或者设置依赖的方式来启动 Profiler 代理用于性能数据采集。您只需要下载 CodeGuru Profiler 对应的 jar 包 ,然后将 -javaagent 参数添加到命令行并运行(只需要在您原有的 java -jar 命令增加 -javaagent:codeguru-profiler-java-agent-standalone-1.0.0.jar 即可)。整个过程只需几分钟即可完成。
 

CodeGuru Profiler 旨在以最小的 CPU 开销在生产环境中运行,以帮助您提高应用程序的性能并降低基础架构成本。使用 CodeGuru Profiler,您可以获得以下收益:

  • 便于解决应用程序中的延迟和 CPU 利用率问题
  • 识别应用程序性能问题
  • 通过获取运行成本最高的代码行并给出相关优化建议,从而便于降低您应用程序在基础架构上的运行成本

CodeGuru Profiler 可以运行在包括 Amazon 弹性计算云(Amazon EC2)上的应用程序、运行在 Amazon Web Services Fargate 和 Amazon Web Services Lambda 上的无服务器应用程序, Amazon 弹性容器服务(Amazon ECS) 和 Amazon 弹性 Kubernetes 服务(Amazon EKS)上运行的容器化应用程序等,同时 Cod Guru Profiler 还可以在本地运行。它目前支持所有可运行在 Java 虚拟机(JVM)中的编程语言所编写的应用程序,比如如 Java、Kotlin 和 Scala。下面的例子我们将以 java 语言编写的代码进行演示。

 

相关文章