spark — это плагин для профилирования производительности, основанный на профилировщике WarmRoast от sk89q.
Скриншоты мода (кликабельны):
Плагин профилирования производительности, основанный на профилировщике WarmRoast от sk89q
Что он делает?
spark состоит из нескольких компонентов, каждый из которых подробно описан ниже.
CPU Profiler (выборка процесса) Проверка памяти (анализ кучи и мониторинг GC) Отчеты о работоспособности сервера
Это основной компонент spark — облегченный сэмплер CPU с соответствующим представлением веб-анализа на основе WarmRoast.
Сэмплер записывает статистические данные о том, какие действия займет больше времени обработки. Затем эту статистику можно использовать для диагностики потенциальных проблем с производительностью определенных частей сервера или определенных плагинов.
После того, как данные записаны, можно сформировать «граф вызовов» и отобразить в веб-браузере для анализ.
Профилировщик, такой как Spark, волшебным образом не устранит «отставание» — он всего лишь инструмент, помогающий диагностировать причину низкой производительности.
Monitor Tick Monitor (мониторинг тиков сервера)
Этот компонент контролирует скорость, с которой игровой сервер обрабатывает «тики». Может использоваться для определения тенденций и определения характера проблемы с производительностью относительно других системных событий. (сборка мусора, игровые действия и т. д.)
Этот компонент предоставляет функцию, которую можно использовать для делать базовые снимки использования системной памяти, включая информацию о потенциально проблемных классах, предполагаемых размерах и количестве экземпляров, соответствующих объектам в JVM.
В отличие от других функциональных возможностей, подобных профилировщику в spark, этот компонент не является предназначен для полной замены надлежащих инструментов анализа памяти. Это просто показывает упрощенный вид.
spark также включает в себя функциональность, которая позволяет делать «полные» снимки hprof. Затем их можно проанализировать с помощью обычных инструментов анализа памяти.
Информацию о текущем «здоровье» серверов можно посмотреть в игре используя команды. Выходные данные содержат информацию о:
Функции WarmRoast
Эти функции перенесены из вышестоящего проекта ‘WarmRoast’.
Функции spark
WarmRoast — замечательный инструмент для администраторов серверов, но у него есть несколько недостатков.
Автор попытался устранить эти недостатки в spark.
Другие преимущества spark по сравнению с другими профилировщиками:
Профилировщик spark (WarmRoast) работает по методике, известной как выборка #Statistical_profilers). Профилировщик выборки работает зондирование целевых программ вызывает стек через регулярные промежутки времени, чтобы определить, как часто выполняются определенные действия.
На практике профилировщики выборки часто могут дать более точную картину выполнения целевой программы, чем другие подходы, поскольку они не столь навязчивы для целевой программы и, следовательно, не имеют такого большого количества побочных эффектов.
Профили выборки, как правило, менее точны в численном отношении и специфичны, чем другие методы профилирования (например, измерительные приборы), но позволяют целевой программе работать почти на полной скорости.
Полученные данные не являются точными, а представляют собой статистическое приближение. Точность выходного сигнала улучшается по мере того, как сэмплер работает дольше, или когда интервал сэмплирования становится более частым.
Система синхронизации Aikar (встроенная в Spigot и Sponge) похожа на spark/WarmRoast в том смысле, что она также анализирует активность процессора сервера.
Времена обычно будут немного более точными, чем spark, но (возможно ?!) менее полезно, так как каждая область анализа должна быть определена вручную.
Например, время может идентифицировать, что определенный слушатель в плагине x занимает много процессорного времени, обрабатывая PlayerMoveEvent, но он не скажет вам, какая часть обработки идет медленно. С другой стороны, spark/WarmRoast покажет эту информацию, вплоть до имени вызова метода, вызвавшего проблему.
Установка
Для установки добавьте файл spark.jar в каталог плагинов/модов ваших серверов, и затем перезапустите сервер.
Команды
Для всех команд требуется разрешение spark.
Обратите внимание, что/sparkb,/sparkv и/sparkc должны использоваться вместо/spark в BungeeCord, Velocity. и клиент Forge устанавливается соответственно.
/spark sampler
Запускает новую операцию профилирования процессора.
Аргументы
/spark tps
Печатает информацию о частоте TPS серверов (тиков в секунду).
/spark healthreport
Создает отчет о работоспособности. для сервера.
Аргументы
/spark tickmonitoring
Запускает/останавливает систему мониторинга тиков.
Аргументы
/spark heapsummary
Создает новую сводку дампа памяти (кучи), выгружает результирующие данные и возвращает ссылка на средство просмотра.
Аргументы
/spark heapdump
Создает новый файл heapdump (.hprof snapshot) и сохраняет его на диск.
Аргументы
/li>
Требования для Forge:
Требования для Fabric:
Как установить spark на Майнкрафт с Forge:
- Скачать и установить Forge
- Скачать и кинуть spark и требуемые моды в папку mods. Все!
- Подробнее.
Как установить spark на Майнкрафт c Fabric:
- Скачать и установить Fabric
- Скачать и кинуть мод spark и требуемые моды в папку mods. Все!
- Подробнее.
Скачать spark мод на Майнкрафт:
На 1.21.3 (Neoforge)
- Скачать spark-1.10.115-neoforge.jar (27.10.2024)
На 1.21.3 (Forge)
- Скачать spark-1.10.115-forge.jar (27.10.2024)
На 1.21.3 (Fabric)
- Скачать spark-1.10.115-fabric.jar (27.10.2024)
На 1.21.1 (NeoForge)
- Скачать 1.10.97 (NeoForge 1.21.1) (12.8.2024) (3.47 MB)
На 1.21.1 (Forge)
- Скачать 1.10.97 (Forge 1.21.1) (12.8.2024) (3.49 MB)
На 1.21.1 (Fabric)
- Скачать 1.10.97 (Fabric 1.21.1) (12.8.2024) (3.42 MB)
На 1.21 (NeoForge)
- Скачать 1.10.73 (NeoForge 1.21) (17.6.2024)
На 1.21 (Forge)
- Скачать 1.10.73 (Forge 1.21) (17.6.2024)
На 1.21 (Fabric)
- Скачать 1.10.73 (Fabric 1.21) (17.6.2024)
На 1.20.6 (NeoForge)
- Скачать 1.10.65 (NeoForge 1.20.6) (2.5.2024) (2.96 MB)
На 1.20.6 (Fabric)
- Скачать 1.10.65 (Fabric 1.20.6) (2.5.2024) (2.93 MB)
На 1.20.5 (NeoForge)
- Скачать 1.10.65 (NeoForge 1.20.6) (1.5.2024) (2.96 MB)
На 1.20.5 (Fabric)
- Скачать 1.10.65 (Fabric 1.20.6) (1.5.2024) (2.93 MB)
На 1.20.5 (Fabric)
- Скачать 1.10.64 (Fabric 1.20.5) (1.5.2024) (2.93 MB)
На 1.20.4 (Forge)
- Скачать 1.10.58 (Forge 1.20.4) (17.12.2023) (2.98 MB)
На 1.20.4 (Fabric)
- Скачать 1.10.58 (Fabric 1.20.4) (17.12.2023) (2.92 MB)
На 1.20.3 (Fabric)
- Скачать 1.10.57 (Fabric 1.20.3) (7.12.2023)
На 1.20.2 (Forge)
- Скачать 1.10.54 (Forge 1.20.2) (23.9.2023)
На 1.20.2 (Fabric)
- Скачать 1.10.54 (Fabric 1.20.2) (23.9.2023)
На (Quilt)
- Скачать (23.9.2023)
На 1.20–1.20.1 (Forge)
- Скачать 1.10.53 (Forge 1.20.1) (7.9.2023)
На 1.20–1.20.1 (Fabric)
- Скачать 1.10.53 (Fabric 1.20.1) (7.9.2023)
На (Quilt)
- Скачать (7.9.2023)
На 1.20 (FORGE)
- Скачать 1.10.41 (Forge 1.20) (9.6.2023)
На 1.20 (Fabric)
- Скачать 1.10.41 (Fabric 1.20) (9.6.2023)
На 1.19.4 (Fabric)
- Скачать 1.10.34 (Fabric 1.19.4) (29.03.2023)
На 1.19.3 (Fabric)
- Скачать 1.9.45 (Forge 1.19.2) (08.12.2022)
?? 1.19.2 (FORGE)
- ??????? 1.9.36 (Forge 1.19.2) (12.09.2022)
На 1.19 (Forge)
- Скачать 1.9.13 (Forge 1.19) (12.06.2022)
На 1.18.2 (Forge)
- Скачать 1.8.14 (Forge 1.18.2) (07.04.2022)
На 1.17.1 (Forge)
- Скачать 1.6.3 (Forge 1.17.1) (07.04.2022)
На 1.16.5 (Forge)
- Скачать 1.6.0 (Forge 1.16.5) (07.04.2022)
На 1.15.2 (Fabric)
- 1.3.2 (Forge 1.15.2) (09.05.2021)
На 1.12.2
- Скачать 1.5.2 (Forge 1.12.2) (13.05.2021)