发布于: May 13, 2020

我们很兴奋地宣布在 Amazon CodeGuru Profiler 中增加 -javaagent 开关,以让客户使用命令行启动分析代理。此次新更改后,您不再需要修改应用程序代码或添加依赖项才能运行代理。 

Amazon CodeGuru Profiler 可查找最占用资源的代码行,并以丰富、交互式可视化的形式显示应用程序将时间花在哪些方面。它还根据已知性能问题查找活动应用程序中的效率低下问题,并提供有关如何解决这些问题的建议。

-javaagent 开关的注册体验现在分 2 个步骤完成:

  • 步骤 1 - 设置应用程序授权权限,以及 
  • 步骤 2 - 使用 -javaagent 开关通过分析代理运行您的应用程序(下载代理的独立 JAR 之后)

使用 -javaagent 开关启动代理的主要益处包括,您现在可以分析现有的应用程序,而无需重新编译或更改代码,您无需将代理构建到应用程序 jar 中,您不必担心版本与 Amazon 开发工具包不兼容,以及您现在还可以在广泛的托管环境中启用分析。 

如果您计划采用以前的方式启动分析代理,您还可以从您的代码中启动分析代理。这在您希望拥有自定义身份验证、更精细的控制、设置自动依赖项更新等时很有用。同时,您还可以使用任一方法启动分析代理,因为我们将 CodeGuru Profiler Java 代理提供为独立的 Java 代理 JAR,以及可以像现在一样添加到您的应用程序中的 JAR 依赖项。 

要开始使用 -javaagent 命令行开关运行代理,您需要在启动基于 JVM 的应用程序时添加以下命令行开关:

-javaagent:AmazonCodeGuruJavaProfiler-1.0.jar=groupName=profiling-group-name

例如:

java -javaagent:AmazonCodeGuruJavaProfiler-1.0.jar=groupName=profiling-group-name \
-jar MyApplication.jar

CodeGuru Profiler 在后台使用 Java instrumentation API 在调用任何应用程序代码之前(例如,调用 main() 之前)启动分析器。用此方式,分析器将配置有命令行参数或环境变量,且不需要对源代码进行任何更改。 

如需了解更多关于 Amazon CodeGuru 的信息,请参阅功能页面。如需获得更多关于如何开始使用的细节,请访问文档。如需关于利用 Amazon CodeGuru 自动进行代码审核和应用程序分析的更多信息,请参阅 AWS ML 博客。要联系服务团队,请访问 Amazon CodeGuru 开发人员论坛。