1
0
mirror of https://github.com/DataDog/go-profiler-notes.git synced 2025-07-15 23:54:16 +02:00
This commit is contained in:
Felix Geisendörfer
2021-02-08 15:12:38 +01:00
parent cd90af2a08
commit b31e9f2d88

View File

@ -2,6 +2,30 @@ This document was last updated for `go1.15.7` but probably still applies to olde
# Block Profiling in Go
<!-- https://ecotrust-canada.github.io/markdown-toc/ -->
- [Block Profiling in Go](#block-profiling-in-go)
* [Description](#description)
* [Usage](#usage)
* [Overhead](#overhead)
+ [Implementation Details](#implementation-details)
+ [Benchmarks](#benchmarks)
+ [Memory Usage](#memory-usage)
+ [Initialization Time](#initialization-time)
* [Accuracy](#accuracy)
+ [Sampling Bias](#sampling-bias)
- [Simple Example](#simple-example)
- [Simulation & Proposal for Improvement](#simulation---proposal-for-improvement)
+ [Time Stamp Counter](#time-stamp-counter)
+ [Stack Depth](#stack-depth)
+ [Spin Locks](#spin-locks)
* [Relationship with Wall Clock Time](#relationship-with-wall-clock-time)
* [Relationship with Mutex Profiling](#relationship-with-mutex-profiling)
* [Profiler Labels](#profiler-labels)
* [pprof Output](#pprof-output)
* [History](#history)
* [Disclaimers](#disclaimers)
## Description
The block profile in Go lets you analyze how much time your program spends waiting on the blocking operations listed below: