{"repo":"DataDog/go-profiler-notes","free":true,"listed":false,"github":"https://github.com/DataDog/go-profiler-notes","clone":"git clone https://github.com/DataDog/go-profiler-notes.git","description":"felixge's notes on the various go profiling methods that are available.","language":"Jupyter Notebook","stars":3665,"topics":["pprof","profiling","go","golang"],"license":"CC-BY-SA-4.0","category":"productivity","readme_excerpt":"go-profiler-notes Hey there 👋🏻, I'm felixge and I've just started a new job at Datadog to work on Continuous Profiling for Go. I found that Go has a lot of profilers and there are many tools for looking at the data, but that there is very little information on what any of it means. So in order to make sure that I know what I'm talking about, I've started to research the existing profilers and how they work. This repository is my attempt to summarize my findings in the hope that it might be useful to others. - The Busy Developers's Guide to Go Profiling, Tracing and Observability - pprof tool & format: Describes the pprof tool and the binary data format for storing profiles. - Stack Traces: An in-depth look at stack traces in Go which are a load bearing subsystem for profiling. - Goroutine Profiling: Allows you to get a list of all active goroutines and what they're currently doing. - Block Profiling: Understand how much time your code spends waiting on channels and locks. - CPU Profiling (🚧 coming soon!) - Heap Profiling (🚧 coming soon!) - Mutex Profiling (🚧 coming soon!) - Wallclock Profiling (🚧 coming soon!) External Links - Go Docs - Diagnostics: Has a very good overview over the available profiling and tracing facilities but doesn't go into a lot of depth. - runtime/pprof: Lists the available profiles and has a little more explanation about what kind of data they produce. - runtime: Has documentation on the various control knobs and pprof facilities, e.g. MemProfile","default_branch":null,"files":null,"tree":[],"storefront":"/r/DataDog","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/DataDog/go-profiler-notes/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}