2
내 응용 프로그램을 프로파일 링하기 위해 채널에 쓰거나 읽는 것을 기다리는 goroutine의 수를 알고 싶습니다. reflect
package과 관련된 내용을 찾을 수 없습니다.프로파일 링을 위해 채널 쓰기/읽기를 기다리는 goroutines 수 얻기 (프로파일 링을 위해)
물론 명시적인 카운터를 유지할 수는 있지만 golang 런타임에이를 알리 길 기대합니다. 따라서 휠 재발생을 피하려고합니다.
그래서 수동으로 카운터를 유지하지 않고도 그렇게 할 수 있습니까?
고마워,하지만 문제가 해결되지 않는다 : 분명히 내 응용 프로그램에 둘 이상의 채널이 있고 goroutines이 다른 채널에서 기다리고 있으므로 어떤 채널을 기다리고 있는지 확인할 필요가있다. 병목 현상을 발견 할 수 있습니다. –
맞아, 내 대답을 업데이트 할게. –
"블록"프로파일을 얻기 위해'net/http/pprof'를 사용할 필요가 없습니다. http handler를 원하지 않는다면'runtime/pprof'에서 직접 같은 것을 할 수 있습니다. – JimB