class Drnbench::RequestResponse::Configuration
Constants
- MIN_DURATION
- MIN_WAIT
Attributes
default_hosts[R]
default_method[RW]
default_path[RW]
default_port[RW]
default_timeout[RW]
duration[RW]
end_n_clients[RW]
interval[RW]
mode[RW]
n_fast_requests[RW]
n_requests[RW]
n_slow_requests[RW]
output_path[RW]
report_progressively[RW]
request_patterns_file[RW]
start_n_clients[RW]
step[RW]
wait[RW]
Public Class Methods
new()
click to toggle source
# File lib/drnbench/request-response/configuration.rb, line 32 def initialize @duration = 30 @wait = 0.01 @interval = 10 @start_n_clients = 0 @end_n_clients = 1 @step = 1 @n_requests = 1000 @mode = :http @n_slow_requests = 5 @n_fast_requests = 5 @default_hosts = ["localhost"] @default_port = 80 @default_path = "/" @default_method = "GET" @default_timeout = 5.0 @report_progressively = true @output_path = "/tmp/drnbench-result.csv" @last_default_host_index = 0 end
Public Instance Methods
default_host()
click to toggle source
# File lib/drnbench/request-response/configuration.rb, line 86 def default_host host = @default_hosts[@last_default_host_index] @last_default_host_index += 1 if @last_default_host_index == @default_hosts.size @last_default_host_index = 0 end host end
default_hosts=(hosts)
click to toggle source
# File lib/drnbench/request-response/configuration.rb, line 81 def default_hosts=(hosts) @last_default_host_index = 0 @default_hosts = hosts end
request_patterns()
click to toggle source
# File lib/drnbench/request-response/configuration.rb, line 77 def request_patterns @request_patterns ||= prepare_request_patterns end
validate()
click to toggle source
# File lib/drnbench/request-response/configuration.rb, line 56 def validate if @duration.nil? raise ArgumentError.new("You must specify the test duration.") end if @request_patterns_file.nil? raise ArgumentError.new("You must specify the path to the request patterns JSON file.") end end
Private Instance Methods
prepare_request_patterns()
click to toggle source
# File lib/drnbench/request-response/configuration.rb, line 96 def prepare_request_patterns request_patterns = File.read(@request_patterns_file) begin request_patterns = JSON.parse(request_patterns) rescue JSON::ParserError # it's a simple text file, list of paths request_patterns = request_patterns.strip.split(/\r?\n/) end end