Ruby on rails 如何获取RestClient执行一个方法所花费的时间?
我正在使用RestClient gem执行API请求。 我想知道执行该请求需要多少时间Ruby on rails 如何获取RestClient执行一个方法所花费的时间?,ruby-on-rails,ruby,ruby-on-rails-3,rest-client,Ruby On Rails,Ruby,Ruby On Rails 3,Rest Client,我正在使用RestClient gem执行API请求。 我想知道执行该请求需要多少时间 responseObject = RestClient.post request_url,params[:request_body],:content_type => params[:content_type] responseObject.code 现在我如何获得执行时间。用于此目的 require "benchmark" time = Benchmark.measure do respons
responseObject = RestClient.post request_url,params[:request_body],:content_type => params[:content_type]
responseObject.code
现在我如何获得执行时间。用于此目的
require "benchmark"
time = Benchmark.measure do
responseObject = RestClient.post request_url,params[:request_body],:content_type => params[:content_type]
end
以一种原始的方式:
beginning_time = Time.now
responseObject = RestClient.post request_url,params[:request_body],:content_type => params[:content_type]
end_time = Time.now
puts "Time elapsed #{(end_time - beginning_time)*1000} milliseconds"
用于该目的
require "benchmark"
time = Benchmark.measure do
responseObject = RestClient.post request_url,params[:request_body],:content_type => params[:content_type]
end
以一种原始的方式:
beginning_time = Time.now
responseObject = RestClient.post request_url,params[:request_body],:content_type => params[:content_type]
end_time = Time.now
puts "Time elapsed #{(end_time - beginning_time)*1000} milliseconds"
在这里可能有用
由于RestClient使用一个名为Request的类来执行所有api请求(请参阅源代码),所以可以在初始值设定项中将此代码段添加到rails项目中。只需在您的环境配置中添加config.debug\u rest\u client\u duration=true,它就可以工作了
class RestClient::Request
class << self
def execute_with_log_duration(args, &block)
started = Time.now
res = execute_without_log_duration(args, &block)
Rails.logger.info "api call duration is: " + (Time.now - started).to_s + " seconds"
return res
end
alias_method_chain :execute, :log_duration if Rails.application.config.debug_rest_client_duration
end
end
在这里可能有用
由于RestClient使用一个名为Request的类来执行所有api请求(请参阅源代码),所以可以在初始值设定项中将此代码段添加到rails项目中。只需在您的环境配置中添加config.debug\u rest\u client\u duration=true,它就可以工作了
class RestClient::Request
class << self
def execute_with_log_duration(args, &block)
started = Time.now
res = execute_without_log_duration(args, &block)
Rails.logger.info "api call duration is: " + (Time.now - started).to_s + " seconds"
return res
end
alias_method_chain :execute, :log_duration if Rails.application.config.debug_rest_client_duration
end
end