게시된 날짜: May 13, 2020

AWS는 Amazon CodeGuru 프로파일러에 -javaagent 스위치를 추가했다고 발표했습니다. 고객은 이 스위치를 사용하여 명령줄을 사용해 프로파일링 에이전트를 시작할 수 있습니다. 이 변경에 따라 에이전트를 실행하기 위해 더 이상 애플리케이션의 코드를 수정하거나 종속성을 추가할 필요가 없습니다.  

Amazon CodeGuru 프로파일러는 가장 리소스 집약적인 코드 줄을 식별하고, 다양한 대화형 시각화 형태로 귀하의 애플리케이션이 시간을 소비하는 곳을 보여줍니다. 또한 알려진 성능 문제에 기반하여 실시간으로 애플리케이션의 비효율성을 찾고 해결 방법에 대한 권장 사항을 제공합니다.

-javaagent 스위치에 대한 온보딩 경험은 2단계로 완료됩니다.

  • 1단계 - 애플리케이션 권한 부여 권한 설정 
  • 2단계 - -javaagent 스위치를 사용하여 프로파일링 에이전트로 애플리케이션 실행(에이전트의 독립 실행형 JAR을 다운로드한 후)

-javaagent 스위치로 에이전트를 시작하면 재컴파일 또는 코드 변경 없이 기존 애플리케이션을 새로 프로파일링할 수 있고, 애플리케이션 jar에 에이전트를 구축할 필요가 없으며, 호환되지 않는 Amazon SDK 버전에 대해 염려하지 않아도 되고, 광범위한 호스팅 환경에서 프로파일링을 활성화할 수 있다는 주요 이점이 있습니다.  

예전의 방법으로 프로파일링 에이전트를 시작하려는 경우 이전처럼 코드에서 프로파일링 에이전트를 시작할 수 있습니다. 이는 사용자 지정 인증 및 보다 세분화된 제어를 사용하려고 하고 자동 종속성 업데이트를 설정하려는 경우에 유용합니다. 또한, AWS는 독립 실행형 Java 에이전트 JAR과 JAR 종속성(이전처럼 애플리케이션에 추가할 수 있음)의 두 가지 형태로 CodeGuru 프로파일러 Java 에이전트를 제공하므로 둘 중 하나로 프로파일링 에이전트를 시작할 수 있습니다. 

-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 프로파일러는 애플리케이션 코드가 호출되기 전에(예: main()이 호출되기 전) Java Instrumentation API를 사용하여 프로파일러를 시작합니다. 이런 식으로 프로파일러에 명령줄 파라미터 또는 환경 변수가 구성되어 있으므로 소스 코드를 변경할 필요가 없습니다. 

Amazon CodeGuru에 대한 자세한 내용은 기능 페이지를 참조하십시오. 시작하기 위한 자세한 내용은 설명서를 참조하십시오. Amazon CodeGuru를 사용하여 코드 검토 및 애플리케이션 프로파일링을 자동화하는 방법에 대한 자세한 내용은 AWS ML 블로그를 참조하십시오. 서비스 팀에 문의하려면 Amazon CodeGuru 개발자 포럼을 참조하십시오.