moesif_rack 2.2.1 → 2.2.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/lib/moesif_rack/moesif_middleware.rb +17 -19
- data/moesif_capture_outgoing/httplog/http_log.rb +14 -18
- 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: d22e96756a6c9b59c31a4615d96968dd2ab335540396a65389ddda9d8604b8b2
|
4
|
+
data.tar.gz: 40e942e0599207bb00917b0894f09f3cd42260bbf1bf3fa8e50c54abde0b57c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8fcff7759ab68baa2d7fad3c41e34816da6fb401106ade305e199347293971d52a9be62d52114915e318e46a945060608345bfa85619a1f364680af7211bef4d
|
7
|
+
data.tar.gz: f4740cb9b0181e73884d250b6c16bcdc9223366af390ebfb399e6731c4528a8c5d20ddb04c582234d0c7e763d58991c146d6cbf4da5ebe45d8a9ef69b303cd31
|
@@ -18,7 +18,7 @@ module MoesifRack
|
|
18
18
|
@app = app
|
19
19
|
raise 'application_id required for Moesif Middleware' unless options['application_id']
|
20
20
|
|
21
|
-
@api_client = MoesifApi::MoesifAPIClient.new(options['application_id'], 'moesif-rack/2.2.
|
21
|
+
@api_client = MoesifApi::MoesifAPIClient.new(options['application_id'], 'moesif-rack/2.2.2')
|
22
22
|
@api_controller = @api_client.api
|
23
23
|
|
24
24
|
@api_version = options['api_version']
|
@@ -59,7 +59,7 @@ module MoesifRack
|
|
59
59
|
|
60
60
|
@moesif_helpers.log_debug 'Start Capturing outgoing requests'
|
61
61
|
require_relative '../../moesif_capture_outgoing/httplog'
|
62
|
-
MoesifCaptureOutgoing.start_capture_outgoing(options, @app_config,
|
62
|
+
MoesifCaptureOutgoing.start_capture_outgoing(options, @app_config, method(:add_to_queue), @moesif_helpers)
|
63
63
|
end
|
64
64
|
|
65
65
|
def update_user(user_profile)
|
@@ -94,12 +94,6 @@ module MoesifRack
|
|
94
94
|
[Base64.encode64(body), 'base64']
|
95
95
|
end
|
96
96
|
|
97
|
-
def @moesif_helpers.log_debug(message)
|
98
|
-
return unless @debug
|
99
|
-
|
100
|
-
puts("#{Time.now} [Moesif Middleware] PID #{Process.pid} TID #{Thread.current.object_id} #{message}")
|
101
|
-
end
|
102
|
-
|
103
97
|
def parse_body(body, headers)
|
104
98
|
begin
|
105
99
|
if body.instance_of?(Hash) || body.instance_of?(Array)
|
@@ -124,6 +118,7 @@ module MoesifRack
|
|
124
118
|
end
|
125
119
|
|
126
120
|
def start_worker
|
121
|
+
@moesif_helpers.log_debug('start worker');
|
127
122
|
Thread.new do
|
128
123
|
loop do
|
129
124
|
# Update the last worker run, in case the events_queue is empty
|
@@ -163,6 +158,18 @@ module MoesifRack
|
|
163
158
|
end
|
164
159
|
end
|
165
160
|
|
161
|
+
def add_to_queue(_event_model)
|
162
|
+
# Add Event to the queue
|
163
|
+
if @events_queue.size >= @event_queue_size
|
164
|
+
@moesif_helpers.log_debug("Skipped Event due to events_queue size [#{@events_queue.size}] is over max #{@event_queue_size} ")
|
165
|
+
else
|
166
|
+
@events_queue << _event_model
|
167
|
+
@moesif_helpers.log_debug('Event added to the queue ')
|
168
|
+
end
|
169
|
+
|
170
|
+
start_worker if Time.now.utc > (@last_worker_run + 60)
|
171
|
+
end
|
172
|
+
|
166
173
|
def call(env)
|
167
174
|
start_time = Time.now.utc.iso8601(3)
|
168
175
|
|
@@ -284,10 +291,9 @@ module MoesifRack
|
|
284
291
|
end
|
285
292
|
|
286
293
|
process_send = lambda do |_event_model|
|
287
|
-
@moesif_helpers.log_debug '
|
294
|
+
@moesif_helpers.log_debug 'incoming event to add to queue for sending to moesif'
|
288
295
|
@moesif_helpers.log_debug _event_model.to_json
|
289
296
|
|
290
|
-
# Perform the API call through the SDK function
|
291
297
|
begin
|
292
298
|
random_percentage = Random.rand(0.00..100.00)
|
293
299
|
|
@@ -303,15 +309,7 @@ module MoesifRack
|
|
303
309
|
|
304
310
|
if sampling_percentage > random_percentage
|
305
311
|
_event_model.weight = @app_config.calculate_weight(sampling_percentage)
|
306
|
-
|
307
|
-
if @events_queue.size >= @event_queue_size
|
308
|
-
@moesif_helpers.log_debug("Skipped Event due to events_queue size [#{@events_queue.size}] is over max #{@event_queue_size} ")
|
309
|
-
else
|
310
|
-
@events_queue << _event_model
|
311
|
-
@moesif_helpers.log_debug('Event added to the queue ')
|
312
|
-
end
|
313
|
-
|
314
|
-
start_worker if Time.now.utc > (@last_worker_run + 60)
|
312
|
+
add_to_queue(_event_model)
|
315
313
|
else
|
316
314
|
@moesif_helpers.log_debug('Skipped Event due to sampling percentage: ' + sampling_percentage.to_s + ' and random percentage: ' + random_percentage.to_s)
|
317
315
|
end
|
@@ -7,7 +7,7 @@ require_relative '../../lib/moesif_rack/app_config'
|
|
7
7
|
|
8
8
|
module MoesifCaptureOutgoing
|
9
9
|
class << self
|
10
|
-
def start_capture_outgoing(options, app_config_manager,
|
10
|
+
def start_capture_outgoing(options, app_config_manager, add_to_queue, moesif_helpers)
|
11
11
|
@moesif_options = options
|
12
12
|
raise 'application_id required for Moesif Middleware' unless @moesif_options['application_id']
|
13
13
|
|
@@ -23,9 +23,10 @@ module MoesifCaptureOutgoing
|
|
23
23
|
@log_body_outgoing = options.fetch('log_body_outgoing', true)
|
24
24
|
|
25
25
|
@app_config = app_config_manager
|
26
|
-
# @app_config
|
27
|
-
# so
|
28
|
-
|
26
|
+
# @app_config is shared instance from the middleware
|
27
|
+
# so same loaded @app_config
|
28
|
+
# add_to_queue is method from the middleware so that we can add to the same queue
|
29
|
+
@add_to_queue = add_to_queue
|
29
30
|
@sampling_percentage = 100
|
30
31
|
@last_updated_time = Time.now.utc
|
31
32
|
@moesif_helpers = moesif_helpers
|
@@ -51,7 +52,7 @@ module MoesifCaptureOutgoing
|
|
51
52
|
|
52
53
|
def send_moesif_event(url, request, request_time, response, response_time, body_from_req_call, req_body_from_stream)
|
53
54
|
if url.downcase.include? 'moesif'
|
54
|
-
|
55
|
+
@moesif_helpers.log_debug 'Skip adding to queue as it is moesif Event'
|
55
56
|
else
|
56
57
|
response.code = transform_response_code(response.code) if response.code.is_a?(Symbol)
|
57
58
|
|
@@ -173,19 +174,14 @@ module MoesifCaptureOutgoing
|
|
173
174
|
|
174
175
|
if @sampling_percentage > @random_percentage
|
175
176
|
event_model.weight = @app_config.calculate_weight(@sampling_percentage)
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
puts('Outgoing Event successfully added to event queue') if @debug
|
185
|
-
return
|
186
|
-
end
|
187
|
-
elsif @debug
|
188
|
-
puts('Skipped outgoing Event due to sampling percentage: ' + @sampling_percentage.to_s + ' and random percentage: ' + @random_percentage.to_s)
|
177
|
+
@moesif_helpers.log_debug 'Adding Outgoing Request Data to Queue'
|
178
|
+
@moesif_helpers.log_debug event_model.to_json
|
179
|
+
# we put in the queue and forget it.
|
180
|
+
@add_to_queue.call(event_model)
|
181
|
+
@moesif_helpers.log_debug 'Finished adding outgoing request data to Queue'
|
182
|
+
|
183
|
+
else
|
184
|
+
@moesif_helpers.log_debug('Skipped outgoing Event due to sampling percentage: ' + @sampling_percentage.to_s + ' and random percentage: ' + @random_percentage.to_s)
|
189
185
|
end
|
190
186
|
rescue MoesifApi::APIException => e
|
191
187
|
if e.response_code.between?(401, 403)
|
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: 2.2.
|
4
|
+
version: 2.2.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: 2023-11-
|
12
|
+
date: 2023-11-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-unit
|