You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OptaPlanner v8.8.0大规模Benchmarker报告显示异常及空指针问题咨询

回答

图表图例占满绘图区问题

8.8.0.Final版本的基准测试报告默认生成静态PNG图表,没有公开的配置项直接调整边距、图例布局,你可以按两种方式处理:

  • 自定义FreeMarker模板:OptaPlanner基准报告的生成逻辑基于FreeMarker模板,你可以把optaplanner-benchmark依赖包内org/optaplanner/benchmark/impl/report路径下的模板文件拷贝到你项目的resources对应目录,修改图表生成的相关参数:比如调高图表整体高度,把图例位置从侧边改到图表底部,或者给图例增加滚动显示逻辑,调整后重新运行基准测试生成报告即可。
  • 直接修改已生成的报告:如果不想重新跑测试,直接打开输出的HTML报告,修改对应的CSS样式,给绘图区域增加额外边距,或者直接删除多余的图例条目,只保留你需要对比的配置对应的图例。

BenchmarkAggregatorFrame空指针异常问题

堆栈里的NPE是因为部分子测试用例(subSingle)运行异常没有生成有效得分,比较器在排序时读取空得分对象触发的,你可以用以下方法解决:

  • 先排查测试运行日志,确认是否有部分子用例执行失败、提前终止,先修复测试用例本身的问题,保证所有subSingle都能输出有效得分后再使用聚合工具。
  • 如果不想排查测试用例,可以自己写一个自定义的排名比较器,继承ScoreSubSingleBenchmarkRankingComparator,重写compare方法,对空得分的情况做兼容处理,把空得分的条目统一排到最后,再在基准测试配置里指定使用你自定义的比较器即可。
  • 直接升级OptaPlanner版本到8.13.0.Final及以上,官方在后续版本已经修复了这个空指针问题,在比较器里提前做了空值判断。

内容的提问来源于stack exchange,提问作者Ryan Moser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:39:02