~/talk

Fighting latency: the CPU profiler is not your ally

Talkat Golang UK 2017 · 2017-08-16..08-18· [observability]
slides:none on file

CPU sampling misses wall‑clock latency caused by blocking so a service that looks CPU‑light still shows high request times; using runtime/trace + net/http/pprof records nanosecond events (network, file close, goroutine scheduling) and shows that repeated file.Close calls account for seconds of blocked time while the CPU profile blamed hashing. Traces are large (tens of GB) and add ~25% overhead, so author exports pprof from traces and ships a trace-focus tool to attribute blockers across spawned goroutines, and it works.

AI-written summary · about

  1. 0:00Defining performance
  2. 3:52Understanding CPU profiling
  3. 6:13Scheduler and I/O visibility
  4. 11:35The limits of CPU profiling
  5. 15:16Introduction to the tracer
  6. 21:27Exporting trace data
  7. 24:09Analyzing blocking profiles
  8. 27:13Challenges in trace analysis
  9. 31:50Building custom trace tools
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.