Hey there, > I took runtime/cpuprof.go with version 1.4, where cpuprof.go just appeared with the same result. :-)
I think this is expected. Go 1.4 was released in 2014 — several years after the original post about pprof, had been published. In fact, Go 1.4 is the version where the relevant part of the runtime's profiler was migrated from C to Go. In this version the same constant, I pointed earlier, already presented in this source code (note maxCPUProfStack=64). > Vladimir, is there any resource to read about current and probably future of the go profiling? Depending on what you're looking for, there are quite a few materials I could recommend: - the documentation for runtime/pprof and net/http/pprof packages [1] - the documentation for google/pprof tool [2] - Go wiki on performance [3] - Felix Geisendörfer's (DataDog) notes on Go profiling internals [4] (he also gave several talks about the topic last summer). Hope that could help. [1]: https://pkg.go.dev/runtime/pprof, https://pkg.go.dev/net/http/pprof [2]: https://github.com/google/pprof/tree/master/doc [3]: https://github.com/golang/go/wiki/Performance [4]: https://github.com/DataDog/go-profiler-notes On Wednesday, September 29, 2021 at 1:59:10 PM UTC+2 alex-coder wrote: > Vladimir, > > I took runtime > <https://cs.opensource.google/go/go/+/refs/tags/go1.4:src/runtime/> > <https://cs.opensource.google/go/go/+/refs/tags/go1.4:src/runtime/>/ > cpuprof.go > <https://cs.opensource.google/go/go/+/refs/tags/go1.4:src/runtime/cpuprof.go> > with version > 1.4, where cpuprof.go just appeared with the same result. :-) > it should be something else. > > Regards. > > вторник, 28 сентября 2021 г. в 11:31:55 UTC+3, alex-coder: > >> Ok, thank you. >> Vladimir, is there any resource to read about current and probably future >> of the go profiling ? >> In fact it is not only very important but and very, very interesting. >> >> Thank you. >> >> >> вторник, 28 сентября 2021 г. в 06:38:31 UTC+3, vlad...@varank.in: >> >>> Hello, >>> >>> I suspect this is due to how the current version of Go runtime's CPU >>> profiler keeps only up to 64 items, when it builds the function's stack >>> frame (refer to >>> https://github.com/golang/go/blob/go1.17/src/runtime/cpuprof.go#L21) >>> With that, the resulting profile misses the relationship between main.DFS >>> and its parent function, thus it "hangs" beneath the root node now. >>> >>> Keep in mind that the original post is almost 10 year old now. Some >>> other details might have changed as well. >>> >>> Cheers, >>> V. >>> >>> On Monday, September 27, 2021 at 11:03:53 AM UTC+2 alex-coder wrote: >>> >>>> Hi All, >>>> >>>> currently I walk through sample given there: >>>> Profiling Go Programs - go.dev <https://go.dev/blog/pprof> >>>> >>>> but when I came at the point where the user should enter web command to >>>> the pprof >>>> I do not see that the function DFS call itself on a picture. >>>> Looks like I do use a proper version of the sample - go_pro, where the >>>> recursion is present: >>>> multi-language-bench/src/havlak/go_pro at master · >>>> hundt98847/multi-language-bench · GitHub >>>> <https://github.com/hundt98847/multi-language-bench/tree/master/src/havlak/go_pro> >>>> >>>> So, what could be the reason that the picture is painted not properly ? >>>> >>>> I use 1.17.1, windows 10. >>>> >>>> Thank you. >>>> >>>> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/cbb10024-3da0-474d-a3f5-a43df3b99427n%40googlegroups.com.