moesif_rack 2.2.1 → 2.2.2

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: 396b06aef61b8c6050b1fa34f6d8646a28556f605b7adb885a6f66f7d2815795
4
- data.tar.gz: 1873d5dd9e5db0f562407cbd9a82420d783d894d7c7c23a6044d30993a7fea92
3
+ metadata.gz: d22e96756a6c9b59c31a4615d96968dd2ab335540396a65389ddda9d8604b8b2
4
+ data.tar.gz: 40e942e0599207bb00917b0894f09f3cd42260bbf1bf3fa8e50c54abde0b57c3
5
5
  SHA512:
6
- metadata.gz: 9e16283ae468998106f1ab4289c234ccfa858c1b76d3a2c0932fa9d1e0e02929276741fd986afae9b63d81a43eac471d119d7d3eec2a2e49ee459f8d8c63eac3
7
- data.tar.gz: 495ebf15c916fe0cf98ca26758e83f53580b74c69cc78e45224a5024b71064f48b011b99b50a26a33f69da4209587d381f080b55ba0069f1daaa434a553f9c75
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.1')
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, @events_queue, @moesif_helpers)
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 'sending data to moesif'
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
- # Add Event to the queue
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, events_queue, moesif_helpers)
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 and @events_queue should be shared instance from the middleware
27
- # so that we can use the same queue and same loaded @app_config
28
- @events_queue = events_queue
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
- puts 'Skip sending as it is moesif Event' if @debug
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
- if @debug
177
- puts 'Sending Outgoing Request Data to Moesif'
178
- puts event_model.to_json
179
- end
180
-
181
- # we put in the queue and format abot it.
182
- unless @events_queue.nil?
183
- @events_queue << event_model
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.1
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-01 00:00:00.000000000 Z
12
+ date: 2023-11-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: test-unit