network_resiliency 0.6.6 → 0.6.8
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/CHANGELOG.md +7 -0
- data/Gemfile.lock +1 -1
- data/lib/network_resiliency/version.rb +1 -1
- data/lib/network_resiliency.rb +12 -21
- 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: b907866b5327e9488dca8b828bbf3b14c84a257c6a62c6381197455f11fc337b
|
4
|
+
data.tar.gz: 8aa6d3fbe7a1a0bae41711b18f02659363b620af749bc9cc778fd244398c9e36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98c21b67a95c4ac785df751ae874e53f5116908462e5d17944831202e414ddc3644601d7e9c3ca6b00703a900490e56d575cff7a896a2606ef3167521ebfde88
|
7
|
+
data.tar.gz: 7f9d19f1546bfb251243cd142899af1eb74d561e9004e25b91b28e072d7f23f68646c0c2ba5b145ab933c28eafc762303e56811169ce4dd8f2822f60a235bef5
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/network_resiliency.rb
CHANGED
@@ -28,6 +28,14 @@ module NetworkResiliency
|
|
28
28
|
yield self if block_given?
|
29
29
|
|
30
30
|
Syncer.start(redis) if redis
|
31
|
+
|
32
|
+
unless @patched
|
33
|
+
# patch everything that's available
|
34
|
+
ADAPTERS.each do |adapter|
|
35
|
+
patch(adapter)
|
36
|
+
rescue LoadError, NotImplementedError
|
37
|
+
end
|
38
|
+
end
|
31
39
|
end
|
32
40
|
|
33
41
|
def patch(*adapters)
|
@@ -45,6 +53,8 @@ module NetworkResiliency
|
|
45
53
|
raise NotImplementedError
|
46
54
|
end
|
47
55
|
end
|
56
|
+
|
57
|
+
@patched = true
|
48
58
|
end
|
49
59
|
|
50
60
|
def enabled?(adapter)
|
@@ -171,16 +181,6 @@ module NetworkResiliency
|
|
171
181
|
}.compact,
|
172
182
|
)
|
173
183
|
|
174
|
-
NetworkResiliency.statsd&.distribution(
|
175
|
-
"network_resiliency.#{action}.magnitude",
|
176
|
-
duration.order_of_magnitude(ceil: true),
|
177
|
-
tags: {
|
178
|
-
adapter: adapter,
|
179
|
-
destination: destination,
|
180
|
-
error: error,
|
181
|
-
}.compact,
|
182
|
-
)
|
183
|
-
|
184
184
|
NetworkResiliency.statsd&.gauge(
|
185
185
|
"network_resiliency.#{action}.timeout",
|
186
186
|
timeout,
|
@@ -198,18 +198,8 @@ module NetworkResiliency
|
|
198
198
|
adapter: adapter,
|
199
199
|
destination: destination,
|
200
200
|
},
|
201
|
-
) if timeout && timeout >
|
201
|
+
) if timeout && timeout > duration
|
202
202
|
else
|
203
|
-
# track successful retries
|
204
|
-
NetworkResiliency.statsd&.increment(
|
205
|
-
"network_resiliency.#{action}.resilient",
|
206
|
-
tags: {
|
207
|
-
adapter: adapter,
|
208
|
-
destination: destination,
|
209
|
-
attempts: attempts,
|
210
|
-
},
|
211
|
-
) if attempts > 1
|
212
|
-
|
213
203
|
# record stats
|
214
204
|
key = [ adapter, action, destination ].join(":")
|
215
205
|
stats = StatsEngine.add(key, duration)
|
@@ -344,6 +334,7 @@ module NetworkResiliency
|
|
344
334
|
@enabled = nil
|
345
335
|
@mode = nil
|
346
336
|
@normalize_request = nil
|
337
|
+
@patched = nil
|
347
338
|
Thread.current["network_resiliency"] = nil
|
348
339
|
StatsEngine.reset
|
349
340
|
Syncer.stop
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: network_resiliency
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Pepper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|