Command Profiler
Мод, который профилирует команды и функции
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 1 тыс.
- Подписчиков на Modrinth
- 6
- версий
- 28
- Обновлён
- 7 сентября 20267 сент.
- Опубликован
- в 2026
Коротко о моде
Ставится только на сервер; игрокам ставить не нужно
Command Profiler — это мод, который позволяет профилировать команды и функции с помощью /cmdprof.
Использование профилировщика
Вы можете запустить профилировщик, если у вас есть права оператора, с помощью команды /cmdprof enable. Чтобы профилировщик перестал собирать данные, выполните /cmdprof disable, а чтобы сбросить текущие профилированные данные — /cmdprof reset.
Просмотр результатов профилирования
Есть три различных формата для получения данных:
- вывод текста в консоль (подкоманды, начинающиеся с
print) - сохранение в JSON (подкоманды, начинающиеся с
save) - сохранение в байтах (то же самое, что и
save, но нужно указатьbytesв качестве аргумента)
Это означает, что для просмотра результатов профилировщика вам нужен доступ к консоли сервера.
Есть подкоманды print и save для просмотра результатов профилировщика за всё время его работы. (print сортируется по общему затраченному времени)
А также есть подкоманды print_trace и save_trace для просмотра результатов профилировщика за последний захваченный тик. (упорядочены по порядку выполнения)
Примечание: чтобы использовать эти команды для просмотра данных трассировки, сначала нужно включить cmdprof:local/trace. А для данных профилирования нужно включить cmdprof:local/profile, который включён по умолчанию.
Настройка профилировщика
Вы можете настроить профилировщик с помощью подкоманды /cmdprof config, на данный момент есть несколько опций:
cmdprof:granularity— если установлено вcommand, все команды будут профилироваться, а если вfunction, команды не будут профилироваться по отдельностиcmdprof:command/macro_templates— если установлено вfalse, у команд с макросами их аргументы будут встроены прямо в командуcmdprof:function/line_numbers— если установлено вtrue, команды будут включать номер своей строки вместо того, чтобы он был установлен в0cmdprof:local/profile— если установлено вtrue,/cmdprof printи/cmdprof saveстановятся доступныcmdprof:local/trace— если установлено вtrue,/cmdprof print_traceи/cmdprof save_traceстановятся доступныcmdprof:memory_usage— если установлено вtrue, все события будут отслеживать использование памяти (это довольно сильно снижает производительность, не стоит использовать, если только вы не пытаетесь сделать мод, который исправляет проблемы с использованием памяти)cmdprof:macro/instantiations— если установлено вtrue, результаты профилировщика будут включать время, затраченное на создание экземпляра макрофункции, как отдельный шаг, вместо объединения его с командой, которая выполняет создание экземпляраcmdprof:online/scoreboard— если установлено вtrue, сервер будет отправлять данные таблицы очков на страницу онлайн-данных, когда она включена.
Просмотр данных онлайн
Вы можете открыть профилировщик онлайн с помощью /cmdprof online view и остановить его с помощью /cmdprof online stop. Учтите, что сначала нужно включить профилировщик с помощью /cmdprof enable, иначе данных не будет. Если вы хотите видеть данные таблицы очков онлайн, выполните /cmdprof config cmdprof:online/scoreboard true.
Профилировщик автоматически обновляет данные каждую секунду, пока работает. Данные таблицы очков обновляются примерно каждый тик.
Бенчмаркинг функций
С помощью `/cmdprof benchmark run вы можете провести бенчмарк функции или тега функции. Это может занять некоторое время, но после завершения результаты отобразятся в чате. Вы можете отменить текущий запущенный бенчмарк с помощью/cmdprof benchmark cancel. Успешный /reload` автоматически отменяет все ожидающие бенчмарки. Бенчмаркируемые функции выполняются в контексте команд сервера, а не того, кто их запускает.
Кроме того, вы можете провести бенчмарк одной команды с помощью `/cmdprof benchmark command `.
Примечание: для бенчмаркинга конкретно профилировщик включать не нужно, вероятно, стоит выполнить /cmdprof disable, чтобы получить более точное представление о том, насколько быстро может работать функция. Однако вы всё ещё можете захотеть оставить профилировщик включённым, если хотите, например, выгрузить результаты.
Частые вопросы
Как установить Command Profiler?
Установите Fabric под свою версию Minecraft, скачайте Command Profiler под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Command Profiler?
У Command Profiler есть сборки для Minecraft 1.21.9–26.3.
Нужен ли Command Profiler на сервере?
Ставится только на сервер; игрокам ставить не нужно