【问题标题】:How do you run maven unit tests with hprof如何使用 hprof 运行 maven 单元测试
【发布时间】:2018-02-03 17:48:41
【问题描述】:

我试图弄清楚为什么单元测试需要几秒钟而不是几毫秒才能运行。这是一个重要的问题,因为超过 300 个测试课程,这需要 20 分钟。我希望在我的 Maven 单元测试中使用性能分析器(如 java HPROF)。然后我会自己分析 hprof 输出。

【问题讨论】:

  • 如果您通过 maven 运行测试,您将获得每个测试类如何运行测试的输出。之后您可以深入了解最耗时的测试类...跨度>
  • 是的。问题不在于有一个特别慢的测试课程。都是他们:(

标签: java maven hprof


【解决方案1】:

我将以下 argline 配置添加到我的万能插件块中

<configuration>
    <forkMode>never</forkMode>
    <argLine>
        -agentlib:hprof=cpu=samples,lineno=y,depth=3,file=hprof.samples.txt
    </argLine>
    ...
<configuration>

您不得分叉 JVM。所有测试都必须重用相同的 jvm 才能正常工作。

这会生成一个 hprof 文件(请参阅:https://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html)。这会提示您代码的哪一部分正在减慢速度。在我的例子中,它结合了reuseFork=never 和类加载。

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2015-07-19
    • 2013-03-12
    相关资源
    最近更新 更多