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 +4 -4
- data/lib/nice_http.rb +30 -18
- data/lib/nice_http/manage_response.rb +10 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b25e87b3aa0fc0441ef89f640ab48775c51d18d15bfc9432436560f2ed419350
|
4
|
+
data.tar.gz: 7ebac02ad1e04ec6ceec028d3bd8755cfda8ae3c8e89900c49d1fbd313907ef2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ca1df8e19b1d4632bfdff00c9e358386597b10501006c9c7f877e4b311c11e0ceff6e53217b1843402e6a2c4dae01dbd304af3f59c29bcba5526e9d9a8d4133
|
7
|
+
data.tar.gz: d0c52aeee6739d242b7fd417dc622f05ea6b8d8517b77809d64a55945385230766b422753a4c07293231bc2f8e8bc1f269dd875c54a0202f6dee6c5a3caf2422
|
data/lib/nice_http.rb
CHANGED
@@ -103,11 +103,11 @@ class NiceHttp
|
|
103
103
|
num_requests: 0,
|
104
104
|
started: nil,
|
105
105
|
finished: nil,
|
106
|
-
real_time_elapsed:
|
106
|
+
real_time_elapsed: 0,
|
107
107
|
time_elapsed: {
|
108
108
|
total: 0,
|
109
109
|
maximum: 0,
|
110
|
-
minimum:
|
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:
|
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
|
-
|
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:
|
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 =
|
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
|
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
|
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] = @
|
202
|
-
hash[:real_time_elapsed] =
|
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]
|