5 ms·
Block Profiling in Go
- felixge 6y agoOP here. This is my attempt to document this profiler in Go based on my own research. As far as I can tell there is not much information about it out there. Happy to answer any questions.
- singular_tony 6y agoThank you for taking the time to research and write this down. I've bookmarked this as helpful resource material for the next time I have to go digging through my profiles.
- felixge 6y agoThanks! Credit should also go to my employer Datadog. They allowed me to spend some time on this and make it available to the public!
- thatjamesdude 6y agoHey OP, just wanted to say thank you for putting this together! You have some amazing references in that readme, I particularly love the link to the go routine scheduler. You've also done such a wonderful job with explaining the why and how around some of the complex material. Just really wanted to say thanks! This is an incredible resource
- felixge 6y agoThank you for the kind words! This is great motivation to continue writing about this stuff : )
- Cooth_Calvin 6y agoFunny I have the same problem now figure out Mine! HA!
- dhagz 6y agoI'm continually impressed by what Go offers in the way of profiling and performance observability baked into the language. I know tools to do benchmarking and profiling exist for other languages, but the fact that a lot of that data is "in the box" for Go is incredibly convenient, to the point where any API I develop has a flag to enable serving pprof data.
- mhh__ 6y agoIndeed, D has coverage, profiling, and unittests (unittest {}) built directly into the language and it massively eases using these concepts and encourages their use casually.