nice_http 1.7.10 → 1.7.11

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
  SHA256:
3
- metadata.gz: 03b1d68a17324f108e8d32773b3ec3bea92822717cbf539951e9048bad1f8229
4
- data.tar.gz: 50d20e359b003ea4eade1f12d5b3284446467cfb8baf74d9062a026226e6b40a
3
+ metadata.gz: b25e87b3aa0fc0441ef89f640ab48775c51d18d15bfc9432436560f2ed419350
4
+ data.tar.gz: 7ebac02ad1e04ec6ceec028d3bd8755cfda8ae3c8e89900c49d1fbd313907ef2
5
5
  SHA512:
6
- metadata.gz: 1c07a6792ed676456b9eda248e78625569f291d87d30c8b9b511abfb558fd6daa6d55de5d5a85748b9a99ab54a6c77cb85e1f6bc8ea63a6d4db65f16a579ae5b
7
- data.tar.gz: f008518d2ee64203104718dbd5d214209f2aa9f0b986d366c7ceced756d51e3f85b4d63f54b46d6755576c84e72082d4b6da1fc095833e68fb8b69d34124d672
6
+ metadata.gz: 3ca1df8e19b1d4632bfdff00c9e358386597b10501006c9c7f877e4b311c11e0ceff6e53217b1843402e6a2c4dae01dbd304af3f59c29bcba5526e9d9a8d4133
7
+ data.tar.gz: d0c52aeee6739d242b7fd417dc622f05ea6b8d8517b77809d64a55945385230766b422753a4c07293231bc2f8e8bc1f269dd875c54a0202f6dee6c5a3caf2422
@@ -103,11 +103,11 @@ class NiceHttp
103
103
  num_requests: 0,
104
104
  started: nil,
105
105
  finished: nil,
106
- real_time_elapsed: nil,
106
+ real_time_elapsed: 0,
107
107
  time_elapsed: {
108
108
  total: 0,
109
109
  maximum: 0,
110
- minimum: 100000,
110
+ minimum: 1000000,
111
111
  average: 0,
112
112
  },
113
113
  method: {},
@@ -168,14 +168,18 @@ class NiceHttp
168
168
  # end
169
169
  # NiceHttp.add_stats(:customer, :create, started, Time.now)
170
170
  ######################################################
171
- def self.add_stats(name, state, started, finished, item=nil)
171
+ def self.add_stats(name, state, started, finished, item = nil)
172
172
  self.stats[:specific] ||= {}
173
- self.stats[:specific][name] ||= { num: 0, started: started, finished: finished, real_time_elapsed: nil, time_elapsed: { total: 0, maximum: 0, minimum: 1000, average: 0 }}
173
+ self.stats[:specific][name] ||= { num: 0, started: started, finished: started, real_time_elapsed: 0, time_elapsed: { total: 0, maximum: 0, minimum: 100000, average: 0 } }
174
174
  self.stats[:specific][name][:num] += 1
175
175
 
176
+ if started < self.stats[:specific][name][:finished]
177
+ self.stats[:specific][name][:real_time_elapsed] += (finished - self.stats[:specific][name][:finished])
178
+ else
179
+ self.stats[:specific][name][:real_time_elapsed] += (finished - started)
180
+ end
176
181
  self.stats[:specific][name][:finished] = finished
177
- self.stats[:specific][name][:real_time_elapsed] = finished - self.stats[:specific][name][:started]
178
-
182
+
179
183
  time_elapsed = self.stats[:specific][name][:time_elapsed]
180
184
  time_elapsed[:total] += finished - started
181
185
  if time_elapsed[:maximum] < (finished - started)
@@ -187,7 +191,7 @@ class NiceHttp
187
191
  end
188
192
  end
189
193
  if time_elapsed[:minimum] > (finished - started)
190
- time_elapsed[:minimum] = (finished - started)
194
+ time_elapsed[:minimum] = (finished - started)
191
195
  if !item.nil?
192
196
  time_elapsed[:item_minimum] = item
193
197
  elsif Thread.current.name.to_s != ""
@@ -196,16 +200,21 @@ class NiceHttp
196
200
  end
197
201
  time_elapsed[:average] = time_elapsed[:total] / self.stats[:specific][name][:num]
198
202
 
199
- self.stats[:specific][name][state] ||= { num: 0, started: started, finished: finished, real_time_elapsed: nil, time_elapsed: { total: 0, maximum: 0, minimum: 1000, average: 0 }, items: [] }
203
+ self.stats[:specific][name][state] ||= { num: 0, started: started, finished: started, real_time_elapsed: 0, time_elapsed: { total: 0, maximum: 0, minimum: 1000, average: 0 }, items: [] }
200
204
  self.stats[:specific][name][state][:num] += 1
205
+ if started < self.stats[:specific][name][state][:finished]
206
+ self.stats[:specific][name][state][:real_time_elapsed] += (finished - self.stats[:specific][name][state][:finished])
207
+ else
208
+ self.stats[:specific][name][state][:real_time_elapsed] += (finished - started)
209
+ end
210
+
201
211
  self.stats[:specific][name][state][:finished] = finished
202
- self.stats[:specific][name][state][:real_time_elapsed] = finished - self.stats[:specific][name][:started]
203
212
 
204
213
  self.stats[:specific][name][state][:items] << item unless item.nil? or self.stats[:specific][name][state][:items].include?(item)
205
214
  time_elapsed = self.stats[:specific][name][state][:time_elapsed]
206
215
  time_elapsed[:total] += finished - started
207
216
  if time_elapsed[:maximum] < (finished - started)
208
- time_elapsed[:maximum] = (finished - started)
217
+ time_elapsed[:maximum] = (finished - started)
209
218
  if !item.nil?
210
219
  time_elapsed[:item_maximum] = item
211
220
  elsif Thread.current.name.to_s != ""
@@ -213,7 +222,7 @@ class NiceHttp
213
222
  end
214
223
  end
215
224
  if time_elapsed[:minimum] > (finished - started)
216
- time_elapsed[:minimum] = (finished - started)
225
+ time_elapsed[:minimum] = (finished - started)
217
226
  if !item.nil?
218
227
  time_elapsed[:item_minimum] = item
219
228
  elsif Thread.current.name.to_s != ""
@@ -226,7 +235,7 @@ class NiceHttp
226
235
  ######################################################
227
236
  # It will save the NiceHttp.stats on different files, each key of the hash in a different file.
228
237
  #
229
- # @param file_name [String] path and file name to be used to store the stats.
238
+ # @param file_name [String] path and file name to be used to store the stats.
230
239
  # In case no one supplied it will be used the value in NiceHttp.log and it will be saved on YAML format.
231
240
  # In case extension is .yaml will be saved on YAML format.
232
241
  # In case extension is .json will be saved on JSON format.
@@ -236,28 +245,29 @@ class NiceHttp
236
245
  # NiceHttp.save_stats('./stats/my_stats.yaml')
237
246
  # NiceHttp.save_stats('./stats/my_stats.json')
238
247
  ######################################################
239
- def self.save_stats(file_name = '')
240
- if file_name == ''
248
+ def self.save_stats(file_name = "")
249
+ if file_name == ""
241
250
  if self.log.is_a?(String)
242
251
  file_name = self.log
243
252
  else
244
- file_name = './nice_http.log'
253
+ file_name = "./nice_http.log"
245
254
  end
246
255
  end
256
+ require "fileutils"
257
+ FileUtils.mkdir_p File.dirname(file_name)
247
258
  if file_name.match?(/\.json$/)
248
- require 'json'
259
+ require "json"
249
260
  self.stats.keys.each do |key|
250
261
  File.open("#{file_name.gsub(/.json$/, "_stats_")}#{key}.json", "w") { |file| file.write(self.stats[key].to_json) }
251
262
  end
252
263
  else
253
- require 'yaml'
264
+ require "yaml"
254
265
  self.stats.keys.each do |key|
255
266
  File.open("#{file_name.gsub(/.\w+$/, "_stats_")}#{key}.yaml", "w") { |file| file.write(self.stats[key].to_yaml) }
256
267
  end
257
268
  end
258
269
  end
259
270
 
260
-
261
271
  ######################################################
262
272
  # Creates a new http connection.
263
273
  #
@@ -363,6 +373,8 @@ class NiceHttp
363
373
  folder += "/" unless log_filename.start_with?("/")
364
374
  log_filename = folder + log_filename
365
375
  end
376
+ require "fileutils"
377
+ FileUtils.mkdir_p File.dirname(log_filename)
366
378
  unless Dir.exist?(File.dirname(log_filename))
367
379
  @logger = Logger.new nil
368
380
  raise InfoMissing, :log, "Wrong directory specified for logs.\n"
@@ -182,7 +182,7 @@ module NiceHttpManageResponse
182
182
  @logger.fatal stack
183
183
  @logger.fatal "manage_response Error on method #{method_s} "
184
184
  end
185
-
185
+
186
186
  @start_time = nil
187
187
  end
188
188
 
@@ -198,8 +198,8 @@ module NiceHttpManageResponse
198
198
 
199
199
  hash[:num_requests] = 0
200
200
  hash[:started] = @start_time
201
- hash[:finished] = @finish_time
202
- hash[:real_time_elapsed] = @finish_time - @start_time
201
+ hash[:finished] = @start_time
202
+ hash[:real_time_elapsed] = 0
203
203
  hash[:time_elapsed] = {
204
204
  total: 0,
205
205
  maximum: 0,
@@ -213,9 +213,14 @@ module NiceHttpManageResponse
213
213
  end
214
214
  end
215
215
  hash[:num_requests] += 1
216
- hash[:started] = @start_time if hash[:started].nil?
216
+ hash[:started] = hash[:finished] = @start_time if hash[:started].nil?
217
+
218
+ if @start_time < hash[:finished]
219
+ hash[:real_time_elapsed] += (@finish_time - hash[:finished])
220
+ else
221
+ hash[:real_time_elapsed] += (@finish_time - @start_time)
222
+ end
217
223
  hash[:finished] = @finish_time
218
- hash[:real_time_elapsed] = @finish_time - hash[:started]
219
224
 
220
225
  hash[:time_elapsed][:total] += @response[:time_elapsed]
221
226
  hash[:time_elapsed][:maximum] = @response[:time_elapsed] if @response[:time_elapsed] > hash[:time_elapsed][:maximum]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nice_http
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.10
4
+ version: 1.7.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz