httperfrb 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
1
  source :rubygems
2
2
  gem 'open4'
3
-
4
3
  group :development do
5
4
  gem 'rspec'
6
5
  gem 'simplecov'
data/HISTORY.md CHANGED
@@ -1,6 +1,10 @@
1
1
  HTTPerf.rb
2
2
  ==========
3
3
 
4
+ ### 0.3.3
5
+
6
+ * adding limited grapher handling back
7
+
4
8
  ### 0.3.2
5
9
 
6
10
  * removed all grapher and verbose handling, as it isn't working as expected
data/README.md CHANGED
@@ -1,14 +1,10 @@
1
- HTTPERF.rb
1
+ HTTPerf.rb
2
2
  ==========
3
3
 
4
4
  ### [Documentation](http://rubyops.github.com/httperfrb/doc/) | [Coverage](http://rubyops.github.com/httperfrb/coverage/) | [RSpec Out](https://github.com/rubyops/httperfrb/blob/master/RSPECOUT.md)
5
5
 
6
6
  Simple Ruby interface for httperf.
7
7
 
8
- ### Known Issues
9
-
10
- * Verbose handling isn't parsing correctly, but should not cause errors either.
11
-
12
8
  ## Installing 'httperf'
13
9
 
14
10
  Requires httperf, of course...
@@ -24,6 +20,10 @@ Requires httperf, of course...
24
20
  #### Redhat / CentOS
25
21
 
26
22
  sudo yum install httperf
23
+
24
+ #### My 'httperf'
25
+
26
+ See: [httperf-0.9.1 with individual connection times](http://www.rubyops.net/2012/08/13/httperf-0_9_1_with_individual_connection_times).
27
27
 
28
28
  ## Install
29
29
 
@@ -135,13 +135,3 @@ Something I've been playing around with, it's more of hack really. But it works
135
135
  :errors_ftab_full
136
136
  :errors_other
137
137
 
138
-
139
- ##### Addtional Verbose Parser Keys:
140
-
141
- :connection_time_75_pct
142
- :connection_time_80_pct
143
- :connection_time_85_pct
144
- :connection_time_90_pct
145
- :connection_time_95_pct
146
- :connection_time_99_pct
147
-
@@ -8,25 +8,17 @@ class HTTPerf
8
8
  # @return [Hash] returns hash of parsed httperf output
9
9
  # @param [String] raw httperf output
10
10
  def self.parse raw
11
-
12
11
  lines = raw.split("\n")
13
12
  matches = {}
14
13
 
15
- # NOTE: commenting out all verbose handling, as the parsed
16
- # strings do not exist in standard httperf. This code was
17
- # based off of a custom hacked version.
18
- #
19
14
  # for verbose matching
20
- #verbose = false
21
- #verbose_connection_times = []
15
+ # this only works if httperf output is
16
+ # generated using my version of httperf
17
+ # see: https://github.com/rubyops/httperf
18
+ verbose = false
19
+ verbose_connection_times = []
22
20
 
23
21
  lines.each do |line|
24
-
25
- #if verbose_expression.match(line)
26
- #verbose_connection_times.push($1)
27
- #next
28
- #end
29
-
30
22
  matched = false
31
23
  unless line.empty?
32
24
  next if matched
@@ -38,30 +30,11 @@ class HTTPerf
38
30
  end
39
31
  end
40
32
  end
41
-
42
- #unless verbose_connection_times.empty?
43
- #percentiles.each do |percentile|
44
- #matches["connection_time_#{percentile}_pct".to_sym] = calculate_percentile(percentile, verbose_connection_times)
45
- #end
46
- #matches[:connection_times] = verbose_connection_times
47
- #verbose = true
48
- #end
49
-
50
- #if verbose
51
- #raise "mismatch error occurred" unless expressions.keys.count+percentiles.count+1 == matches.keys.count
52
- #else
53
- raise "mismatch error occurred" unless expressions.keys.count == matches.keys.count
54
- #end
55
-
33
+ raise "mismatch error occurred" unless expressions.keys.count == matches.keys.count
56
34
  return matches
57
35
  end
58
36
 
59
37
  protected
60
-
61
- #def self.verbose_expression
62
- #/^Connection lifetime = ([0-9]*?\.?[0-9]+)$/
63
- #end
64
-
65
38
  def self.expressions
66
39
  # While this isn't the most efficent way of doing this, it's the most maintainable.
67
40
  {
@@ -146,19 +119,20 @@ class HTTPerf
146
119
  }
147
120
  end
148
121
 
149
- #def self.percentiles
150
- #[ 75, 80, 85, 90, 95, 99 ]
151
- #end
122
+ # everything below is for verbose mode
123
+ def self.percentiles
124
+ [ 75, 80, 85, 90, 95, 99 ]
125
+ end
152
126
 
153
- #private
154
- #def self.calculate_percentile percentile, values
155
- #v = values.sort
156
- #v[percentile_index(percentile, values.count)]
157
- #end
127
+ private
128
+ def self.calculate_percentile percentile, values
129
+ v = values.sort
130
+ v[percentile_index(percentile, values.count)]
131
+ end
158
132
 
159
- #def self.percentile_index percentile, count
160
- #((count/100)*percentile)-1
161
- #end
133
+ def self.percentile_index percentile, count
134
+ ((count/100)*percentile)-1
135
+ end
162
136
  end
163
137
  end
164
138
 
@@ -1,4 +1,4 @@
1
1
  class HTTPerf
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httperfrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-13 00:00:00.000000000Z
12
+ date: 2012-08-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &17940520 !ruby/object:Gem::Requirement
16
+ requirement: &20381740 !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: :development
23
23
  prerelease: false
24
- version_requirements: *17940520
24
+ version_requirements: *20381740
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: simplecov
27
- requirement: &17939680 !ruby/object:Gem::Requirement
27
+ requirement: &20381080 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *17939680
35
+ version_requirements: *20381080
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &17939000 !ruby/object:Gem::Requirement
38
+ requirement: &20380540 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *17939000
46
+ version_requirements: *20380540
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: open4
49
- requirement: &17938280 !ruby/object:Gem::Requirement
49
+ requirement: &20380060 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *17938280
57
+ version_requirements: *20380060
58
58
  description: Simple interface for calling httperf via ruby.
59
59
  email:
60
60
  - joshua@mervine.net
@@ -82,7 +82,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
82
  version: '0'
83
83
  segments:
84
84
  - 0
85
- hash: -407478064777664208
85
+ hash: 568389306351562567
86
86
  required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  none: false
88
88
  requirements: