gpt4 book ai didi

ruby - 使用 rack-perftools_profiler 分析 Sinatra(使用 net/http)

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:01 26 4
gpt4 key购买 nike

我的 Sinatra 操作之一使用 net/http 执行另一个请求并根据响应计算一些内容:

api_response = Net::HTTP.get_response(uri)

它就像一个魅力,但当我尝试分析它时:

configure do
use ::Rack::PerftoolsProfiler, default_printer: 'pdf', frequency: 4000, mode: :walltime
end

(并将 ?profile=true 放入我得到的请求的参数中:

Errno::EADDRINUSE - Address already in use - connect(2):
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/net/http.rb:762:in `initialize'
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/net/http.rb:762:in `open'
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/net/http.rb:762:in `block in connect'
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/net/http.rb:762:in `connect'
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/net/http.rb:755:in `do_start'
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/net/http.rb:744:in `start'
/Users/tomek/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/net/http.rb:454:in `get_response'

知道发生了什么吗?

最佳答案

我尝试以与您相同的方式设置这些。

require 'sinatra'
require 'rack/perftools_profiler'
require 'net/http'

configure do
use ::Rack::PerftoolsProfiler, default_printer: 'pdf', frequency: 4000, mode: :walltime
end

get "/" do
uri = URI('http://google.com')
api_response = Net::HTTP.get_response(uri)
end

它在 ruby​​ 1.9.3-p286 和 rack-perftools_profiler (0.6.1) 上运行没有问题。

两条建议:

  • 更新你的 ruby​​ 版本
  • 更新你的 gem

如果这些不能帮助检查哪个程序使用 sudo netstat -nlp 绑定(bind)了您的端口

如果这些都没有帮助,请告诉我们更多关于您的设置的信息。

关于ruby - 使用 rack-perftools_profiler 分析 Sinatra(使用 net/http),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13778247/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com