Scala Sbt - 测量子项目的任务时间

Scala Sbt - Measure task time for subprojects

我们确实有一个包含很多子项目的 Scala-Sbt-Project。

通常,我们在根(聚合)上调用 compiletest 任务。 我正在寻找一种方法,如何获得每个子项目的任务已用时间的概览。

因为(尤其是测试)太慢了(4.5小时),我想看看,哪个子项目这么慢。我对编译测试阶段特别感兴趣。 有人有提示吗?

sbt 或 scalatest 中是否有隐藏功能,或者是否有任何地方的好插件可以找出所有时间都被吃掉的地方?

如果能在所有项目完成任务后对所用时间进行概览,那就太好了。

尝试 configuring reporter 使用 D 标志显示测试持续时间,例如

Test / testOptions += Tests.Argument("-oD")

使用标准输出报告程序打印

[info] ExampleSpec:
[info] The config map
[info] - should contain target directory used by sbt (18 milliseconds)

注意 (18 milliseconds)

也考虑。例如,在项目根目录中创建 .jvmopts 包含条目

的文件
-Dsbt.task.timings=true