Go 도구 pprof 실패: 프로파일링 대상에 관계없이 일관된 출력 결함
이전에 Go 애플리케이션의 성능 프로파일링에 안정적이었던 pprof 도구는 대상 응용 프로그램에 관계없이 지속적으로 손상되고 불모의 출력을 생성하는 문제가 발생했습니다. 이 문제는 웹 애플리케이션을 포함한 다양한 애플리케이션에 영향을 미쳤으며 운영 체제 업그레이드 후에도 지속되었습니다.
한 가지 주목할만한 예는 자세한 호출 그래프를 생성하거나 최상위 함수 호출 목록을 제공하는 대신 pprof가 출력을 생성한다는 것입니다.
269.97kB of 269.97kB total ( 100%) flat flat% sum% cum cum% 269.97kB 100% 100% 269.97kB 100%
프로필을 생성하기 위해 개발자는 Go v1.5.1과 함께 "github.com/davecheney/profile" 패키지를 사용했습니다. 프로파일링 프로세스 요약은 다음과 같습니다.
예상대로 명령줄은 다음과 같습니다. "메모리 프로파일링 활성화됨"이라는 메시지와 프로필 파일 경로(예: /var/folders/.../mem.pprof)가 표시됩니다.
코드가 의도한 대로 실행되는 동안 pprof 출력 파일(/path/to/profile.pprof) 분석에서는 문제 해결을 위한 정보가 충분하지 않습니다.
해결책:
문제는 pprof 호출에 있습니다. 사용자가 go 도구 pprof를 호출할 때 실수로 바이너리 이름을 생략했습니다. 문제를 해결하려면 프로필 파일 경로와 함께 바이너리를 지정하는 것이 중요합니다.
go tool pprof ./binary_name /path/to/profile.pprof
이 수정을 통해 pprof는 의도한 바이너리를 분석하여 예상되는 세부 성능 분석 출력을 얻을 수 있습니다.
위 내용은 내 애플리케이션을 프로파일링할 때에도 내 Go 도구 pprof 출력이 비어 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!