Search
Write a publication
Pull to refresh

Comments 6

Хм, а что насчет корутин? Kotlin Compiler Plugin как понимаю с ними работать может, по идее. А вот с ASM не очень понятно. Он как я вижу уже на уровне байткода вмешивается, не на уровне исходного кода. А там от корутин уже одни рожки да ножки остаются, если я правильно помню, со всеми этими continuation. Время выполнения suspend функции с ним не увидеть, по идее.

По сути это прям то чего мне в профайлере иногда не хватает, посмотреть сколько suspend функция выполнялась. При этом без разницы, например, что большую часть времени при этом по факту она ждала на IO из sqlite ответа, важно именно время от старта и до конца.

З.Ы. А за статью спасибо. Интересно было почитать.

Да, считать корутины очень не хватает, у нас есть задача на это. Хотим научиться смотреть время работы как целой Job с прерываниями и ожиданиями, так и время работы "чистой" suspend функции. Когда это будет готово не могу сказать, но работаем над этим

Было бы круто. Хотя тут еще интересный вопрос как эту метрику в интерфейсе отображать...

Привет! Спасибо за статью!
Не понял тезис:

Оба инструмента объединяет одна проблема — в них нельзя просмотреть все возможные методы. Например, чтобы добавить в Profiler нужный метод для анализа, необходимо вручную написать код, открыть секцию, указать метод, закрыть, перекомпилировать — и только после этого данные станут доступны.

И в AS Profiler, и в YAMP доступны как сэмплирующие профайлеры, которые практически без оверхеда записывают профиль, так и трессирующие - которые записывают ВСЕ jvm методы, но с диким оверхедом. Еще есть SimplePerf, который , по словам разработчиков из гугла , обладают еще меньшим оверхедом. Если метод достаточно мал, чтоб попасть в сэмплирующий профиль, может быть и не нужно беспокоиться из-за его производительности?) А если метод действительно "тяжелый" - тогда точно метод попадет в записанный профиль.

Добрый день. Очень интересная статья и крутая библиотека!
Несколько раз перечитал текст статьи, и показалось, что вы не упомянули откуда берется UI для визуализации анализаторов.
Библиотека предоставляет доступ только к данным, а UIчик можно написать свой и встроить куда удобно в приложении или он поставляется вместе с библиотекой. В Readme гита тоже к сожалению не нашел об этом информации, без более глубокого погружения в исходники - это не совсем очевидно. Буду очень рад ответу здесь или, если я не один такой, возможно, стоит явно упоминуть об этом в статье или Readme файле либы.

Sign up to leave a comment.