Профилирование

Включение профайлера S2-Launcher, который передаёт время работы Plugify, его языковых модулей и плагинов во встроенный в движок VProf.

S2-Launcher умеет передавать время работы Plugify во встроенный в движок профайлер VProf. Профилирование предназначено для разработчиков и отладки. По умолчанию оно выключено.

Включение

Передайте --profiler при запуске лаунчера вместе с остальными аргументами:

# Linux
./s2launcher -dedicated +map de_dust2 --profiler

# Windows
s2launcher.exe -dedicated +map de_dust2 --profiler

Загрузчик Runtime берёт тот же аргумент из командной строки cs2.

Что измеряется

С включённым профайлером Plugify передаёт в VProf свои зоны замера времени:

  • работу менеджера плагинов: загрузку, обновление на каждом кадре сервера, выгрузку;
  • вызовы языковых модулей и плагинов, у тех модулей, которые их отмечают;
  • зоны, которые плагины открывают сами через свой языковой модуль.

Каждая зона попадает в VProf в бюджетную группу с именем модуля, который её открыл, поэтому время Plugify видно рядом со временем движка. Результаты смотрите инструментами VProf движка.

Без --profiler зоны не передаются и почти ничего не стоят.

Рекомендации

  • Включайте только при необходимости. Профилирование добавляет накладные расходы, не держите его включённым на рабочем сервере.
  • Сравнивайте с выключенным профайлером. Замерьте одну и ту же сцену с плагином и без него, чтобы увидеть его стоимость.

Решение проблем

  1. В VProf нет зон Plugify: проверьте, что --profiler есть среди аргументов запуска и что Plugify загрузился (plg --version).
  2. Некоторых плагинов не видно: появляются только модули и плагины, которые отмечают зоны. Плагин без своих зон виден через вызовы его языкового модуля.
  3. Сервер стал медленнее: это стоимость профилирования. Для обычной работы запускайте без --profiler.