Erlang 如何在elixir中获取HTTP请求的响应时间?
我正在对api端点进行一些监视。我已经试用过一些http客户机,比如httpoison和hackney erlang库。但是他们没有给我http响应时间,是吗?有人经历过这种情况吗?如果有人能帮我,我将不胜感激。请将您的呼叫打包到Erlang 如何在elixir中获取HTTP请求的响应时间?,erlang,elixir,Erlang,Elixir,我正在对api端点进行一些监视。我已经试用过一些http客户机,比如httpoison和hackney erlang库。但是他们没有给我http响应时间,是吗?有人经历过这种情况吗?如果有人能帮我,我将不胜感激。请将您的呼叫打包到计时器:tc/1。看 在Erlang中,这类似于: {ElapsedUs, Result} = timer:tc(fun() -> hackey:get(Url) end). 或者,Hackney支持通过folsom或exometer报告指标(包括计时)。请参见
计时器:tc/1
。看
在Erlang中,这类似于:
{ElapsedUs, Result} = timer:tc(fun() -> hackey:get(Url) end).
或者,Hackney支持通过folsom或exometer报告指标(包括计时)。请参见在
计时器:tc/1
中结束通话。看
在Erlang中,这类似于:
{ElapsedUs, Result} = timer:tc(fun() -> hackey:get(Url) end).
或者,Hackney支持通过folsom或exometer报告指标(包括计时)。请看太赫兹,但我已经试过了。它只给我函数执行时间。所以,它总是大于实际响应时间。连接超时时,其返回值大于我设置的超时值。这就是为什么我在寻找更好的方法。有多好?我发现很难相信,与HTTP往返相比,函数调用开销是可以观察到的。以毫秒为单位,我在HTTPoison中设置了超时10毫秒并发出请求。它是timeout和timer.tc给我12,13毫秒,10毫秒的超时可能只精确到几毫秒。这就解释了为什么你会看到12毫秒过去了。毕竟,Erlang是唯一的软实时。太赫兹,但我已经试过了。它只给我函数执行时间。所以,它总是大于实际响应时间。连接超时时,其返回值大于我设置的超时值。这就是为什么我在寻找更好的方法。有多好?我发现很难相信,与HTTP往返相比,函数调用开销是可以观察到的。以毫秒为单位,我在HTTPoison中设置了超时10毫秒并发出请求。它是timeout和timer.tc给我12,13毫秒,10毫秒的超时可能只精确到几毫秒。这就解释了为什么你会看到12毫秒过去了。毕竟,Erlang是唯一的软实时。