Что такое runtime.SetBlockProfileRate?

Middle
135 просмотров
AFK Offer AI

runtime.SetBlockProfileRate(rate) включает профилирование блокировок: mutex contention, channel operations. Rate — наносекунды: SetBlockProfileRate(1) профилирует каждую блокировку, SetBlockProfileRate(1000000) — каждую миллисекунду и дольше (меньше overhead). Profile показывает, где горутины ждут: какие mutex, какие каналы. Смотришь через pprof: go tool pprof http://localhost:6060/debug/pprof/block. Помогает найти contention bottlenecks. В production ставь rate > 0 но не 1 — overhead заметный.

Следующий вопрос

Задача: спроектируйте систему уведомлений (email + push + in-app)