Observability

Goroutine leak profile в Go 1.27: ловим утечки горутин в проде

Goroutine leak profile в Go 1.27: ловим утечки горутин в проде

Go 1.27 добавил профиль утёкших горутин — он выделяет именно те, что навсегда заблокированы на примитиве синхронизации. Что новый профиль видит, чего не видят pprof/goroutine и goleak, на воспроизводимых классах утечек, и как встроить его в мониторинг.

Тихие отказы: сервис сломан, а логи чисты

Тихие отказы: сервис сломан, а логи чисты

Повреждение кучи, которое никто не заметил: процесс отработал с кодом 0, в логах пусто. На стенде измерено, кто и когда ловит запись за границей буфера и сколько это стоит. Главная находка практическая: debug-аллокатор glibc обнаружил все проверенные смещения начиная с одного байта, обошёлся в единицы раз дороже по времени без заметного роста RSS — но по умолчанию он выключен, и включить его можно так, что он не включится.

slog: структурированное логирование в стандартной библиотеке Go

slog: структурированное логирование в стандартной библиотеке Go

log/slog (Go 1.21) — структурированное логирование в стандартной библиотеке: уровни, атрибуты, группы, JSON и text-хендлеры, With для контекста и связка с context. Как устроены Handler/Record, как писать свой хендлер и почему slog вытесняет самописные обёртки над log — на живых примерах вывода

Эксплуатация в архитектуре: как инженеры возвращают схему в реальность

Эксплуатация в архитектуре: как инженеры возвращают схему в реальность

Статья архитектурно-аналитической серии на примере лунной базы: почему эксплуатация — не этап после архитектуры, а её часть, и как наблюдаемость, деградация и восстановление должны проектироваться вместе с системой