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.

Reply via email to