moesif_rack 1.4.1 → 1.4.2
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 +1 -1
- data/lib/moesif_rack/moesif_middleware.rb +48 -12
- data/test/moesif_rack_test.rb +2 -0
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d8635baa7838edc611616b3fcd19d30c6a8c9034f985b1a48df744eae3fc252
|
4
|
+
data.tar.gz: bf138ca57419057dafdc088f076e3b632a623cd5d268012e6e67a9ce60372ea9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25e43ffa1f612ed39c3ddcee9a55b29ff8f81ed0f9e7d36651d605232aec4ef3ba55cf2e072bd99e72ce46fccc565591872bb58ddd982d65da86a7305f0f4784
|
7
|
+
data.tar.gz: '095a38e7f8dc9e4ba2fbf9ffd40dfd2ac01fcd72b5475915266274a807c53b70054f823109648e73319557efc07c61ddfb95f99a5d4586855b3db1f0fed7573a'
|
data/README.md
CHANGED
@@ -36,6 +36,45 @@ module MoesifRack
|
|
36
36
|
@config_dict = Hash.new
|
37
37
|
@disable_transaction_id = options['disable_transaction_id'] || false
|
38
38
|
@log_body = options.fetch('log_body', true)
|
39
|
+
@batch_size = options['batch_size'] || 25
|
40
|
+
@events_queue = Queue.new
|
41
|
+
@event_response_config_etag = nil
|
42
|
+
|
43
|
+
Thread::new do
|
44
|
+
loop do
|
45
|
+
begin
|
46
|
+
until @events_queue.empty? do
|
47
|
+
batch_events = []
|
48
|
+
until batch_events.size == @batch_size || @events_queue.empty? do
|
49
|
+
batch_events << @events_queue.pop
|
50
|
+
end
|
51
|
+
event_api_response = @api_controller.create_events_batch(batch_events)
|
52
|
+
@event_response_config_etag = event_api_response[:x_moesif_config_etag]
|
53
|
+
if @debug
|
54
|
+
puts("Events successfully sent to Moesif")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
if @events_queue.empty?
|
59
|
+
if @debug
|
60
|
+
puts("No events to read from the queue")
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# Sleep for 5 seconds
|
65
|
+
sleep 5
|
66
|
+
rescue MoesifApi::APIException => e
|
67
|
+
if e.response_code.between?(401, 403)
|
68
|
+
puts "Unathorized accesss sending event to Moesif. Please verify your Application Id."
|
69
|
+
end
|
70
|
+
if @debug
|
71
|
+
puts "Error sending event to Moesif, with status code: "
|
72
|
+
puts e.response_code
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
39
78
|
begin
|
40
79
|
if !@config.nil?
|
41
80
|
@config_etag, @sampling_percentage, @last_updated_time = @app_config.parse_configuration(@config, @debug)
|
@@ -259,10 +298,13 @@ module MoesifRack
|
|
259
298
|
|
260
299
|
if @sampling_percentage > @random_percentage
|
261
300
|
event_model.weight = @app_config.calculate_weight(@sampling_percentage)
|
262
|
-
|
263
|
-
|
301
|
+
# Add Event to the queue
|
302
|
+
@events_queue << event_model
|
303
|
+
if @debug
|
304
|
+
puts("Event added to the queue ")
|
305
|
+
end
|
264
306
|
|
265
|
-
if
|
307
|
+
if !@event_response_config_etag.nil? && !@config_etag.nil? && @config_etag != @event_response_config_etag && Time.now.utc > @last_updated_time + 300
|
266
308
|
begin
|
267
309
|
@config = @app_config.get_config(@api_controller, @debug)
|
268
310
|
@config_etag, @sampling_percentage, @last_updated_time = @app_config.parse_configuration(@config, @debug)
|
@@ -273,21 +315,15 @@ module MoesifRack
|
|
273
315
|
end
|
274
316
|
end
|
275
317
|
end
|
276
|
-
if @debug
|
277
|
-
puts("Event successfully sent to Moesif")
|
278
|
-
end
|
279
318
|
else
|
280
319
|
if @debug
|
281
320
|
puts("Skipped Event due to sampling percentage: " + @sampling_percentage.to_s + " and random percentage: " + @random_percentage.to_s)
|
282
321
|
end
|
283
322
|
end
|
284
|
-
rescue
|
285
|
-
if e.response_code.between?(401, 403)
|
286
|
-
puts "Unathorized accesss sending event to Moesif. Please verify your Application Id."
|
287
|
-
end
|
323
|
+
rescue => exception
|
288
324
|
if @debug
|
289
|
-
puts "Error
|
290
|
-
puts
|
325
|
+
puts "Error adding event to the queue "
|
326
|
+
puts exception.to_s
|
291
327
|
end
|
292
328
|
end
|
293
329
|
|
data/test/moesif_rack_test.rb
CHANGED
@@ -108,6 +108,8 @@ class MoesifRackTest < Test::Unit::TestCase
|
|
108
108
|
|
109
109
|
def test_log_event
|
110
110
|
response = @moesif_rack_app.call(Rack::MockRequest.env_for("https://acmeinc.com/items/42752/reviews"))
|
111
|
+
# Sleep to allow queue to flush for testing purpose
|
112
|
+
sleep 5
|
111
113
|
assert_equal response, @app.call(nil)
|
112
114
|
end
|
113
115
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moesif_rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Moesif, Inc
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-05-
|
12
|
+
date: 2020-05-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-unit
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 1.2.
|
34
|
+
version: 1.2.12
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 1.2.
|
41
|
+
version: 1.2.12
|
42
42
|
description: Collection/Data Ingestion SDK for Rack (also Rails) Middleware / RoR
|
43
43
|
email: xing@moesif.com
|
44
44
|
executables: []
|
@@ -76,8 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: '0'
|
78
78
|
requirements: []
|
79
|
-
|
80
|
-
rubygems_version: 2.7.7
|
79
|
+
rubygems_version: 3.0.4
|
81
80
|
signing_key:
|
82
81
|
specification_version: 4
|
83
82
|
summary: moesif_rack
|