Amazon CodeGuuru를 해봤어요.

5340 단어 CodeGuruAWS
re:Invent 2019의 Keynote에는 자동 코드 검사/응용 프로그램 동작 모니터링 서비스를 소개하는 새로운 서비스가 속속 발표되었다.

두 개의 큰 서비스가 있지만 현재는 자바 응용 프로그램만 지원합니다.

CodeGuru Reviewer


지금까지 AWS의 모범 사례와 견해를 바탕으로 GiitHub과 CodeCommiit에 등록된 어플리케이션의 소스 코드를 검토하고 결과를 PullRequest로 공지합니다.

CodeGuru Profiler


Agent 를 설치하여 애플리케이션을 실행하면 CPU 사용률과 지연 시간 등 여러 항목에서 분석/시각화할 수 있으며 성능 문제가 있을 경우 자동으로 식별하여 수정 방법을 제시하는 서비스입니다.

비용도 상응하여 계획적으로 이용하다


비용은'$0.75 per 100lines of code scanned per month'입니다.100개의 선을 스캔하면 매달 0.75달러입니다.시간이 좀 걸려요.가격 인하를 기대하다.

쓰다


CodeGuru Reviewer


수중에 별다른 코드가 없기 때문에 이전에 제작된 다이나마이드 비버를 자바 앱을 대상으로 걸어보고 싶습니다.

GiitHub과 매우 간단하게 합작할 수 있습니다.로그인 후 한동안 기다렸지만 별다른 통지를 받지 못했다.FAQ에 따르면'지적할 것이 없으면 통지하지 않는다'.사용 방법이 잘못된 건지 지적되지 않은 건지...

CodeGuru Profiler



이런 느낌의 다이나모DB를 스캔한 웹 애플리케이션을 대상으로 분류해 봤다.
pom.xml과gradle 파일에 추가 기록이 필요합니다. 상기 프로그램은 Maven에서 구축되었기 때문에 다음 항목을 추가해야 합니다.
repositories의 정의
```xml
codeguru-profiler
codeguru-profiler
https://d1osg35nybn3tt.cloudfront.net

dependenciesの定義追加
```xml
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>codeguru-profiler-java-agent</artifactId>
            <version>0.1.0</version>
        </dependency>
또한 Main 방법에서도 설치가 필요합니다.홈페이지에 추가된 내용이 있지만 이번에는 다음과 같은 내용이 추가됐다.
import software.amazon.codeguruprofilerjavaagent.Profiler;


        new Profiler.Builder()
                .profilingGroupName("sample-profiling-group")
                .build().start();
이 상태에서 일정 시간 수행하고 작업한 후 다음 로그가 출력됩니다.
2019-12-04 08:48:25.781  INFO 38529 --- [Amazon-Profiler] s.a.c.ProfilingCommand                   : Attempting to report profile data: start=2019-12-03T23:43:24.789Z end=2019-12-03T23:48:25.781Z force=false memoryRefresh=false numberOfTimesSampled=301
2019-12-04 08:48:26.657  INFO 38529 --- [Amazon-Profiler] s.a.c.ProfilingCommand                   : Successfully reported profile
2019-12-04 08:53:28.626  INFO 38529 --- [Amazon-Profiler] s.a.c.ProfilingCommand                   : Attempting to report profile data: start=2019-12-03T23:48:28.300Z end=2019-12-03T23:53:28.625Z force=false memoryRefresh=false numberOfTimesSampled=300
2019-12-04 08:53:29.269  INFO 38529 --- [Amazon-Profiler] s.a.c.ProfilingCommand                   : Successfully reported profile
2019-12-04 08:58:31.283  INFO 38529 --- [Amazon-Profiler] s.a.c.ProfilingCommand                   : Attempting to report profile data: start=2019-12-03T23:53:31.011Z end=2019-12-03T23:58:31.283Z force=false memoryRefresh=false numberOfTimesSampled=300
2019-12-04 08:58:32.064  INFO 38529 --- [Amazon-Profiler] s.a.c.ProfilingCommand                   : Successfully reported profile
2019-12-04 09:03:33.529  INFO 38529 --- [Amazon-Profiler] s.a.c.ProfilingCommand                   : Attempting to report profile data: start=2019-12-03T23:58:33.396Z end=2019-12-04T00:03:33.528Z force=false memoryRefresh=false numberOfTimesSampled=300
2019-12-04 09:03:34.222  INFO 38529 --- [Amazon-Profiler] s.a.c.ProfilingCommand                   : Successfully reported profile
실제로 CodeGulu Profiiler를 보면 분석이 시작된 것 같아요.

대부분 org입니다.appache 등 프레임 부분이기 때문에 이를 배제하지 않으면 실제 설치 부분을 볼 수 없습니다.

"org.apchee.*"를 제외하면 Spring Framework의 내용은 아직 남아 있지만 어느 정도 볼 수 있습니다.CPU 사용률과 지연 관련 정보가 업로드되기 때문에 확인하면서 분류해야 한다.

총결산


별거 아닌 앱이라 AWS에 실린 것처럼 제대로 분석하지는 못했지만, 그래도 프로파일링의 시각화와 리뷰를 간단하게 할 수 있어 고마운 서비스다.그렇긴 하지만 비용도 비용이니 계획적으로 사용해야 한다.

좋은 웹페이지 즐겨찾기