magick-feature-flags 0.9.9 → 0.9.10
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/magick/adapters/registry.rb +7 -0
- data/lib/magick/performance_metrics.rb +9 -11
- data/lib/magick/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6ff57666debab09c055a1709e27902b4ff03780b62ca97382e3f0df191b4b1ce
|
|
4
|
+
data.tar.gz: 1420d03c05427c4c0ef7f319debb108542b36fa5fccf999ad13e3bd0571c0451
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2150805b902ed92fc1f033493e47697541078d21fb7d9d1e827ddf8b22d9e17fd58e8e1ed926aa47fecf1662c491d910ecba528a0d1ce8f306b340c9e0b35a16
|
|
7
|
+
data.tar.gz: 21144c7b0ad4c6c23eb379f088898757f438058dc9c2278f3fc30a03e188b03a6b58e9cb4aac8d5e37127523b5bcfc562a00c08079de95da035d10b9afa28ad5
|
|
@@ -97,6 +97,13 @@ module Magick
|
|
|
97
97
|
!redis_adapter.nil?
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
+
# Get Redis client (public method for use by other classes)
|
|
101
|
+
def redis_client
|
|
102
|
+
return nil unless redis_adapter
|
|
103
|
+
|
|
104
|
+
redis_adapter.instance_variable_get(:@redis)
|
|
105
|
+
end
|
|
106
|
+
|
|
100
107
|
private
|
|
101
108
|
|
|
102
109
|
attr_reader :memory_adapter, :redis_adapter, :circuit_breaker
|
|
@@ -65,9 +65,7 @@ module Magick
|
|
|
65
65
|
should_flush = false
|
|
66
66
|
@mutex.synchronize do
|
|
67
67
|
# Flush if we have enough pending updates or enough time has passed
|
|
68
|
-
if @pending_updates.size >= @batch_size || (Time.now - @last_flush) >= @flush_interval
|
|
69
|
-
should_flush = true
|
|
70
|
-
end
|
|
68
|
+
should_flush = true if @pending_updates.size >= @batch_size || (Time.now - @last_flush) >= @flush_interval
|
|
71
69
|
end
|
|
72
70
|
|
|
73
71
|
flush_to_redis if should_flush
|
|
@@ -88,13 +86,13 @@ module Magick
|
|
|
88
86
|
# Update Redis in batch
|
|
89
87
|
begin
|
|
90
88
|
adapter = Magick.adapter_registry || Magick.default_adapter_registry
|
|
91
|
-
if adapter.is_a?(Magick::Adapters::Registry) && adapter.
|
|
92
|
-
redis = adapter.
|
|
89
|
+
if adapter.is_a?(Magick::Adapters::Registry) && adapter.redis_available?
|
|
90
|
+
redis = adapter.redis_client
|
|
93
91
|
if redis
|
|
94
92
|
updates_to_flush.each do |feature_name, count|
|
|
95
93
|
redis_key = "magick:stats:#{feature_name}"
|
|
96
94
|
redis.incrby(redis_key, count)
|
|
97
|
-
redis.expire(redis_key,
|
|
95
|
+
redis.expire(redis_key, 86_400 * 7) # Keep stats for 7 days
|
|
98
96
|
end
|
|
99
97
|
end
|
|
100
98
|
end
|
|
@@ -130,8 +128,8 @@ module Magick
|
|
|
130
128
|
if @redis_enabled
|
|
131
129
|
begin
|
|
132
130
|
adapter = Magick.adapter_registry || Magick.default_adapter_registry
|
|
133
|
-
if adapter.is_a?(Magick::Adapters::Registry) && adapter.
|
|
134
|
-
redis = adapter.
|
|
131
|
+
if adapter.is_a?(Magick::Adapters::Registry) && adapter.redis_available?
|
|
132
|
+
redis = adapter.redis_client
|
|
135
133
|
if redis
|
|
136
134
|
redis_key = "magick:stats:#{feature_name_str}"
|
|
137
135
|
redis_count = redis.get(redis_key).to_i
|
|
@@ -152,11 +150,11 @@ module Magick
|
|
|
152
150
|
if @redis_enabled
|
|
153
151
|
begin
|
|
154
152
|
adapter = Magick.adapter_registry || Magick.default_adapter_registry
|
|
155
|
-
if adapter.is_a?(Magick::Adapters::Registry) && adapter.
|
|
156
|
-
redis = adapter.
|
|
153
|
+
if adapter.is_a?(Magick::Adapters::Registry) && adapter.redis_available?
|
|
154
|
+
redis = adapter.redis_client
|
|
157
155
|
if redis
|
|
158
156
|
# Get all stats keys
|
|
159
|
-
redis.keys(
|
|
157
|
+
redis.keys('magick:stats:*').each do |key|
|
|
160
158
|
feature_name = key.to_s.sub('magick:stats:', '')
|
|
161
159
|
redis_count = redis.get(key).to_i
|
|
162
160
|
combined_counts[feature_name] = (combined_counts[feature_name] || 0) + redis_count
|
data/lib/magick/version.rb
CHANGED