nice_http 1.7.6 → 1.7.7
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.
- checksums.yaml +4 -4
- data/README.md +13 -8
- data/lib/nice_http.rb +37 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd198745893c0373b41fd3f1a07ec5869459c3afac0b6312e6c30b39978ab358
|
4
|
+
data.tar.gz: c55402d3c84057c198d0a9a21f185abc3af336ef97286d55f45f452475398835
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e7edb12e4ba71ff70e8756611fb4d8ead683d4b2d343bd397c49bea2b47afba73fbd5fa742309c265c3f8de492a466c0d625d6e1ab58a3e1b8f1890ff27c627
|
7
|
+
data.tar.gz: e847b5e94d825ade9f232944680f70d2753bdb3e69e1014e9321424ce65d02c1b55604ddef06a92e952fc2432a957f6401eea8c5cf968bb3e01c55d44979b85a
|
data/README.md
CHANGED
@@ -511,19 +511,16 @@ t.each(&:join)
|
|
511
511
|
|
512
512
|
If you want to get a summarize stats of your http communication you need to set `NiceHttp.create_stats = true`
|
513
513
|
|
514
|
-
Then whenever you want to access the stats: `NiceHttp.stats`
|
514
|
+
Then whenever you want to access the stats: `NiceHttp.stats` and if you want to save it on a file: `NiceHttp.save_stats`
|
515
515
|
|
516
|
-
After the run is finished
|
516
|
+
After the run is finished the stats will automatically be saved even if you didn't call `save_stats`. The stats files will use the name and path on `NiceHttp.log`.
|
517
517
|
|
518
518
|
If you are using RSpec and you want to generate the stats files after every test is finished, add to your spec_helper.rb file:
|
519
519
|
|
520
520
|
```ruby
|
521
521
|
RSpec.configure do |config|
|
522
522
|
config.after(:each) do
|
523
|
-
|
524
|
-
NiceHttp.stats.keys.each do |key|
|
525
|
-
File.open("./nice_http_stats_#{key}.yaml", "w") { |file| file.write(NiceHttp.stats[key].to_yaml) }
|
526
|
-
end
|
523
|
+
NiceHttp.save_stats
|
527
524
|
end
|
528
525
|
end
|
529
526
|
```
|
@@ -582,16 +579,24 @@ www.reqres.in:443:
|
|
582
579
|
If you want to add specific stats for your processes you can use the method `NiceHttp.add_stats`
|
583
580
|
|
584
581
|
```ruby
|
582
|
+
# random customer name
|
583
|
+
customer_name = "10-20:L".gen
|
585
584
|
started = Time.now
|
586
|
-
@http.send_request Requests::Customer.add_customer
|
585
|
+
@http.send_request Requests::Customer.add_customer(name: customer_name)
|
587
586
|
30.times do
|
588
|
-
resp = @http.get(Requests::Customer.get_customer)
|
587
|
+
resp = @http.get(Requests::Customer.get_customer(name: customer_name))
|
589
588
|
break if resp.code == 200
|
590
589
|
sleep 0.5
|
591
590
|
end
|
592
591
|
NiceHttp.add_stats(:customer, :create, started, Time.now)
|
593
592
|
```
|
594
593
|
|
594
|
+
To add the items for every specific stats to be accessed as an array you can add it as the last parameter of `add_stats`
|
595
|
+
```ruby
|
596
|
+
NiceHttp.add_stats(:customer, :create, started, Time.now, customer_name)
|
597
|
+
```
|
598
|
+
This will generate an items key that will contain an array of the values you added.
|
599
|
+
|
595
600
|
## Contributing
|
596
601
|
|
597
602
|
Bug reports are very welcome on GitHub at https://github.com/marioruiz/nice_http.
|
data/lib/nice_http.rb
CHANGED
@@ -72,10 +72,7 @@ class NiceHttp
|
|
72
72
|
|
73
73
|
at_exit do
|
74
74
|
if self.create_stats
|
75
|
-
|
76
|
-
self.stats.keys.each do |key|
|
77
|
-
File.open("./nice_http_stats_#{key}.yaml", "w") { |file| file.write(self.stats[key].to_yaml) }
|
78
|
-
end
|
75
|
+
self.save_stats
|
79
76
|
end
|
80
77
|
end
|
81
78
|
|
@@ -186,9 +183,44 @@ class NiceHttp
|
|
186
183
|
time_elapsed[:maximum] = (finished - started) if time_elapsed[:maximum] < (finished - started)
|
187
184
|
time_elapsed[:minimum] = (finished - started) if time_elapsed[:minimum] > (finished - started)
|
188
185
|
time_elapsed[:average] = time_elapsed[:total] / self.stats[:specific][name][state][:num]
|
189
|
-
|
190
186
|
end
|
191
187
|
|
188
|
+
######################################################
|
189
|
+
# It will save the NiceHttp.stats on different files, each key of the hash in a different file.
|
190
|
+
#
|
191
|
+
# @param file_name [String] path and file name to be used to store the stats.
|
192
|
+
# In case no one supplied it will be used the value in NiceHttp.log and it will be saved on YAML format.
|
193
|
+
# In case extension is .yaml will be saved on YAML format.
|
194
|
+
# In case extension is .json will be saved on JSON format.
|
195
|
+
#
|
196
|
+
# @example
|
197
|
+
# NiceHttp.save_stats
|
198
|
+
# NiceHttp.save_stats('./stats/my_stats.yaml')
|
199
|
+
# NiceHttp.save_stats('./stats/my_stats.json')
|
200
|
+
######################################################
|
201
|
+
def self.save_stats(file_name = '')
|
202
|
+
if file_name == ''
|
203
|
+
if self.log.is_a?(String)
|
204
|
+
file_name = self.log
|
205
|
+
else
|
206
|
+
file_name = './nice_http.log'
|
207
|
+
end
|
208
|
+
end
|
209
|
+
if file_name.match?(/\.json$/)
|
210
|
+
require 'json'
|
211
|
+
self.stats.keys.each do |key|
|
212
|
+
File.open("#{file_name.gsub(/.json$/, "_stats_")}#{key}.json", "w") { |file| file.write(self.stats[key].to_json) }
|
213
|
+
end
|
214
|
+
else
|
215
|
+
puts file_name.gsub(/.\w+$/, "_stats_")
|
216
|
+
require 'yaml'
|
217
|
+
self.stats.keys.each do |key|
|
218
|
+
File.open("#{file_name.gsub(/.\w+$/, "_stats_")}#{key}.yaml", "w") { |file| file.write(self.stats[key].to_yaml) }
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
|
192
224
|
######################################################
|
193
225
|
# Creates a new http connection.
|
194
226
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nice_http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mario Ruiz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nice_hash
|