문서 애플리케이션
이 페이지에서는 Cloud Shell을 사용하여 GitHub golang-samples/profiler 저장소에서 샘플을 다운로드하고 실행하는 방법을 설명합니다. Google Cloud 외부에서 이러한 샘플을 실행할 수도 있습니다. 이러한 경우에 필요한 추가 구성 단계는 Google Cloud 외부에서 실행되는 애플리케이션 프로파일링을 참조하세요.
이 프로그램을 실행하면 Cloud Profiler 인터페이스의 기능을 탐색하는 데 사용할 수 있는 프로파일링 데이터를 빠르게 만들 수 있습니다. 이러한 샘플의 복사본을 수정하고 다시 배포한 후 Cloud Profiler 인터페이스를 사용하여 변경사항이 미치는 영향을 분석할 수도 있습니다.
시작하기 전에
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Profiler API.
Cloud Shell 시작
프로젝트의 Google Cloud Console 페이지 상단에 있는 Cloud Shell 활성화를 클릭합니다.
Console 하단의 새 프레임에서 Cloud Shell 세션이 열리고 메시지 두 개와 명령줄 프롬프트가 표시됩니다. 첫 번째 메시지에는 Cloud Shell 세션의 Google Cloud 프로젝트가 나열됩니다. 두 번째 메시지는 세션 프로젝트를 변경하는 방법을 알려줍니다. 셸 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.
프로파일링할 프로그램 가져오기
Cloud Shell에서 Go 샘플 패키지를 검색합니다.
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
잠시 후 패키지 검색이 완료됩니다.
profiler_quickstart
profiler_quickstart
샘플은 hello-profiler
서비스를 실행하도록 구성됩니다. Profiler 빠른 시작에서는 이 샘플을 사용합니다.
hello-profiler
를 시작하려면 다음을 수행합니다.
profiler_quickstart
디렉터리로 변경합니다.cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/profiler_quickstart
다음 명령어를 실행하여 서비스를 시작합니다.
go run main.go
서비스를 시작하고 몇 초 후에 Cloud Shell 세션에 profiler has started
메시지가 표시됩니다. 프로필이 Google Cloud 프로젝트에 업로드될 때마다 새 메시지가 표시됩니다.
서비스를 중지하려면 Ctrl-C를 입력합니다.
hotapp
hotapp
샘플에서는 함수 두 개를 호출하는 무한 루프를 사용한 후 Go 스케줄러를 사용합니다. 이 샘플은 -local_work
플래그 설정을 지원합니다. 이 플래그가 true
이면 루프 형식의 작업이 개별 함수에 추가됩니다. 기본적으로 이 플래그는 false
로 설정되어 있습니다.
hotapp
샘플을 실행하려면 다음을 수행합니다.
hotapp
디렉터리로 변경합니다.cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/hotapp
다음 명령어를 실행하여 서비스를 시작합니다.
go run main.go
Cloud Profiler 문서에 표시된 데이터와 일치하는 프로필 데이터를 생성하려면 다음 호출을 사용합니다.
go run main.go -service=docdemo-service -local_work -skew=75 -version=1.75.0
서비스를 시작하고 몇 초 후에 Cloud Shell 세션에 profiler has started
메시지가 표시됩니다. 프로필이 Google Cloud 프로젝트에 업로드될 때마다 새 메시지가 표시됩니다.
서비스를 중지하려면 Ctrl-C를 입력합니다.
프로필 비교 섹션에서는 docdemo-service
의 배포 두 개를 사용했습니다. 첫 번째 배포에서는 skew
및 version
이 앞의 설명대로 설정되었습니다. 두 번째 배포에서는 skew
가 25
로, version
이 1.25.0
으로 설정되었습니다.
문제 해결
서비스를 시작한 후 권한 거부 오류 메시지가 표시되는 경우 Google Cloud 프로젝트 구성 오류를 참조하세요.