Haskell 有没有办法通过服务器套接字获取公开的GHC分析信息?

Haskell 有没有办法通过服务器套接字获取公开的GHC分析信息?,haskell,profiling,ghc,Haskell,Profiling,Ghc,在JVM世界中,使用JVM的远程调试功能来获取运行时跟踪和分析信息是很常见的:JVM公开了一个端口,客户端可以连接到该端口,并从运行时获取信息 在最近的GHC中有没有实现这一点的方法?首先,请注意JVM是一个解释Java字节码的虚拟机,而GHC编译为本机代码 话虽如此,我不确定您是否可以为调试做很多工作,但我认为您可以在分析方面做一些事情 当然有ThreadScrop,但它似乎只支持验尸分析。我确信我在某个地方读到过GHC的新事件日志系统可以用于实时分析。。。但我找不到任何细节 我能找到的最好的

在JVM世界中,使用JVM的远程调试功能来获取运行时跟踪和分析信息是很常见的:JVM公开了一个端口,客户端可以连接到该端口,并从运行时获取信息


在最近的GHC中有没有实现这一点的方法?

首先,请注意JVM是一个解释Java字节码的虚拟机,而GHC编译为本机代码

话虽如此,我不确定您是否可以为调试做很多工作,但我认为您可以在分析方面做一些事情

当然有ThreadScrop,但它似乎只支持验尸分析。我确信我在某个地方读到过GHC的新事件日志系统可以用于实时分析。。。但我找不到任何细节


我能找到的最好的结果是
ekg
套餐。它似乎使用了GHC的内部统计数据收集系统,并通过HTTP公开了这一点。查看Hackage。

我相信有一个GHC API提供运行时信息,请查看暴露此信息的服务器的ekg包。我不知道调试功能是否也公开了——调试haskell代码的唯一经验就是使用GHCi。虽然我不得不说我通常不需要详细的调试,但Debug.Trace和referential透明就足够了。好吧,我不需要调试,只是碰巧在JVM中检索调试和分析的接口被合并了(不知何故,IIRC)。谢谢,我知道心电图,但没有调查该功能。