張貼日期: May 13, 2020

我們很高興地宣布在 Amazon CodeGuru Profiler 中新增 -javaagent 交換器,該交換器使客戶可以使用命令列啟動分析代理程式。有了這項新變更,讓您不必再修改應用程式的程式碼或新增相依性,即可執行代理程式。 

Amazon CodeGuru Profiler 可找出資源最密集的程式碼行,並以豐富的互動式視覺化形式,顯示您的應用程式使用位置。此外,它還根據已知的效能問題,在即時應用程式中查找效率低下的情況,並提供有關如何修復這些問題的建議。

現在,-javaagent 交換器的上架體驗可透過 2 步驟來完成:

  • 步驟 1 - 設定應用程式授權許可 
  • 步驟 2 - 使用 -javaagent 交換器 (下載代理程式的獨立 JAR 之後) 透過分析代理程式執行您的應用程式

使用 -javaagent 交換器啟動代理程式的主要好處是,您現在可在不重新編譯或變更程式碼的情況下,對現有應用程式進行分析,您無需將代理程式建置到其應用程式的 jar 中,也不必擔心不相容的 Amazon SDK 版本,您現在也可在各種託管環境中啟用分析。 

若您計畫使用以前的方式來啟動分析代理程式,您仍可從您的程式碼來啟動分析代理程式。當您想要進行自訂身份驗證、進行精確控制、設定自動相依性更新等時機,此功能相當實用。另外,您仍可使用這兩種方法來啟動分析代理程式,因為我們將提供 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 檢測 API 在呼叫任何應用程式的程式碼之前 (例如,在呼叫 main() 之前) 啟動分析工具。如此,該分析工具便會以命令列參數或環境變數來進行設定,無需變更來源碼。 

若要進一步了解有關 Amazon CodeGuru 的資訊,請參閱功能頁面。如需有關如何開始的詳細資訊,請瀏覽文件。如需有關使用 Amazon CodeGuru 自動執行程式碼審查和應用程式分析的詳細資訊,請查看 AWS ML 部落格。若要與服務團隊聯絡,請造訪 Amazon CodeGuru 開發人員論壇。