Наблюдаемость
Profiling: тест на свободное припоминание
Припоминание бьёт перечитывание. Для каждого промпта проговори или запиши полный ответ по памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет материал.
Восстанови ключевые механизмы юнита — sampling против инструментирования, карту типов профилей, ось flame graph, continuous profiling, символизацию eBPF и слепые зоны sampling — не подглядывая в уроки.
- 01Почему sampling profiler жизнеспособен для always-on профайлинга в production, а instrumentation profiler — нет?
- 02Назови основные типы профилей и один вопрос, на который отвечает каждый.
- 03Что на самом деле кодирует ось x flame graph и какое самое дорогое неверное прочтение?
- 04Что continuous profiling даёт операционно, чего не может on-demand профайлинг, и сколько это примерно стоит?
- 05Почему eBPF-профайлер чисто символизирует Go и Rust, но показывает [unknown] фреймы для Python и частичные для JVM?
- 06Назови две слепые зоны sampling, которые senior-инженер обязан помнить, прежде чем доверять отсутствию пика на flame graph.
Если ты смог восстановить каждый ответ по памяти, ты держишь хребет юнита: sampling покупает ограниченный overhead ценой точности; каждый тип профиля отвечает на один вопрос, а отношение CPU/wall ведёт тебя к нужному; ось x flame graph алфавитная, а не время; continuous profiling делает flame graph инцидента пред-сохранённым на 2-5%; символизация eBPF зависит от рантайма; а слепые зоны sampling (hot-пути короче интервала, шум при малых счётчиках) означают, что пропущенный пик — никогда не доказательство пропущенного узкого места.