首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在测试中使用带堆栈的ekg

在测试中使用带堆栈的ekg
EN

Stack Overflow用户
提问于 2018-01-04 10:41:29
回答 2查看 57关注 0票数 0

我写了一些耐力测试,我和stack test一起运行。我还使用ekg来监视性能。这套方案建议:

要充分利用这个模块,您必须首先在运行时系统中启用GC统计信息收集。若要启用GC统计信息收集,请使用 +RTS -T 或者用 -有-rtsopts=-T

我知道堆栈支持--profile--trace选项,但我找不到将+RTS -T选项传递给测试程序的任何选项。有什么旗子可以用来达到这个效果吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-04 13:58:24

正如Mark所说,使用--test-arguments为您的测试应用程序提供命令行参数:

代码语言:javascript
运行
复制
stack test --test-arguments="+RTS -T"

如果不使用stack test但使用stack exec,请确保禁用stack本身中的RTS解析:

代码语言:javascript
运行
复制
stack --RTS exec <executable-name> +RTS <rts-options>
票数 1
EN

Stack Overflow用户

发布于 2018-01-04 14:30:07

另一种可能是在.cabal (如果使用hpack)文件中设置编译器选项:

代码语言:javascript
运行
复制
ghc-options:
# ...
- -with-rtsopts=-N
# ... Add the -T options on top of the other `RTS` options:
- -with-rtsopts=-T
# ...

由于-T选项的开销很小,这种方法不需要向stack传递任何标志就可以获得相关的ekg指标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48093503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档