dns_load 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +1 -1
- data/lib/dns_load/cli.rb +9 -2
- data/lib/dns_load/dig.rb +9 -4
- data/lib/dns_load/version.rb +1 -1
- metadata +26 -10
- checksums.yaml +0 -7
data/README.md
CHANGED
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,
|
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
|
8
|
+
def cmd( domain, address, port )
|
9
|
+
"dig @#{address} -p #{port} #{domain}"
|
10
10
|
end
|
11
11
|
|
12
|
-
def execute(
|
12
|
+
def execute( options )
|
13
13
|
cmds = []
|
14
|
-
|
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
|
|
data/lib/dns_load/version.rb
CHANGED
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.
|
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:
|
128
|
+
rubygems_version: 1.8.25
|
113
129
|
signing_key:
|
114
|
-
specification_version:
|
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
|