如何查看Phoenix / Elixir / Erlang应用程序的正常运行时间?如果执行:observer.start()并查看“系统”选项卡,则可以在“统计”区域中查看正常运行时间。但我希望能够以编程方式提取该信息并将其包含在报告中。我已经弄明白从哪里获取大部分数据,但我不知道它从哪里获取正常运行时间。
答案 0 :(得分:12)
您可以使用statistics(runtime)
:
返回有关运行时的信息,以毫秒为单位。
这是Erlang运行时中所有线程的运行时的总和 系统,因此可以大于挂钟时间。
或statistics(wall_clock)
:
返回有关挂钟的信息。 wall_clock可用于 与运行时相同的方式,除了实时测量相反 到运行时或CPU时间。
在这两种情况下,您都需要在程序开头调用它们才能重置计时器。当你想要打印时间时,只需执行:
{_, Time1} = statistics(runtime).
或者
{_, Time2} = statistics(wall_clock).
相应地,然后您将有Time1
或Time2
的时间。有关更多信息,请查看erlang:statistics/1
注意:如果您想要自Erlang VM启动以来经过的总时间,您可以从元组中获取第一个元素:{Total_Time, Time_Since_Last_Call} = statistics(wall_clock).