spark - Performance Profiler for Minecraft
spark is a comprehensive performance analysis tool for Minecraft clients, servers, and proxies.
Main Features
⚡ CPU Profiling
spark's profiler helps identify performance issues such as lag, low tick rate, high CPU usage, and other problems. It features minimal impact on system operation, ease of use without complex configuration, and the ability to quickly provide useful results - just 30 seconds of operation is enough to obtain valuable information about problematic areas.
The system supports various profiling settings, including selection of specific threads, setting sampling intervals, and recording only low-performance periods. Results are presented in a convenient tree format with the ability to apply deobfuscation.
⚡ Memory Analysis
spark includes several tools for diagnosing memory issues:
- Heap Summary - basic snapshot of server memory with information about memory usage and instance counts for each class
- Full Heap Dump - creation of a complete JVM memory snapshot in HPROF format for subsequent analysis in specialized tools
- Garbage Collection Monitoring - tracking GC activity with the ability to correlate with game server hangs
⚡ Server Health Monitoring
The system tracks key performance metrics:
- TPS (ticks per second) with increased accuracy
- Tick execution duration (minimum, maximum, and average)
- CPU usage by the server process and the entire system
- RAM usage
- Free and used disk space
spark can also monitor individual ticks and send notifications when duration threshold values are exceeded.
Technical Features
The profiler uses two different operation mechanisms:
- Native AsyncGetCallTrace + perf_events based on async-profiler (available only on Linux x86_64)
- Built-in Java ThreadMXBean - improved version of the popular WarmRoast profiler
Installation and Usage
For installation, simply add the .jar file to the mods directory. Detailed documentation on command usage is available on the project's official website.
Useful Resources
The project website contains guides on various topics, including game loop operation and finding causes of lag.