Class: HttpLoader::CliArgs::HarnessParser

Inherits:
Object
  • Object
show all
Defined in:
lib/http_loader/cli_args.rb

Overview

HarnessParser strictly parses orchestrator arguments ignoring explicitly mapped client arguments dynamically.

Class Method Summary collapse

Class Method Details

.ignore_advanced_args(opts) ⇒ Object



104
105
106
107
108
109
110
111
# File 'lib/http_loader/cli_args.rb', line 104

def self.ignore_advanced_args(opts)
  opts.on('--jitter=F', Float) { nil }
  opts.on('--track_status_codes') { nil }
  opts.on('--ramp_up=S', Float) { nil }
  opts.on('--bind_ips=IPS', String) { nil }
  opts.on('--proxy_pool=U', String) { nil }
  ignore_payload_args(opts)
end

.ignore_core_args(opts) ⇒ Object



86
87
88
89
90
91
92
93
# File 'lib/http_loader/cli_args.rb', line 86

def self.ignore_core_args(opts)
  opts.on('--verbose') { nil }
  opts.on('--[no-]ping') { nil }
  opts.on('--ping_period=S', Integer) { nil }
  opts.on('--http_loader_timeout=S', Float) { nil }
  opts.on('--connections_per_second=R', Integer) { nil }
  ignore_time_args(opts)
end

.ignore_payload_args(opts) ⇒ Object



113
114
115
116
117
# File 'lib/http_loader/cli_args.rb', line 113

def self.ignore_payload_args(opts)
  opts.on('--qps_per_connection=R', Integer) { nil }
  opts.on('--headers=LIST', String) { nil }
  opts.on('--slowloris_delay=S', Float) { nil }
end

.ignore_time_args(opts) ⇒ Object



95
96
97
98
99
100
101
102
# File 'lib/http_loader/cli_args.rb', line 95

def self.ignore_time_args(opts)
  opts.on('--max_concurrent_connections=C', Integer) { nil }
  opts.on('--reopen_closed_connections') { nil }
  opts.on('--reopen_interval=S', Float) { nil }
  opts.on('--read_timeout=S', Float) { nil }
  opts.on('--user_agent=A', String) { nil }
  ignore_advanced_args(opts)
end

.parse(opts, options) ⇒ Object



77
78
79
80
81
82
83
84
# File 'lib/http_loader/cli_args.rb', line 77

def self.parse(opts, options)
  opts.on('--connections_count=C', Integer) { |v| options[:connections] = v }
  opts.on('--https') { options[:use_https] = true }
  opts.on('--url=URL', String) { |v| options[:target_urls] = v.split(',') }
  opts.on('--export_json=FILE', String) { |v| options[:export_json] = v }
  opts.on('--target_duration=S', Float) { |v| options[:target_duration] = v }
  ignore_core_args(opts)
end