Есть такой раздел аналитики — перформанс аналитика. Это про то, чтобы знать, сколько времени работают те или иные компоненты продукта, и что с этими временами происходит с течением времени.
Казалось бы, звучит супер стандартно: навали дашбордов и сиди мониторь. Проблемы тут вот в чем:
1️⃣ В больших проектах могут быть миллионы временных рядов с большой историей, которые надо быстро обрабатывать, поэтому используемые методы должны быть эффективными.
2️⃣ Все распределения обычно невероятно мерзкие: много мод, которые надо детектировать и трекать; тяжелые хвосты, которые могут порождать очень большие выбросы (которые будут нормой); асимметрия, смесь дискретных и непрерывных частей и т.п. Все это требует специфических методов анализа.
3️⃣ Если методы будут иметь большую вероятность ложноположительного срабатывания, то аналитик потонет в попытке разобраться, где именно среди очередной тысячи алертов произошла деградация, а где просто шум.
С перформанс аналитикой я познакомился, когда отбирался на стажировку в аналитику JetBrains. Оказалось, что в интернете есть примерно один источник качественного контента на эту тему: творчество Андрея Акиньшина, который в то время руководил перформанс аналитикой в Rider.
В работе Андрея меня поразил очень системный подход к проблемам конвенциональной статистики: он глубоко рефлексирует над тем, почему же ничего не работает, и как сделать так, чтобы статистика была не набором рецептиков хозяйке на заметку, а стройной дисциплиной с понятными принципами. Вот, скажем, Pragmatic Statistics Manifesto 🌚
Если вам такое близко, то дико рекомендую заценить вот что:
👉 Доклад Андрея «Анализируем перформанс с пользой для себя и окружающих»
👉 Блог Андрея, в котором есть тонна всяких мыслей и прикольных методов
👉 Книга «Профессиональный бенчмарк. Искусство измерения производительности» (оригинальная версия на английском)
На картинке: определение количества мод у распределения из статьи Lowland multimodality detection.
Post #27
1.09K

- ❤ 6
- 👍 6