Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Подходы к профилированию приложений. / 10 сообщений из 10, страница 1 из 1
30.05.2016, 11:37
    #39246054
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
Был на конференции.

Рассказали, что есть 2 подхода для профилирования.
1. Инструментация
2. Через safepoint-ы

Про инструментацию всё понятно. оборачиваем метод перед вызовом метода включаем таймер и по окончании - выключаем.

А в чем идея второго подхода?
...
Рейтинг: 0 / 0
30.05.2016, 12:03
    #39246086
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
questionerБыл на конференции.

Рассказали, что есть 2 подхода для профилирования.
1. Инструментация
2. Через safepoint-ы

Про инструментацию всё понятно. оборачиваем метод перед вызовом метода включаем таймер и по окончании - выключаем.

А в чем идея второго подхода?
Не знаю кто и что вам рассказывал, но возможно речь шла о чем то подобном
YouTube Video
...
Рейтинг: 0 / 0
30.05.2016, 12:25
    #39246109
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
questionerРассказали, что есть 2 подхода для профилирования.
1. Инструментация
2. Через safepoint-ы

Во-первых "подходов" намного больше. А это даже не "подходы" это две техники реализации профайлера внутри JVM

questionerА в чем идея второго подхода?
Останавливаем все потоки. Смотрим кто что делает. Обычно, это называется, "сэмплирующий профайлер". Он создает слепок на каждую остановку и анализирует.
...
Рейтинг: 0 / 0
30.05.2016, 14:06
    #39246194
it_dev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
BlazkowiczОстанавливаем все потоки. Смотрим кто что делает. Обычно, это называется, "сэмплирующий профайлер". Он создает слепок на каждую остановку и анализирует.

не "останавливаем все потоки", а "когда все потоки останавливаются на safepoint"
...
Рейтинг: 0 / 0
30.05.2016, 14:18
    #39246202
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
it_devне "останавливаем все потоки", а "когда все потоки останавливаются на safepoint"
Ну, да. Так точнее.
...
Рейтинг: 0 / 0
30.05.2016, 14:26
    #39246215
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
BlazkowiczСмотрим кто что делает. Обычно, это называется, "сэмплирующий профайлер". Он создает слепок на каждую остановку и анализирует.

Что в данном контексте подразумевается под слепком?

Как в общих чертах происходит анализ?
...
Рейтинг: 0 / 0
30.05.2016, 14:28
    #39246217
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
questionerЧто в данном контексте подразумевается под слепком?
При профилировании CPU это дамп потоков. При профилировании памяти - дамп кучи.

questionerКак в общих чертах происходит анализ?
Чем чаще определенный метод появляется в дампе потоков, тем чаще он используется.
При анализе памяти - сравниваются дампы, чтобы получить разницу в виде новых объектов.
...
Рейтинг: 0 / 0
30.05.2016, 14:37
    #39246225
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
BlazkowiczquestionerЧто в данном контексте подразумевается под слепком?
При профилировании CPU это дамп потоков. При профилировании памяти - дамп кучи.

questionerКак в общих чертах происходит анализ?
Чем чаще определенный метод появляется в дампе потоков, тем чаще он используется.
При анализе памяти - сравниваются дампы, чтобы получить разницу в виде новых объектов.

Спасибо
...
Рейтинг: 0 / 0
30.05.2016, 14:46
    #39246233
it_dev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
как всегда есть PROs & CONs в обоих методиках.

если профилировать на safepoints, то можно просто не попадать в те моменты, когда происходит то, что мы пытаемся отыскать, это contra.
т.е., например:
safepont -> трэш угар -> трэш угар -> все стабилизировалось -> safepoint
...
Рейтинг: 0 / 0
30.05.2016, 14:52
    #39246241
it_dev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к профилированию приложений.
скажем так, основной аргумент ЗА sampling:
- меньше impact на приложение, т.е. можно получить более точные данные о том, что происходит внутри
ПРОТИВ:
- можно промахиваться и брать дампы тогда, когда все хорошо, вместо моментов, когда все плохо.

с другой стороны ЗА instrumental:
- более детальная инфа, врезаемся прямо в runtime
ПРОТИВ:
- может искажать поведение системы...

как-то так
как всегда, все зависит от конкретной задачи, иногда полезно использовать все, чем больше информации, тем точнее можно пытаться анализирвать
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Подходы к профилированию приложений. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]