https://golang.org/src/runtime/mprof.go, https://golang.org/pkg/net/http/pprof/ here it is mentioned that we need to set SetBlockProfileRate to get enable block profile.
In case of block profiling if I set rate just before profiling and reset it to 0 after profiling i am not getting any data. I am doing something like: *SetBlockProfileRate(1)* *pprof.Lookup("block").WriteTo(f, 0); * *SetBlockProfileRate(0)* On Sun, Oct 20, 2019 at 10:24 AM Ian Lance Taylor <i...@golang.org> wrote: > On Sat, Oct 19, 2019 at 7:34 PM Nidhi Agrawal <nidhi11...@gmail.com> > wrote: > > > > We don't need to set MemProfileRate. It is about block and mutex > profiling where we need to set the rate (SetBlockProfileRate, > SetMutexProfileFraction) at application start. Is there any performance > impacts of doing that ? > > > > It is not causing any issue we want to enable block and mutex profiling > so i am thinking if we can do something like > > SetBlockProfileRate(1) > > pprof.Lookup("block").WriteTo(f, 0); > > sleep(20) > > SetBlockProfileRate(0) > > just like how cpu and trace profile works. But i am curious why isn't it > not already done in the library. What can be the reason behind this? > > > > I am curious why they are different from cpu and trace profiling, trying > to understand the inner working of this. It would be really helpful if you > can give me some pointers on where i can read about the high level design > of the pprof. > > Oh, sorry, I misread what you were asking. But now I'm not sure what > you are asking. You said > > > On the other hand for mutex and block profiling, it expects us to set > the rate at the start of the application and while calling profiling, it > just gathers the information and return. > > That's how memory profiling works. You don't have to set the mutex > and profiling rates at the start of the application. You can set them > when you want to start profiling, as you suggest. Is there some > documentation that says otherwise? > > Sorry, I don't know of any documentation describing the profiling > implementation. > > Ian > -- 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/CACcVEiUDqJbwkC%3DcMzBzaAYLzRqGMEFPFzrEoB-F6NLXXMKZeQ%40mail.gmail.com.