benchy 0.0.2 → 0.0.3

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.
Files changed (4) hide show
  1. data/README.md +36 -0
  2. data/lib/benchy.rb +3 -4
  3. data/lib/benchy/version.rb +1 -1
  4. metadata +6 -5
@@ -0,0 +1,36 @@
1
+ # Benchy
2
+
3
+ I wrote this one day because I was trying to test upload performance and no tools out there were cutting it. You can do sane stuff like:
4
+
5
+ ```
6
+ benchy post http://127.0.0.1:8080/ -c 10 < my_pic.jpg # Simulates 10 concurrent HTTP POST requests
7
+ ```
8
+
9
+ or
10
+
11
+ ```
12
+ benchy get http://127.0.0.1:8080/ # Just run a bunch of GET requests at a concurrency of 1
13
+ ```
14
+
15
+ and it runs indefintely until you kill the process.
16
+
17
+ # Getting Started
18
+
19
+ Install benchie:
20
+
21
+ ```
22
+ gem install benchy
23
+ ```
24
+
25
+ Then run a command! As you'd expect:
26
+
27
+ ```
28
+ $ benchy help
29
+ Tasks:
30
+ benchy delete URL # Perform DELETE requests against a URL
31
+ benchy get URL # Perform GET requests against a URL
32
+ benchy head URL # Perform HEAD requests against a URL
33
+ benchy help [TASK] # Describe available tasks or one specific task
34
+ benchy post URL # Perform POST requests to a URL
35
+ benchy put URL # Perform PUT requests to a URL
36
+ ```
@@ -23,7 +23,7 @@ module Benchy
23
23
  end
24
24
 
25
25
  def workers
26
- @workers ||= (0..concurrency).map{|n| Worker.new(request, "worker.#{n}") }
26
+ @workers ||= (0...concurrency).map{|n| Worker.new(request, "worker.#{n}") }
27
27
  end
28
28
  end
29
29
 
@@ -80,7 +80,7 @@ module Benchy
80
80
  # Parse out some command line goodness
81
81
  class CLI < Thor
82
82
  %w[post put].each do |meth|
83
- desc "#{meth} URL", "#{meth.upcase} to a URL"
83
+ desc "#{meth} URL", "Perform #{meth.upcase} requests to a URL"
84
84
  method_option :body,
85
85
  :type => :string,
86
86
  :aliases => '-b',
@@ -104,13 +104,12 @@ module Benchy
104
104
  end
105
105
 
106
106
  %w[get head delete].each do |meth|
107
- desc "#{meth} URL", "#{meth.upcase} to a URL"
107
+ desc "#{meth} URL", "Perform #{meth.upcase} requests against a URL"
108
108
  method_option :headers,
109
109
  :type => :hash,
110
110
  :aliases => '-h',
111
111
  :desc => 'Request headers',
112
112
  :default => {
113
- 'Content-Type' => 'application/binary-octet',
114
113
  'Accepts' => '*/*'
115
114
  }
116
115
  method_option :concurrency,
@@ -1,5 +1,5 @@
1
1
  require 'em-http-request'
2
2
 
3
3
  module Benchy
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: benchy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: em-http-request
16
- requirement: &70157971397720 !ruby/object:Gem::Requirement
16
+ requirement: &70113639412860 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70157971397720
24
+ version_requirements: *70113639412860
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: thor
27
- requirement: &70157971397300 !ruby/object:Gem::Requirement
27
+ requirement: &70113639412440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70157971397300
35
+ version_requirements: *70113639412440
36
36
  description: A dirty-simple HTTP benchmarking application
37
37
  email:
38
38
  - brad@bradgessler.com
@@ -43,6 +43,7 @@ extra_rdoc_files: []
43
43
  files:
44
44
  - .gitignore
45
45
  - Gemfile
46
+ - README.md
46
47
  - Rakefile
47
48
  - benchy.gemspec
48
49
  - bin/benchy