1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

[admin] bukkitinsider - производительность плагинов revisited [1337]

Тема в разделе "Неподтвержденные плагины", создана пользователем apiocera, 9 дек 2011.

Статус темы:
Закрыта.
  1. Автор темы
    apiocera

    apiocera Активный участник Пользователь

    Баллы:
    78
    Привет, я недавно (ну как недавно, начал одним пасмурным уикэндом в октябре, и с тех пор спорадически коммичу) написал плагин, который перехватывает все эвенты, чтобы замерить, насколько долго они выполняются. Еще он умеет отключать плагины так, что они об этом узнают последними - ну и включать, естественно, то есть, теоретически, можно с его помощью перезагружать плагины, не выключая сервер. Однако, основная цель, все же, замерять среднее время выполнения listener'ов у плагинов.

    Вот вам скриншот:
    [​IMG]
    Для тех гурманов, которые предпочитают смотреть на результаты плагинов после боя - вот вам результаты работы плагина за чуть менее чем сутки на достаточно нагруженом сервере (как вы можете заметить, в позапрошлую полночь там было 60 человек онлайн).

    Команды плагина:
    • isp all - показать всю информацию
    • isp plugin <плагин> - показать все про конкретный плагин
    • isp plugins - вывести список плагинов
    • isp event <эвент> - показать все листенеры на данный эвент
    • isp events - список эвентов, которые слушает хотя бы один плагин
    • isp scheduler - список запланированных задач
    • isp disable <плагин> - отключить плагин (регистрозависимо, нужно вводить именно PermissionsEx, а не permissionsex)
    • isp enable <плагин> - включить плагин (тоже регистрозависимо)
    • isp setout console - выводить всю информацию в консоль сервера (по умолчанию)
    • isp setout file <файл> - выводить всю информацию в файл
    Важная информация: вывод в чат не предусмотрен. Однако команду можно ввести из чата, если вы оп - просто вывод будет в консоли, ну или в файле. Так же, если команда ничего не вывела - это нормально, возможно ей вывод и не требуется. Тем более, если вы направили вывод в файл - ну зачем выводить что-то в консоль, если все выводится в файл? Другое дело, если вылетит exception - это значит, что что-то не так, и вам стоит мне рассказать как, что и почему.
    Вот так вот. Развлекайтесь. Не забудьте рассказать, что работает, а что нет.
    А, да, русского языка там нет, но названия эвентов, классов и плагинов переводить нельзя, а остального там исчезающе мало.
    И еще. этот плагин достаточно жестко завязан на класс org.bukkit.plugin.SimplePluginManager, который просто скопипастен из исходников Bukkit с целями отнаследоваться от него и кое-что поменять. Судя по всему, я его копипастил из этого коммита. В 1337 он работает. В предыдущих версих он может и не работать. В последующих тоже может и не работать, но я постараюсь фиксить по мере необходимости.

    Скачать
    Плагин: bukkit dev
    Исходники: тоже bukkit dev
    Тред на bukkit.org
     
    IstominHero, tipson, REZAYS и 11 другим нравится это.
  2. xDiP

    xDiP Старожил Девелопер Переводчик Пользователь

    Баллы:
    123
    И это ты сам сделал?:eek:
     
  3. Автор темы
    apiocera

    apiocera Активный участник Пользователь

    Баллы:
    78
    А то. Только я немного запутался с версиями, но, если не ошибаюсь, эта должна быть последней. Будь проклят тот день, когда я сел за баранку этого SVN.
     
    IstominHero, CryBot и xDiP нравится это.
  4. VareZzZz

    VareZzZz Старожил Пользователь

    Баллы:
    153
    То что нужно. Отлично. Молодец)

    upd Сей плагин не хочет дружить с ModifyWorld. Сразу крашит его
     
  5. SONYru

    SONYru Активный участник

    Баллы:
    61
    Имя в Minecraft:
    SONYru
    Отличный плагин
     
  6. Diablolend

    Diablolend Активный участник Пользователь

    Баллы:
    88
    Skype:
    Diablolend
    Имя в Minecraft:
    Diablolend
    Лови лайк молодец!:)
     
  7. Dikey

    Dikey Старожил Пользователь

    Баллы:
    103
    Великолепно:). Но такой плагин есть (не в обиду) PlugMan
     
    Dairon нравится это.
  8. fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    apiocera, вот молодец! обязательно пригодится!
     
  9. Автор темы
    apiocera

    apiocera Активный участник Пользователь

    Баллы:
    78
    Заметьте, что этот плагин был в процессе написания с октября 2011, а PlugMan был опубликован на bukkitdev в январе 2012. Кроме того, следовало бы отметить про себя, что ни здесь, ни на форумах bukkit.org, я оочень давно не участвовал в дискуссиях, и вообще спихнул разработку этого плагина другому чуваку.
     
    CryBot, xDiP и Dikey нравится это.
  10. дима1234

    дима1234 Активный участник

    Баллы:
    63
    Имя в Minecraft:
    pieboy1234
    Тип ты супер меня так выручил спосибо большое огромное прям
     
    Сникерсни нравится это.
  11. DmitriyMX

    DmitriyMX Старожил Пользователь

    Баллы:
    153
    Skype:
    dmn550
    :) Мне очень понравилась идея с показом информации "Кто какие эвенты слушает".
     
  12. fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    1.4.7? 1.5.2? Тему закрывать?
     
  13. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    1.2.3, но ты её поднял как нельзя кстати...
     
  14. fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Жаль не обновляется. Тема закрыта.
     
Статус темы:
Закрыта.

Поделиться этой страницей