Thema: profiling
-
Continuous Profiling in Produktion: dauerhaft aktive Sampling-Profile und was sie beantworten
Continuous Profiling erstellt systematisch über die Zeit CPU- und Speicherprofile und speichert sie als beschriftete Serien, sodass ein Team fragen kann, welche Funktion gestern flottenweit am meisten CPU verbraucht hat oder was sich zwischen zwei Versionen geändert hat; Sampling-Profiler machen das günstig genug, um es dauerhaft laufen zu lassen, und Laufzeit-Endpunkte wie Gos /debug/pprof/ oder eBPF-Agenten liefern die Profile.
-
Ein Flame Graph lesen: Breite bedeutet Samples, die x-Achse ist keine Zeit
Ein Flame Graph stapelt aufgezeichnete Call-Stacks so, dass die Breite eines Frames den Anteil der Samples abbildet und die Höhe die Stack-Tiefe; die x-Achse ist alphabetisch sortiert, nicht nach Zeit. Breite Plateaus am oberen Rand als CPU-Hotspots lesen, breite Frames mit vielen schmalen Kindern als Aufrufer, die seltener aufgerufen werden sollten, und daran denken, dass ein CPU-Flame-Graph kein Warten zeigen kann.
Maschinenlesbar: JSON