Кирилл Тимофеев
Компания: JetBrains
В JetBrains пару лет назад добавили поддержку async-profiler для Mac и Linux. Они начали им пользоваться и поняли, что нужен async-profiler, работающий на Windows. На Linux и Mac async-profiler использует механизм POSIX-сигналов и нативную раскрутку стеков. Команде нужно было разобраться, как конкретно работает AsyncGetCallTraces, сравнить его внутреннее устройство с JFR. А если окажется, что их устраивает работа AsyncGetCallTraces, то нужно научиться эмулировать механизм сигналов и раскручивать нативные стеки. Кроме этого нужно решить разные ОС-специфичные проблемы, которые возникнут по пути.
Доклад будет интересен людям, которым интересна нативная и низкоуровневая разработка и всякие приколы уровня ОС. Слушатели узнают, что на самом деле можно решить любую задачу, если выбрать достаточно низкий уровень абстракции.
Компания: JetBrains
Компания: Одноклассники