>백엔드 개발 >Golang >정확한 애플리케이션 성능에도 불구하고 내 Go 'pprof' 출력에 빈 결과가 표시되는 이유는 무엇입니까?

정확한 애플리케이션 성능에도 불구하고 내 Go 'pprof' 출력에 빈 결과가 표시되는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-30 09:26:27971검색

Why is my Go `pprof` output showing blank results despite accurate application performance?

Go 도구 Pprof 출력 불일치

이 쿼리는 프로파일링 기능을 제공하는 Go의 'pprof' 도구의 설명할 수 없는 출력을 중심으로 진행됩니다. 과거에는 정확한 성능에도 불구하고 이 도구는 최근에 결정적이지 않은 결과를 생성하기 시작했습니다.

프로파일링되는 애플리케이션에 관계없이, 심지어 수많은 함수 호출이 있는 비교적 복잡한 애플리케이션이라도 'pprof' 도구는 단조로운 호출 그래프와 불모의 결과를 반환합니다. , 애플리케이션 자체가 제대로 작동함에도 불구하고.

MacOS Yosemite 및 El Capitan으로 업그레이드한 후에도 문제가 지속되었습니다. Go v1.5.1에서는 'github.com/davecheney/profile' 패키지가 사용됩니다.

프로필을 생성하기 위해 코드에는 'profile.Start' 및 'profile.Stop'이 '' 시작 부분에 포함되어 있습니다. main' 함수를 실행한 후 바이너리를 빌드하고 실행합니다. 그러나 결과 출력은 다음과 유사합니다.

(pprof) top
269.97kB of 269.97kB total (  100%)
      flat  flat%   sum%        cum   cum%
  269.97kB   100%   100%   269.97kB   100%  
(pprof) 

제공된 솔루션은 'pprof' 호출에 바이너리가 없다는 점을 강조하여 이러한 불일치를 해결합니다. 올바른 명령 구조는 다음과 같습니다.

go tool pprof ./orig /path/to/profile.pprof

이를 수정하면 'pprof'가 컴파일된 바이너리를 대상으로 하여 원하는 프로파일링 정보를 제공할 수 있습니다.

위 내용은 정확한 애플리케이션 성능에도 불구하고 내 Go 'pprof' 출력에 빈 결과가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.