|
|
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
Был на конференции. Рассказали, что есть 2 подхода для профилирования. 1. Инструментация 2. Через safepoint-ы Про инструментацию всё понятно. оборачиваем метод перед вызовом метода включаем таймер и по окончании - выключаем. А в чем идея второго подхода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 11:37 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
questionerБыл на конференции. Рассказали, что есть 2 подхода для профилирования. 1. Инструментация 2. Через safepoint-ы Про инструментацию всё понятно. оборачиваем метод перед вызовом метода включаем таймер и по окончании - выключаем. А в чем идея второго подхода? Не знаю кто и что вам рассказывал, но возможно речь шла о чем то подобном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 12:03 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
questionerРассказали, что есть 2 подхода для профилирования. 1. Инструментация 2. Через safepoint-ы Во-первых "подходов" намного больше. А это даже не "подходы" это две техники реализации профайлера внутри JVM questionerА в чем идея второго подхода? Останавливаем все потоки. Смотрим кто что делает. Обычно, это называется, "сэмплирующий профайлер". Он создает слепок на каждую остановку и анализирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 12:25 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОстанавливаем все потоки. Смотрим кто что делает. Обычно, это называется, "сэмплирующий профайлер". Он создает слепок на каждую остановку и анализирует. не "останавливаем все потоки", а "когда все потоки останавливаются на safepoint" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 14:06 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
it_devне "останавливаем все потоки", а "когда все потоки останавливаются на safepoint" Ну, да. Так точнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 14:18 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczСмотрим кто что делает. Обычно, это называется, "сэмплирующий профайлер". Он создает слепок на каждую остановку и анализирует. Что в данном контексте подразумевается под слепком? Как в общих чертах происходит анализ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 14:26 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
questionerЧто в данном контексте подразумевается под слепком? При профилировании CPU это дамп потоков. При профилировании памяти - дамп кучи. questionerКак в общих чертах происходит анализ? Чем чаще определенный метод появляется в дампе потоков, тем чаще он используется. При анализе памяти - сравниваются дампы, чтобы получить разницу в виде новых объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 14:28 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczquestionerЧто в данном контексте подразумевается под слепком? При профилировании CPU это дамп потоков. При профилировании памяти - дамп кучи. questionerКак в общих чертах происходит анализ? Чем чаще определенный метод появляется в дампе потоков, тем чаще он используется. При анализе памяти - сравниваются дампы, чтобы получить разницу в виде новых объектов. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 14:37 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
как всегда есть PROs & CONs в обоих методиках. если профилировать на safepoints, то можно просто не попадать в те моменты, когда происходит то, что мы пытаемся отыскать, это contra. т.е., например: safepont -> трэш угар -> трэш угар -> все стабилизировалось -> safepoint ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 14:46 |
|
||
|
Подходы к профилированию приложений.
|
|||
|---|---|---|---|
|
#18+
скажем так, основной аргумент ЗА sampling: - меньше impact на приложение, т.е. можно получить более точные данные о том, что происходит внутри ПРОТИВ: - можно промахиваться и брать дампы тогда, когда все хорошо, вместо моментов, когда все плохо. с другой стороны ЗА instrumental: - более детальная инфа, врезаемся прямо в runtime ПРОТИВ: - может искажать поведение системы... как-то так как всегда, все зависит от конкретной задачи, иногда полезно использовать все, чем больше информации, тем точнее можно пытаться анализирвать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 14:52 |
|
||
|
|

start [/forum/search_topic.php?author=Courseworking.com&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 665ms |
| total: | 832ms |

| 0 / 0 |
