[AWS] CodeGuruProfiler를 터치해 보세요.
5924 단어 AWS
※ Advent Calendar 2020은 HTC 팀원 5명
매일 투고가 바뀌기 때문에 시간이 있을 때 한번 보세요.
※ HTC 소개는 참조본 행사 1일차 투고.
나는 문과를 졸업한 SIER 신인이다.
이번에는 지난번 투고한 문장의 후속이다.
저번에 코드구루 리뷰어를 열어봤어요.
이번에는 Code Guru Profiler를 열어보겠습니다!
※ 다음은 지난번과 같은 절차입니다(웃음)
아마존 코드구루가 뭐예요?
Amazon CodeGuru는 기계 학습의 개발자 도구를 이용하여 스마트 조언을 제공하여 코드의 질을 향상시키고 응용 프로그램의 가장 비싼 코드 줄을 확정하는 것이다.(공식 문서 참조)
간단하게 말하면 개발자 인코딩/관리자가 원본의 질을 향상시켰다
그때 당신의 서비스를 도울 것입니다.
또한 CodeGuru는 Profiler 및 Reviewer 서비스(Security Detector를 새로운 기능으로 추가)로 구분됩니다.
Amazon CodeGuru Profiler
Amazon CodeGuru Reviewer
솔직히 텍스트에서는 이해가 안 되니까 "Now Go Build(지금 바로 제작)"!!
※ "Now Go Build"는 워너가 키노트에서 매년 하는 명작 w
준비물
아마존 CodeGuru Profiler 실천!
Step1: 분석 그룹 만들기
CodeGuruProfiler 콘솔 또는 CreateProfiking Group API에서 만들 수 있습니다!
※ 방법은 ①JVMエージェントを使用する(推奨らしい)
②コードにPlofilerを取り込む
두 가지입니다.
나는 ②에서 실시했다.
→ 자세한 내용은 Step 3
Step2: IAM 권한 부여
Plofiler Agent에서 사용하는 IAM User/Role에서 CodeGuru에 프로필 데이터를 전송할 수 있는 권한을 부여합니다.
분석 그룹을 생성할 때 콘솔의 다음 섹션에서 설정할 수 있습니다.
※ 웹 서버에 부여된 IAM Role을 지정했습니다.
할 수 있을 것 같다
이 설정에서 전진할 때 프로필 데이터를 보낼 수 없는 현상이 발생했습니다...
문제는 이 설정 부분에서 확인된 부분입니다. GUI가 선택한 Role이 제대로 부여되지 않았습니다!왜?w
따라서 IAMROLE에 직접 정책을 추가합니다!{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codeguru-profiler:ConfigureAgent",
"codeguru-profiler:PostAgentProfile"
],
"Resource": "arn:aws:codeguru-profiler:<region>:<accountID>:profilingGroup/<profilingGroupName>"
}
]
}
이런 느낌.이렇게 하면 마음이 놓인다.
Step3: 애플리케이션을 통한 프로비저닝 시작
Java 응용 프로그램을 업데이트하여 데이터를 수집하여 CodeGuruProfiler에 전송하려면
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codeguru-profiler:ConfigureAgent",
"codeguru-profiler:PostAgentProfile"
],
"Resource": "arn:aws:codeguru-profiler:<region>:<accountID>:profilingGroup/<profilingGroupName>"
}
]
}
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
...
<repositories>
<repository>
<id>codeguru-profiler</id>
<name>codeguru-profiler</name>
<url>https://d1osg35nybn3tt.cloudfront.net</url>
</repository>
</repositories>
...
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>codeguru-profiler-java-agent</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
...
</project>
import software.amazon.codeguruprofilerjavaagent.Profiler;
//省略
//main関数に以下を追加
new Profiler.Builder()
.profilingGroupName("2020bc-kokoda")
.awsCredentialsProvider(myAwsCredentialsProvider) // optional
.withHeapSummary(true) // optional - to start without heap profiling set to false or remove line
.build().start();
Step4: Profiler Agent 시작!
저의 경우 Codepipeline에 CI/CD 그룹이 있기 때문에 원격 저장소 (Bitbucket) 에서만push합니다.
Step5: Console에서 CodeGuru Profiler 확인!
※ 실행 중인 응용 프로그램의 스택 추적 샘플링 요약
시작 후 샘플링은 최대 15분이 소요됩니다.
이런 느낌.내가 보고 싶은 견해는 각양각색이다. 개인에게 맡겨라!
(얼마나 재미있게 놀았는지!)
지금까지 Code Guru Profiler였습니다!
총결산
Code Guru Profiler를 터치해 보세요. 생각한 점 아래.
· 어쨌든 자바 이외의 언어를 추가하고 싶다(드디어 파이썬만 할 줄 알았지만)...
· 이 샘플링은 지속가능한 수집, 유연성 가시화, 대응 가능!
이런 느낌.
어떻게 이 서비스를 업무 프로세스에 융합시켜 개발자와 관리자의 부담을 가볍게 줄일 수 있습니까
앞으로 생각해보고 싶어요!
이상입니다!
Reference
이 문제에 관하여([AWS] CodeGuruProfiler를 터치해 보세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/k-u2nomiya/items/df2770476e161c85c460
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([AWS] CodeGuruProfiler를 터치해 보세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/k-u2nomiya/items/df2770476e161c85c460텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)