spark
[!INFO] Git Commit:
7e1fe42| Updated: 2026-10-02
spark 是 lucko 编写、现由 GTNewHorizons 维护的性能分析工具(profiler)。它的定位是纯诊断模组:在本仓中 0 方块 / 0 物品 / 0 实体 / 0 配方 / 0 GUI(证据:grep -rn 'registerBlock\|registerItem\|GameRegistry\.register' --include=*.java 全仓 0 命中;对 IGuiHandler / GuiScreen / RenderGameOverlayEvent 同样 0 命中)。它不进入合成表、不影响游戏进程、不含任何世界内容 —— 全部功能是 2 条命令(服务端 /spark、客户端 /sparkc)、10 个子命令、1 个 config.json 和 1 个供其他模组调用的 Java API。
分析结果不落在游戏内,而是以可点击 URL 交给外部 Web 查看器 https://spark.lucko.me/ 渲染;本地也能存成 .sparkprofile / .sparkheap / .hprof 文件。
Forge 1.7.10 适配层
本分类针对的是 spark-forge1710 模块,不是上游的现代 Forge 模组。modid 从源码读取为 spark(Forge1710SparkMod.java:37),mcmod.info 中同为 "modid": "spark",无连字符。
版本门禁:spark-forge1710/build.gradle:24 为 version = "1.7.10-10.13.4.1614-1.7.10",配合 ForgeGradle 1.2 与 mappings = 'stable_12',源码兼容 Java 8。
跨版本隔离:settings.gradle 只 include 了 spark-api、spark-common、spark-forge1710 三个模块。仓内另有 spark-fabric、spark-forge、spark-bukkit、spark-sponge7/8、spark-velocity4 等 11 个其他平台模块不参与构建,已排除在本条目之外。它们的内容(如现代 Forge 模块所用的 CommandSourceStack、sparkc / sparkclient 客户端别名)不收录。
@Mod 注解为 acceptableRemoteVersions = "*"(Forge1710SparkMod.java:40),即不限制远端版本。
1.7.10 上的两处已知问题
均为本 fork 适配层的实际代码状态,非推测:
/spark ping恒不可用:Forge1710PlayerPingProvider全仓仅 2 处引用(都在它自己的文件里),从未被createPlayerPingProvider()接线;其余 11 个平台模块都接线了,1.7.10 是唯一遗漏。详见 ping。Forge1710SparkPlugin.getCommandName()无限递归:基类实现自我调用,但两个子类均已覆写,当前不会触发。详见 /spark。
指令列表
- /spark - 指令入口总览:10 个子命令、权限模型、异步执行与 15 秒看门狗
- /spark profiler - 采样器启停与上传,别名
sampler - /spark tps - TPS / tick 时长 / CPU 一次性输出,别名
cpu - /spark ping - 玩家延迟查询(1.7.10 上恒回复不可用)
- /spark healthreport - 完整健康报告:tick / CPU / 内存 / 网络 / 磁盘
- /spark tickmonitor - tick 耗时越阈值时广播主线程栈
- /spark gc - GC 累计统计(相对服务器启动基线做差)
- /spark gcmonitor - GC 事件实时监控,开关式
- /spark heapsummary - 堆内存构成摘要
- /spark heapdump - 完整堆快照
.hprof/.phd,支持 GZIP - /spark activity - 历史活动记录,保留 60 天
采样器列表
- 采样引擎 - async-profiler 与内置 Java 引擎,含 5 组平台支持矩阵与失败自动降级
- 后台采样器 - 服务端默认开启的常驻采样器及其 5 个配置项
- 线程分组与导出 - ThreadGrouper / ThreadDumper 取值表与 1.7.10 默认线程
报告列表
- 报告输出与查看器 - bytebin / bytesocks 双端点、信任链、报告内嵌元数据
设置列表
- config.json 配置项 - 全部 10 个顶层配置键、默认值与自动改写行为
- 配置目录文件 -
config/spark/下的全部落盘产物与生命周期 - 访问变换器 - 单条 FMLAT 规则,放宽
Minecraft.mcThread可见性
API 列表
- Spark API -
SparkProvider.get()单例门面,5 个统计方法供其他模组调用