Class: HttpLoader::CliArgs::HarnessParser
- Inherits:
-
Object
- Object
- HttpLoader::CliArgs::HarnessParser
- Defined in:
- lib/http_loader/cli_args.rb
Overview
HarnessParser strictly parses orchestrator arguments ignoring explicitly mapped client arguments dynamically.
Class Method Summary collapse
- .ignore_advanced_args(opts) ⇒ Object
- .ignore_core_args(opts) ⇒ Object
- .ignore_payload_args(opts) ⇒ Object
- .ignore_time_args(opts) ⇒ Object
- .parse(opts, options) ⇒ Object
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, ) opts.on('--connections_count=C', Integer) { |v| [:connections] = v } opts.on('--https') { [:use_https] = true } opts.on('--url=URL', String) { |v| [:target_urls] = v.split(',') } opts.on('--export_json=FILE', String) { |v| [:export_json] = v } opts.on('--target_duration=S', Float) { |v| [:target_duration] = v } ignore_core_args(opts) end |