Пользователи, просматривающие тему (Пользователей: 0, Гостей: 0)

  1. ex3m777

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    346
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    Описание:
    Amxmodx Profiler - замена стандартного amxmodx, metamod-плагин, который позволит вам узнать ( в .txt логах) с какой скоростью выполняется вызов функций, stocks. Выполняет все те же функции, что и стандартный amxmodx, но ещё дополнительно измеряет скорость работы ваших плагинов.
    Благодаря этой модификации стало возможным оценить, как хорошо выполнена работа, как долго выполняются определенные части кода, как часто они выполняются.
    Вам не нужно перекомпилировать все плагины или изменить какие-либо модули .
    При смене карты вся информация профилирования будет записана в директории amxmodx/data/profiles/<pluginname.amxx>.txt
    Кроме того, были добавлены две новых функции (они не доступны в официальном ядре amxmodx ), что позволят вам профилировать отдельные части кода самостоятельно. Документацию для них можно найти в файле " profiler.inc "

    Установка:
    • делаем бекап стандартного amxmodx_mm_i386.so | amxmodx_mm.dll
    • далее заменяем тем что в архиве
    • в plugins.ini пишем напротив плагина profile
    Настройки:
    Добавлена новая переменная amx_profile (1 Def.), она схожа с amx_debug
    0 - профилирование отключено
    1 - только указанные плагины в списке будут тестироваться
    2 - все плагины будут тестироваться.

    Пример:
    adminchat.amxx profile
    amxbans.amxx profile
    damage_ranking.amxx profile

    В результате вы получите схожие логи
    Код:
    date: Sun Jun 07 15:34:19 2015 map: de_dust2
    type |                             name |      calls | time / min / max
    -------------------------------------------------------------------
       n |                  register_plugin |          1 | 0.000004 / 0.000004 / 0.000004
       n |                    register_cvar |          1 | 0.000060 / 0.000060 / 0.000060
       n |                   register_clcmd |          1 | 0.000006 / 0.000006 / 0.000006
       n |                   register_event |          2 | 0.000015 / 0.000006 / 0.000009
       n |                      menu_create |          4 | 0.000026 / 0.000005 / 0.000008
       n |                     menu_setprop |         10 | 0.000020 / 0.000002 / 0.000002
       n |                      file_exists |          3 | 0.000146 / 0.000027 / 0.000060
       n |                     menu_additem |         19 | 0.000052 / 0.000002 / 0.000005
       n |                            fopen |          3 | 0.004888 / 0.000066 / 0.004705
       n |                             feof |         75 | 0.000127 / 0.000002 / 0.000002
       n |                            fgets |         72 | 0.010969 / 0.000002 / 0.010763
       n |                            parse |         22 | 0.000049 / 0.000002 / 0.000003
       n |                             copy |         16 | 0.000028 / 0.000002 / 0.000002
       n |                       str_to_num |         14 | 0.000026 / 0.000002 / 0.000003
       n |                           fclose |          3 | 0.000180 / 0.000030 / 0.000104
       n |                         arrayset |         26 | 0.000061 / 0.000002 / 0.000005
       n |                      get_players |          3 | 0.000044 / 0.000004 / 0.000037
       p |                client_disconnect |          8 | 0.000166 / 0.000005 / 0.000125
       p |                  eGameCommencing |          1 | 0.000003 / 0.000003 / 0.000003
       p |                      eRoundStart |          3 | 0.000060 / 0.000016 / 0.000027
       p |                       plugin_cfg |          1 | 0.000475 / 0.000475 / 0.000475
       p |                      plugin_init |          1 | 0.000011 / 0.000011 / 0.000011
    19 natives, 4 public callbacks, 12 function calls were not executed.

    Исходники по всей видимости утеряны.
    Источник: alliedmods.net
    При копирование статьи ссылка на источник neugomon.ru обязательна
     

    Вложения:

    Последнее редактирование: 29.07.15
    pUzzlik, BaJIepbI4, Topgear и 2 другим нравится это.
  2. BaJIepbI4

    Регистрация:
    12.05.15
    Сообщения:
    1.111
    Симпатии:
    220
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Может кто помочь понять как парвильно проанализировать полученные данные? :help:
     
  3. ex3m777

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    346
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    Это инструмент для разработчиков
    Чтобы что-то понять нужно разбираться в pawn
     
  4. BaJIepbI4

    Регистрация:
    12.05.15
    Сообщения:
    1.111
    Симпатии:
    220
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Ясно, спасибо
     
  5. гл0к

    Регистрация:
    03.03.15
    Сообщения:
    849
    Симпатии:
    106
    Пол:
    Мужской
    ex3m777, да не обязательно же. Лично мне интересно только это - за сколько секунд в целом выполняется работа 1 плагина. Мне стоки и прочая павновская муть не нужна)
     
  6. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.689
    Симпатии:
    1.249
    Пол:
    Мужской
    Дак там же выводится список функций и время их выполнения в логе.
     
  7. wopox1337

    Регистрация:
    10.12.15
    Сообщения:
    41
    Симпатии:
    12
    Пол:
    Мужской
    VKcom:
    wopox
    Telegram:
    wopox1337
    Skype:
    wopox3
    Ни в коем случае не вздумайте использовать этот инструмент для критики. В разных плагинах, разных задачах код приходится применять разный.
    Разработчики AMXX плагинов, этим инструментом получают информацию, на основе которой принимают меры по оптимизации, в зависимости от сложности поставленной задачи.

    Для рядового админа, инструмент мало чем полезен, возможно поможет в сравнении нагрузок плагинов.
     
  8. VkriterT VIP user

    Регистрация:
    02.06.15
    Сообщения:
    497
    Симпатии:
    150
    Пол:
    Мужской
    Логи как то будут отличатся в зависимости от онлайна на сервере ?
    Или если я например буду тестить ночью, то машина на хостинг будет всяко менее загружена чем если я буду тестить днем, это будет влиять на показатели ?
     
  9. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.567
    Симпатии:
    4.650
    Пол:
    Мужской
    @VkriterT, да, если нативы привязаны к игрокам, тот же is_user_bot в путине
     
  10. VkriterT VIP user

    Регистрация:
    02.06.15
    Сообщения:
    497
    Симпатии:
    150
    Пол:
    Мужской
    @neygomon, Ясн, тогда для точности нужно на локалсервере измерять.
     
  11. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.567
    Симпатии:
    4.650
    Пол:
    Мужской
  12. VkriterT VIP user

    Регистрация:
    02.06.15
    Сообщения:
    497
    Симпатии:
    150
    Пол:
    Мужской
    Сразу спрошу пока пвесдотестов не наделал.
    1. Я включаю сервер, захожу, открываю вип меню. По очереди юзаю каждый пункт, выхожу и чекаю логи.
    2. Делаю все тоже самое но с другим вип меню.
    3. Сверяю логи.
    Это будет объективно ?
     
  13. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.567
    Симпатии:
    4.650
    Пол:
    Мужской
    @VkriterT, логи сейвятся только при смене карты