promotional bannermobile promotional banner
premium banner
A performance profiler built for Hytale

Description

This project has been archived and is no longer maintained. We recommend using Spark instead.

Flare is a performance diagnostics and profiling plugin built for Hytale servers. It focuses on gathering data that can assist you with determining where performance is dropping. Flare exposes on-demand commands for heap usage, GC pauses, thread counts, TPS, CPU load, world stats, and network traffic. 

When you need deeper insights you can start a profiling session and Flare will capture periodic snapshots of all the above data alongside high-frequency samples of the current executation stack. These profiles are saved as .flarereport files which can be used for inspection.

Currently there's no easy way of digging into these reports, as they're zstd-compressed protobuf binaries, but there is a Python script that can convert them into JSON. Eventually we'll provide a viewer for reports. 

Flare also captures both a preamble and a postamble of the server and world configs, as well as various envrionment data. These preambles allow for the discovery of configuration changes during a profile session. 

Flare's goal is to capture verbose data, do so without hurting performance, and expose metrics that can help players tune their servers. 

Commands

The plugin provides a /flare command with the following subcommands:

  • /flare or /flare status - Show current performance metrics snapshot
  • /flare info - Show plugin information
  • /flare heap - Show detailed heap memory status
  • /flare gc - Show garbage collection statistics
  • /flare threads - Show thread information and deadlock detection
  • /flare tps - Show TPS information
  • /flare cpu - Show CPU usage (if available)
  • /flare network - Show network traffic statistics
  • /flare profile start [timeoutSeconds] - Start a profiling session (auto-stop after N seconds)
  • /flare profile stop - Stop the current profiling session
  • /flare profile status - Show profiling session status

Profiling

To start profiling:

/flare profile start

To auto-stop after 30 seconds:

/flare profile start 30

This will begin collecting performance snapshots at the configured interval (default: 1 second). The profiler will automatically stop when:

  • Maximum duration is reached (default: 1 hour)
  • Maximum snapshots are reached (default: 3600)
  • You manually stop it with /flare profile stop

Profile data is saved as .flarereport files in mods/Flare/profiles/ with filenames like profile_YYYY-MM-DD_HH-MM-SS.flarereport. Reports are zstd-compressed protobuf payloads.

Game together in seconds. Spin up your own Hytale server today