splitclient-rb 3.1.0.pre.rc10 → 3.1.0.pre.rc11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 37a7aea4e576c0285c8fe0b52407263314b3dbe1
4
- data.tar.gz: 0dfcf521a72a8eeac66bf8a1e2a4bcb45ab7b6be
3
+ metadata.gz: 02331c7576d5207396d36d2f35da18b3a68f0216
4
+ data.tar.gz: e7b45fedc47e7b79ab31005f0c695c3723f52479
5
5
  SHA512:
6
- metadata.gz: 01234be503798df68a17b5ac3182736a446cfe4c35fdad405a719e33d748adc1158f312e591601082fd52a7cec543ae5b76de09b1aa383db16152d162095cd37
7
- data.tar.gz: 8baf6f0b69c26309421282d9c331abb94eae269be202742fd308cf7df8941ff07fd5f1c0c3d85ade401e84025305ae2715f085de57c3d0aca8ec0142a10d3466
6
+ metadata.gz: 9949de92f9ffa311d873ebb6e2ed18ddcf402ca55333a67739438bed1bde4d4aa8c3934d62000e75f0570964e9281c1b7715da7e2d419c99e65e56f323d58447
7
+ data.tar.gz: b1a2bad851319e62fe343558b99252deb967b43ea60631610f7cdc943d8bccd6298dbfc7cbef4c872bb1ebf16cf316c1e05ea8a7f3be306af9ab4c091490e033
@@ -2,6 +2,7 @@
2
2
  - Add RedisAdapter
3
3
  - adds manager.split_names()
4
4
  - add impressions_queue_size to prevent memory leak when Threads pauses due to 'smart' fork.
5
+ - do not report latencies for get_treatment is array is all zeros
5
6
 
6
7
  3.0.3
7
8
 
@@ -0,0 +1,31 @@
1
+ module SplitIoClient
2
+ module Cache
3
+ module Adapters
4
+ module MemoryAdapters
5
+ # Memory adapter implementation, which stores everything inside queue
6
+ class QueueAdapter
7
+ def initialize(size)
8
+ @size = size
9
+ @queue = Queue.new
10
+ end
11
+
12
+ # Adds data to queue in non-blocking mode
13
+ def add_to_queue(data)
14
+ @queue.push(data)
15
+ end
16
+
17
+ # Get all items from the queue
18
+ def clear
19
+ items = []
20
+
21
+ loop { items << @queue.pop(true) }
22
+
23
+ rescue ThreadError
24
+ # Last queue item reached
25
+ items
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -63,7 +63,7 @@ module SplitIoClient
63
63
  collected_latencies[key] = value.split(',').map(&:to_f)
64
64
  end
65
65
 
66
- collected_latencies['sdk.get_treatment'] = latencies_array
66
+ collected_latencies['sdk.get_treatment'] = latencies_array unless latencies_array.reduce(:+) == 0
67
67
 
68
68
  collected_latencies
69
69
  end
@@ -6,6 +6,7 @@ require 'splitclient-rb/localhost_split_factory'
6
6
  require 'splitclient-rb/split_config'
7
7
  require 'exceptions/sdk_blocker_timeout_expired_exception'
8
8
  require 'cache/adapters/memory_adapters/map_adapter'
9
+ require 'cache/adapters/memory_adapters/queue_adapter'
9
10
  require 'cache/adapters/memory_adapters/sized_queue_adapter'
10
11
  require 'cache/adapters/memory_adapter'
11
12
  require 'cache/adapters/redis_adapter'
@@ -41,7 +41,7 @@ module SplitIoClient
41
41
  @impressions_refresh_rate = opts[:impressions_refresh_rate] || SplitConfig.default_impressions_refresh_rate
42
42
  @impressions_queue_size = opts[:impressions_queue_size] || SplitConfig.default_impressions_queue_size
43
43
  @impressions_adapter = SplitConfig.init_cache_adapter(
44
- opts[:cache_adapter] || SplitConfig.default_cache_adapter, :sized_queue_adapter, @redis_url, @impressions_queue_size
44
+ opts[:cache_adapter] || SplitConfig.default_cache_adapter, :queue_adapter, @redis_url, @impressions_queue_size
45
45
  )
46
46
 
47
47
  @metrics_adapter = SplitConfig.init_cache_adapter(
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '3.1.0-rc10'
2
+ VERSION = '3.1.0-rc11'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: splitclient-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0.pre.rc10
4
+ version: 3.1.0.pre.rc11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
@@ -252,6 +252,7 @@ files:
252
252
  - exe/splitio
253
253
  - lib/cache/adapters/memory_adapter.rb
254
254
  - lib/cache/adapters/memory_adapters/map_adapter.rb
255
+ - lib/cache/adapters/memory_adapters/queue_adapter.rb
255
256
  - lib/cache/adapters/memory_adapters/sized_queue_adapter.rb
256
257
  - lib/cache/adapters/redis_adapter.rb
257
258
  - lib/cache/repositories/impressions/memory_repository.rb