AMXMODX с поиском лагающих плагинов!

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
799
Симпатии
272
Пол
Мужской
Представляю свой билд последнего AMXMODX с функцией обнаружения неоптимизированных плагинов! Такого вы точно нигде не видели! :)


Проверял только на Windows. Т.к нет linux с требуемой версией glibc.



Пример на старнадртных плагинах : (Как и ожидалось самое тяжелое место это plugin_init, но это не так важно при загрузке карты)
L 12/01/2021 - 10:03:28: [admincmd.amxx] performance issue 2. Function plugin_init executed more than 3 ms.
L 12/01/2021 - 10:03:28: [cmdmenu.amxx] performance issue 2. Function plugin_init executed more than 10 ms.
L 12/01/2021 - 10:03:28: [plmenu.amxx] performance issue 2. Function plugin_init executed more than 2 ms.
L 12/01/2021 - 10:03:28: [mapsmenu.amxx] performance issue 2. Function plugin_init executed more than 3 ms.
L 12/01/2021 - 10:03:28: [pluginmenu.amxx] performance issue 2. Function plugin_init executed more than 2 ms.
L 12/01/2021 - 10:03:28: [adminchat.amxx] performance issue 2. Function plugin_init executed more than 2 ms.


Пример выводимых данных на тестовом плагине который ограничивает фпс:

L 12/01/2021 - 10:01:48: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 379 ms.
L 12/01/2021 - 10:01:49: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 392 ms.
L 12/01/2021 - 10:01:50: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 396 ms.
L 12/01/2021 - 10:01:51: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 393 ms.
L 12/01/2021 - 10:01:52: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 390 ms.
L 12/01/2021 - 10:01:53: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 392 ms.
L 12/01/2021 - 10:01:54: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 391 ms.
L 12/01/2021 - 10:01:55: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 392 ms.
L 12/01/2021 - 10:01:56: [give_me_unreal_fps.amxx] performance issue 2. Function server_frame executed more than 390 ms.




Достаточно скопировать главный модуль amxmodx_mm.dll / amxmodx_mm.so если у вас уже установлена 10 версия AMXMODX.
 
Последнее редактирование:

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
799
Симпатии
272
Пол
Мужской
На данный момент плагин пишет верно а вот функцию указывает не ту. Сейчас думаю над исправлением.
 

maksgolubovskiy

Пользователь
Регистрация
5 Янв 2021
Сообщения
35
Симпатии
4
Интересная задумка, кто уже тестировал на linux?
 

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
799
Симпатии
272
Пол
Мужской

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
291
Пол
Мужской
Такие вещи в мире ит делают совсем по другому. Это называется профилированием. Как правило профилирование включается временно, и записывает в некий файл весь стек вызовов. Туда включают и файл со строкой, и имя метода/функции, и кем был вызван и главное время. И как правило есть некий вьювер тех файлов. Стоит понимать, что 3мс для инита не то же самое что 3мс для сервер фрейма. С профилированием специалист сам сможет сделать вывод, что именно является ботлнеком.
 

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
799
Симпатии
272
Пол
Мужской
fantom, честно не понимаю о чем ты пытаешься умничать)
 

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
799
Симпатии
272
Пол
Мужской
fantom, да не прикидывайся сильно умным)

Для фрейма, если хотя бы какая-то функция вызывается более чем 1 мс, это плохо, а более это вообще критично, и со мной там нерусские все согласны.
Теперь же там все настраиваемо и можно включать для отдельного либо для всех плагинов и указывать порог срабатывания.
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.527
Симпатии
879
Пол
Женский
fantom, да не прикидывайся сильно умным)

Для фрейма, если хотя бы какая-то функция вызывается более чем 1 мс, это плохо, а более это вообще критично, и со мной там нерусские все согласны.
Теперь же там все настраиваемо и можно включать для отдельного либо для всех плагинов и указывать порог срабатывания.
Ты бы спокойно вёл диалог, а то потом удивляешься почему тебя все хейтят
 

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
799
Симпатии
272
Пол
Мужской
perfectblood0, как-то не заметно что он хочет вести диалог нормальный, не нравится пускай свое сделает что-то.
 
Сверху Снизу