Flare

Flare

专为Hytale打造的性能分析器

实用

该项目已归档,不再维护。我们推荐使用 Spark 作为替代。

Flare 是为 Hytale 服务器构建的性能诊断和剖析插件。它专注于收集数据,帮助您确定性能下降的位置。Flare 提供按需命令,用于查看堆内存使用情况、GC 暂停、线程数、TPS、CPU 负载、世界统计信息和网络流量。

当您需要更深入的分析时,可以启动一个剖析会话,Flare 将定期捕获上述所有数据的快照,以及当前执行栈的高频样本。这些配置文件保存为 .flarereport 文件,可用于检查。

目前,没有简便的方法来深入查看这些报告,因为它们是 zstd 压缩的 protobuf 二进制文件,但有一个 Python 脚本可以将它们转换为 JSON。最终我们会提供一个报告查看器。

Flare 还会捕获服务器和世界配置的前文和后文,以及各种环境数据。这些前文允许在剖析会话期间发现配置更改。

Flare 的目标是捕获详细数据,同时不影响性能,并公开有助于玩家调整服务器的指标。

命令

该插件提供 /flare 命令,包含以下子命令:

  • /flare/flare status - 显示当前性能指标快照
  • /flare info - 显示插件信息
  • /flare heap - 显示详细的堆内存状态
  • /flare gc - 显示垃圾回收统计信息
  • /flare threads - 显示线程信息和死锁检测
  • /flare tps - 显示 TPS 信息
  • /flare cpu - 显示 CPU 使用率(如果可用)
  • /flare network - 显示网络流量统计信息
  • /flare profile start [timeoutSeconds] - 启动剖析会话(N 秒后自动停止)
  • /flare profile stop - 停止当前剖析会话
  • /flare profile status - 显示剖析会话状态

剖析

启动剖析:

/flare profile start

30 秒后自动停止:

/flare profile start 30

这将开始以配置的间隔(默认:1 秒)收集性能快照。剖析器会在以下情况下自动停止:

  • 达到最大持续时间(默认:1 小时)
  • 达到最大快照数量(默认:3600)
  • 您手动使用 /flare profile stop 停止它

剖析数据保存为 mods/Flare/profiles/ 目录下的 .flarereport 文件,文件名如 profile_YYYY-MM-DD_HH-MM-SS.flarereport。报告是 zstd 压缩的 protobuf 负载。