dns_load 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -18,4 +18,4 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- $ dns-load -r 5000 -i 1 -d google.com,yahoo.com
21
+ $ dns-load -r 5000 -i 1 -d google.com,yahoo.com, -a 127.0.0.1 -p 53 --pool-size 4
data/lib/dns_load/cli.rb CHANGED
@@ -15,7 +15,9 @@ EOS
15
15
  opt :domains, "One or more domains to query for", short: '-d', type: String
16
16
  opt :num_requests, "The number of requests to perform per iteration", default: 5000, short: '-r', type: Integer
17
17
  opt :num_iterations, "The number of iterations to perform", default: 1, short: '-i', type: Integer
18
- opt :pool_size, "The size of the execution pool", default: 2, short: '-p', type: Integer
18
+ opt :pool_size, "The size of the execution pool", default: 2, type: Integer
19
+ opt :address, "The address of the DNS server", short: '-a', type: String
20
+ opt :port, "The port of the DNS server", default: 53, short: '-p', type: Integer
19
21
  end
20
22
 
21
23
 
@@ -30,7 +32,12 @@ pool = DnsLoad::Dig.pool( size: opts[:pool_size] )
30
32
  future = nil
31
33
 
32
34
  opts[:num_iterations].times do
33
- future = pool.future.execute( opts[:num_requests], opts[:domains].split( ',' ))
35
+ #future = pool.future.execute( opts[:num_requests], opts[:domains].split( ',' ))
36
+ future = pool.future.execute( domains: opts[:domains],
37
+ num_requests: opts[:num_requests],
38
+ domains: opts[:domains],
39
+ address: opts[:address],
40
+ port: opts[:port] )
34
41
  end
35
42
 
36
43
  future.value
data/lib/dns_load/dig.rb CHANGED
@@ -5,13 +5,18 @@ module DnsLoad
5
5
 
6
6
  include Celluloid
7
7
 
8
- def cmd( domain )
9
- "dig @127.0.0.1 -p 5300 #{domain}"
8
+ def cmd( domain, address, port )
9
+ "dig @#{address} -p #{port} #{domain}"
10
10
  end
11
11
 
12
- def execute( num_requests, domains )
12
+ def execute( options )
13
13
  cmds = []
14
- num_requests.times { cmds << cmd( domains.sample ) }
14
+ domains = options[:domains].split( ',' )
15
+
16
+ options[:num_requests].times do
17
+ cmds << cmd( domains.sample, options[:address], options[:port] )
18
+ end
19
+
15
20
  `#{cmds.join( '; ' )}`
16
21
  end
17
22
 
@@ -1,3 +1,3 @@
1
1
  module DnsLoad
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dns_load
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - C. Jason Harrelson
@@ -13,20 +14,23 @@ dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: celluloid
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: trollop
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: bundler
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ~>
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ~>
53
60
  - !ruby/object:Gem::Version
@@ -55,15 +62,17 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rake
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  description: Toolset for testing DNS server loads.
@@ -92,25 +101,32 @@ files:
92
101
  homepage: ''
93
102
  licenses:
94
103
  - MIT
95
- metadata: {}
96
104
  post_install_message:
97
105
  rdoc_options: []
98
106
  require_paths:
99
107
  - lib
100
108
  required_ruby_version: !ruby/object:Gem::Requirement
109
+ none: false
101
110
  requirements:
102
- - - '>='
111
+ - - ! '>='
103
112
  - !ruby/object:Gem::Version
104
113
  version: '0'
114
+ segments:
115
+ - 0
116
+ hash: 2674427705972842551
105
117
  required_rubygems_version: !ruby/object:Gem::Requirement
118
+ none: false
106
119
  requirements:
107
- - - '>='
120
+ - - ! '>='
108
121
  - !ruby/object:Gem::Version
109
122
  version: '0'
123
+ segments:
124
+ - 0
125
+ hash: 2674427705972842551
110
126
  requirements: []
111
127
  rubyforge_project:
112
- rubygems_version: 2.0.5
128
+ rubygems_version: 1.8.25
113
129
  signing_key:
114
- specification_version: 4
130
+ specification_version: 3
115
131
  summary: Toolset for testing DNS server loads.
116
132
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 4529541759b3ce008a1aab7c48a1c3658b297d14
4
- data.tar.gz: cc9d0d1459def84df042f43138db0b172f86f34d
5
- SHA512:
6
- metadata.gz: 38c92d275ec020d8e23f384c6dc44a88fff36faadcb5ffd751e2961164f40318f1aef2503b1ecaf43d649fe6a95dde206adc53de4bb4be61b16de0be0c7905fb
7
- data.tar.gz: 3e0a81f7fe9963c0ef605de04501495bff367040fee8c2662c15b2fc5edf0b1a40968751517cf2083cd2a53ba81b8d242b1bbd5d14c41f6d0017c0ff8ad87dc1