sidekiq-cloudwatchmetrics 2.7.0 → 2.9.0
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
- checksums.yaml.gz.sig +0 -0
- data/lib/sidekiq/cloudwatchmetrics.rb +20 -7
- data.tar.gz.sig +0 -0
- metadata +5 -8
- metadata.gz.sig +1 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a257f5be8a0e18cc15b67845764e4432e61d435fd49cac5756fa91fd7176a4c
|
4
|
+
data.tar.gz: a1ff163a5e499a66734616120d015dc0187e3319bbe41d158b8ef720811bdbb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3fe60e517ba5212f9852c5f369a003771d303072b63ca44cae37e4dafbf9bab6a0dd6c75af93caf407617029c313da81138a37b9e15741049f16cb3cbba8fff
|
7
|
+
data.tar.gz: 7200ad0a0139ff32aa27b25b717857354e26e9b7f5e45d252f3f3df27fdd99e1b59785b70e0b683ef0b5ab8b22b1be06c3451e98cf1507e03c0905b0667c5d89
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -8,7 +8,7 @@ require "aws-sdk-cloudwatch"
|
|
8
8
|
module Sidekiq::CloudWatchMetrics
|
9
9
|
def self.enable!(**kwargs)
|
10
10
|
Sidekiq.configure_server do |config|
|
11
|
-
publisher = Publisher.new(**kwargs)
|
11
|
+
publisher = Publisher.new(config: config, **kwargs)
|
12
12
|
|
13
13
|
# Sidekiq enterprise has a globally unique leader thread, making it
|
14
14
|
# easier to publish the cluster-wide metrics from one place.
|
@@ -45,12 +45,22 @@ module Sidekiq::CloudWatchMetrics
|
|
45
45
|
|
46
46
|
DEFAULT_INTERVAL = 60 # seconds
|
47
47
|
|
48
|
-
def
|
49
|
-
# Sidekiq
|
50
|
-
|
48
|
+
private def default_config
|
49
|
+
# Sidekiq::Config was introduced in sidekiq 7 and has a default
|
50
|
+
if Sidekiq.respond_to?(:default_configuration)
|
51
|
+
Sidekiq.default_configuration
|
52
|
+
else
|
53
|
+
# in older versions, it's just the `Sidekiq` module
|
54
|
+
Sidekiq
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def initialize(config: default_config, client: Aws::CloudWatch::Client.new, namespace: "Sidekiq", process_metrics: true, additional_dimensions: {}, interval: DEFAULT_INTERVAL)
|
59
|
+
# Required by Sidekiq::Component (in sidekiq 6.5+)
|
51
60
|
@config = config
|
61
|
+
|
52
62
|
@client = client
|
53
|
-
@
|
63
|
+
@interval_s = interval
|
54
64
|
@namespace = namespace
|
55
65
|
@process_metrics = process_metrics
|
56
66
|
@additional_dimensions = additional_dimensions.map { |k, v| {name: k.to_s, value: v.to_s} }
|
@@ -70,7 +80,7 @@ module Sidekiq::CloudWatchMetrics
|
|
70
80
|
def run
|
71
81
|
logger.info { "Started Sidekiq CloudWatch Metrics Publisher" }
|
72
82
|
|
73
|
-
# Publish stats every @
|
83
|
+
# Publish stats every @interval_s seconds, sleeping as required between runs
|
74
84
|
now = Time.now.to_f
|
75
85
|
tick = now
|
76
86
|
until @stop
|
@@ -83,7 +93,7 @@ module Sidekiq::CloudWatchMetrics
|
|
83
93
|
end
|
84
94
|
|
85
95
|
now = Time.now.to_f
|
86
|
-
tick = [tick + @
|
96
|
+
tick = [tick + @interval_s, now].max
|
87
97
|
sleep(tick - now) if tick > now
|
88
98
|
end
|
89
99
|
|
@@ -248,6 +258,9 @@ module Sidekiq::CloudWatchMetrics
|
|
248
258
|
|
249
259
|
# We can only put 20 metrics at a time
|
250
260
|
metrics.each_slice(20) do |some_metrics|
|
261
|
+
if @interval_s < 60
|
262
|
+
metrics.each { |metric| metric.merge!(storage_resolution: 1) }
|
263
|
+
end
|
251
264
|
@client.put_metric_data(
|
252
265
|
namespace: @namespace,
|
253
266
|
metric_data: some_metrics,
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-cloudwatchmetrics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Cochran
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain:
|
11
10
|
- |
|
@@ -28,7 +27,7 @@ cert_chain:
|
|
28
27
|
G8WXc9zUMVewWkEjS9s++xFNb/7f4dFNXCoE3pgHjzctt7gYcJVacprsg925LYHO
|
29
28
|
WsbnbEow7BPlYOZm3rDIsEYpWqxN0lR8BakO2ToJ5RAHXahFu4K4eJtAsLk=
|
30
29
|
-----END CERTIFICATE-----
|
31
|
-
date:
|
30
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
32
31
|
dependencies:
|
33
32
|
- !ruby/object:Gem::Dependency
|
34
33
|
name: sidekiq
|
@@ -39,7 +38,7 @@ dependencies:
|
|
39
38
|
version: '5.0'
|
40
39
|
- - "<"
|
41
40
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
41
|
+
version: '9.0'
|
43
42
|
type: :runtime
|
44
43
|
prerelease: false
|
45
44
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,7 +48,7 @@ dependencies:
|
|
49
48
|
version: '5.0'
|
50
49
|
- - "<"
|
51
50
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
51
|
+
version: '9.0'
|
53
52
|
- !ruby/object:Gem::Dependency
|
54
53
|
name: aws-sdk-cloudwatch
|
55
54
|
requirement: !ruby/object:Gem::Requirement
|
@@ -151,7 +150,6 @@ homepage: https://github.com/sj26/sidekiq-cloudwatchmetrics
|
|
151
150
|
licenses:
|
152
151
|
- MIT
|
153
152
|
metadata: {}
|
154
|
-
post_install_message:
|
155
153
|
rdoc_options: []
|
156
154
|
require_paths:
|
157
155
|
- lib
|
@@ -166,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
164
|
- !ruby/object:Gem::Version
|
167
165
|
version: '0'
|
168
166
|
requirements: []
|
169
|
-
rubygems_version: 3.
|
170
|
-
signing_key:
|
167
|
+
rubygems_version: 3.6.7
|
171
168
|
specification_version: 4
|
172
169
|
summary: Publish Sidekiq metrics to AWS CloudWatch
|
173
170
|
test_files: []
|
metadata.gz.sig
CHANGED
@@ -1,3 +1 @@
|
|
1
|
-
1
|
2
|
-
��G(蘑�������~zy�G�8�A����������K||��+�2GR6LTxG�����I5V��e֠�(�Z(=K׆�M�
|
3
|
-
=��s�]�'��!�\!>j��*�I���J~ߊ��GGhG���h�ݡږB���3���ǥ��5eH�tP�/B�&t�.��/^��H
|
1
|
+
�i���ؔJ������������=�G���z6�'�Ю�@&�űpu�;�{�q鏿p��z_�J@ �_84�h<K������1�U�- ���!ϰ����5�wG����W�I��'3���#�d^��M���f�61>�:�x�S��k���ī����07m���==�%��yp[+D��>=�����L�N�"���O�[F���W�~�`:�u+k��� ��}��>����1h4fϖ��a��˶4B
|