celluloid-benchmark 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e9c3d7d1944efb1aaf1bad886c4b908e85091c60
4
- data.tar.gz: e279f4774b8790d66c6acde77963cb8e7865e53b
3
+ metadata.gz: 87902d700dba56fd25b4d8a800780d3ad537632d
4
+ data.tar.gz: f15b09d76bd846a93921e349860557730284391f
5
5
  SHA512:
6
- metadata.gz: 80245cd323174a52cdeb6f6cd71ade1fd02491793086b76fb0eb4608781ea5c415bf74fa8171b7ac9fcf8b0e34bbc6fc19779d0288dff493b51dac5d1c93d266
7
- data.tar.gz: 35c665225dc623b5eecc11d19b7f8fecba92d3b23cb1849da98e89cfbbce884d83cf0f7e13c71affc048565a4d1ff86891c7ede5a59f5ebb980f3203b7ee1d05
6
+ metadata.gz: 4f3dde3a1daeb364b7c4c9e648087ef65c7a2684aa3befdbf09027abfed02d927a33f811ac7e3d8faa97de8e32f5da8cebe2459536024478895b034e6e3b2867
7
+ data.tar.gz: 5bbe5bb2e854a9acc7459ea6bfcfba0f35c832ffbb9c43ead4433fb27a77f93543e935000dcdf4e1e838b86c68852ab77a98713baeb5f184a67b93d9c5da57a4
@@ -62,7 +62,10 @@ module CelluloidBenchmark
62
62
 
63
63
  def network_time
64
64
  requests = network_times.values.flatten
65
- requests.reduce(:+) / requests.size
65
+
66
+ if requests.size > 0
67
+ requests.reduce(:+) / requests.size
68
+ end
66
69
  end
67
70
 
68
71
  def benchmarks
@@ -15,8 +15,17 @@ module CelluloidBenchmark
15
15
  end
16
16
 
17
17
  def data_source(key)
18
+ raise_empty(key) if empty?(key)
18
19
  data_sources[key]
19
20
  end
21
+
22
+ def raise_empty(key)
23
+ raise "Empty random data for '#{key}'. Ensure target has test data and run rake app:performance:get_random_data."
24
+ end
25
+
26
+ def empty?(key)
27
+ data_sources[key].size == 0
28
+ end
20
29
  end
21
30
  end
22
31
 
@@ -1,3 +1,3 @@
1
1
  module CelluloidBenchmark
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -16,7 +16,7 @@ module CelluloidBenchmark
16
16
 
17
17
  def_delegators :@browser, :add_auth, :submit, :transact
18
18
 
19
- attr_reader :benchmark_run
19
+ attr_accessor :benchmark_run
20
20
  attr_accessor :browser
21
21
  attr_accessor :current_request_label
22
22
  attr_accessor :current_request_threshold
@@ -79,36 +79,17 @@ module CelluloidBenchmark
79
79
  end
80
80
  end
81
81
 
82
-
83
- private
84
-
85
- def add_browser_timing_hooks
86
- browser.pre_connect_hooks << proc do |agent, request|
87
- self.request_start_time = Time.now
88
- end
89
-
90
- browser.post_connect_hooks << proc do |agent, uri, response, body|
91
- self.request_end_time = Time.now
92
- end
93
- end
94
-
95
- def server_response_time(page)
96
- if page && page["x-runtime"]
97
- page["x-runtime"].to_f
98
- end
99
- end
100
-
101
82
  def log_response(page)
102
- if benchmark_run
103
- benchmark_run.async.log(
104
- page.code,
105
- request_start_time,
106
- request_end_time,
107
- server_response_time(page),
108
- current_request_label,
109
- current_request_threshold
110
- )
111
- end
83
+ benchmark_run.async.log(
84
+ page.code,
85
+ request_start_time,
86
+ request_end_time,
87
+ server_response_time(page),
88
+ current_request_label,
89
+ current_request_threshold
90
+ )
91
+
92
+ true
112
93
  end
113
94
 
114
95
  def log_response_code_error(error)
@@ -117,9 +98,11 @@ module CelluloidBenchmark
117
98
  error.response_code,
118
99
  request_start_time,
119
100
  request_end_time,
101
+ server_response_time(browser.current_page),
120
102
  current_request_label,
121
103
  current_request_threshold
122
104
  )
105
+ true
123
106
  end
124
107
 
125
108
  def log_network_error(error)
@@ -128,9 +111,30 @@ module CelluloidBenchmark
128
111
  500,
129
112
  request_start_time,
130
113
  request_end_time,
114
+ server_response_time(browser.current_page),
131
115
  current_request_label,
132
116
  current_request_threshold
133
117
  )
118
+ true
119
+ end
120
+
121
+
122
+ private
123
+
124
+ def add_browser_timing_hooks
125
+ browser.pre_connect_hooks << proc do |agent, request|
126
+ self.request_start_time = Time.now
127
+ end
128
+
129
+ browser.post_connect_hooks << proc do |agent, uri, response, body|
130
+ self.request_end_time = Time.now
131
+ end
132
+ end
133
+
134
+ def server_response_time(page)
135
+ if page && page["x-runtime"]
136
+ page["x-runtime"].to_f
137
+ end
134
138
  end
135
139
  end
136
140
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: celluloid-benchmark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Willson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-05 00:00:00.000000000 Z
11
+ date: 2015-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: celluloid