sidekiq-cloudwatchmetrics 1.2.0 → 2.2.0

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: d53e441eb20e71675c81b6992fcc9ec0ef3ecdaf997ca1e10b215964146172a6
4
- data.tar.gz: d1a7a8a295510bb06950fc74a1d183a4dbc8143d493f9f6e780005c30bba68a7
3
+ metadata.gz: fb8deb7fa07fddb75c82ec3b631a803c0d12bb67176e4c210675be9e5b5e2206
4
+ data.tar.gz: d4ea3bb0ecec06fdbe5e52f95f1bef2505bbc89550346301f5720f1750944335
5
5
  SHA512:
6
- metadata.gz: 78058528022016d9093e2de8be2d76671cab60c09b3d216b9a6d32eaa37e734445362ae72f216902208576a2902d88037ba64844ea7d48460e273b23792b4535
7
- data.tar.gz: 68d5614a0e84a49ef4113ab0bc3d95429efc9dc9980868efb329b339984d2a4b7fdcca1fd921a3befd7544fce5d8530777c180741871b5be20c0ff0c370001fb
6
+ metadata.gz: f9568afd5661bb2f0520f109cbe671d85880cf834b919ee20813e7980bcee4426559b654596e352c23e3e3e5c1c5de8e7ffe918402d17aee225f59d122323a80
7
+ data.tar.gz: f4f68b369bc2cea9f565346f103cff7c1323bf05aa80572181b3a11100b7276ec999bd5b22f15261de000d0c6e33be52d17d80a70b5ec01c0267c9483b3d4a89
checksums.yaml.gz.sig ADDED
@@ -0,0 +1 @@
1
+ ���0}���F�rU2�B��7����Cpz3���%W�s�Kd�� ����O��em�"z��r�Lu3�aB��K7�uz�Y�s5�'�v8����Ă���(�����ъ�]2�t����XW����<���T��� ��LF�̼���u�rzxY����J��f�3}4�f����D�8�`�e��}����N���'��>���)�Q��� w��M8w�J����,�^�9�Tkzi��2-ż��H>�#��O˔�H
data/README.md CHANGED
@@ -35,11 +35,18 @@ through environment variables that aws-sdk expects. You can also explicitly
35
35
  supply an [aws-sdk CloudWatch Client instance][cwclient]:
36
36
 
37
37
  ```ruby
38
- Sidekiq::CloudWatchMetrics.enable!(client: AWS::CloudWatch::Client.new)
38
+ Sidekiq::CloudWatchMetrics.enable!(client: Aws::CloudWatch::Client.new)
39
39
  ```
40
40
 
41
41
  [cwclient]: https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatch/Client.html
42
42
 
43
+ The default namespace for metrics is "Sidekiq". You can configure this with the `namespace` option:
44
+
45
+ ```ruby
46
+ Sidekiq::CloudWatchMetrics.enable!(client: Aws::CloudWatch::Client.new, namespace: "Sidekiq-Staging")
47
+ ```
48
+
49
+
43
50
  ## Development
44
51
 
45
52
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -38,8 +38,9 @@ module Sidekiq::CloudWatchMetrics
38
38
 
39
39
  INTERVAL = 60 # seconds
40
40
 
41
- def initialize(client: Aws::CloudWatch::Client.new, additional_dimensions: {})
41
+ def initialize(client: Aws::CloudWatch::Client.new, namespace: "Sidekiq", additional_dimensions: {})
42
42
  @client = client
43
+ @namespace = namespace
43
44
  @additional_dimensions = additional_dimensions.map { |k, v| {name: k.to_s, value: v.to_s} }
44
45
  end
45
46
 
@@ -155,6 +156,14 @@ module Sidekiq::CloudWatchMetrics
155
156
  value: process["busy"] / process["concurrency"].to_f * 100.0,
156
157
  unit: "Percent",
157
158
  }
159
+
160
+ metrics << {
161
+ metric_name: "Utilization",
162
+ dimensions: [{name: "Tag", value: process["tag"]}],
163
+ timestamp: now,
164
+ value: process["busy"] / process["concurrency"].to_f * 100.0,
165
+ unit: "Percent",
166
+ }
158
167
  end
159
168
 
160
169
  queues.each do |(queue_name, queue_size)|
@@ -182,11 +191,10 @@ module Sidekiq::CloudWatchMetrics
182
191
  metric[:dimensions] = (metric[:dimensions] || []) + @additional_dimensions
183
192
  end
184
193
  end
185
-
186
194
  # We can only put 20 metrics at a time
187
195
  metrics.each_slice(20) do |some_metrics|
188
196
  @client.put_metric_data(
189
- namespace: "Sidekiq",
197
+ namespace: @namespace,
190
198
  metric_data: some_metrics,
191
199
  )
192
200
  end
data.tar.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ ��-�(�cp���],�}���]�M��SӶ�� e���k{j��z��;G��NF+*�%��
2
+ 5r��.�J� v�}l]j`�����2I��kH�WrdT�$1�<u���� � �����j�"����8';8Ʀ�*Z����V��N�j��HD٫Nax�� K�q¶����XY�!/�>w�@WE�̻?�<[��Z�����]~E�x�EF~�%b9tO˻.=���.WE���O��
metadata CHANGED
@@ -1,29 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-cloudwatchmetrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Cochran
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain: []
11
- date: 2021-01-04 00:00:00.000000000 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDKDCCAhCgAwIBAgIBCDANBgkqhkiG9w0BAQsFADA6MQ0wCwYDVQQDDARzajI2
14
+ MRQwEgYKCZImiZPyLGQBGRYEc2oyNjETMBEGCgmSJomT8ixkARkWA2NvbTAeFw0y
15
+ MTA0MjcwMzIxMjZaFw0yMjA0MjcwMzIxMjZaMDoxDTALBgNVBAMMBHNqMjYxFDAS
16
+ BgoJkiaJk/IsZAEZFgRzajI2MRMwEQYKCZImiZPyLGQBGRYDY29tMIIBIjANBgkq
17
+ hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr60Eo/ttCk8GMTMFiPr3GoYMIMFvLak
18
+ xSmTk9YGCB6UiEePB4THSSA5w6IPyeaCF/nWkDp3/BAam0eZMWG1IzYQB23TqIM0
19
+ 1xzcNRvFsn0aQoQ00k+sj+G83j3T5OOV5OZIlu8xAChMkQmiPd1NXc6uFv+Iacz7
20
+ kj+CMsI9YUFdNoU09QY0b+u+Rb6wDYdpyvN60YC30h0h1MeYbvYZJx/iZK4XY5zu
21
+ 4O/FL2ChjL2CPCpLZW55ShYyrzphWJwLOJe+FJ/ZBl6YXwrzQM9HKnt4titSNvyU
22
+ KzE3L63A3PZvExzLrN9u09kuWLLJfXB2sGOlw3n9t72rJiuBr3/OQQIDAQABozkw
23
+ NzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU99dfRjEKFyczTeIz
24
+ m3ZsDWrNC80wDQYJKoZIhvcNAQELBQADggEBAInkmTwBeGEJ7Xu9jjZIuFaE197m
25
+ YfvrzVoE6Q1DlWXpgyhhxbPIKg2acvM/Z18A7kQrF7paYl64Ti84dC64seOFIBNx
26
+ Qj/lxzPHMBoAYqeXYJhnYIXnvGCZ4Fkic5Bhs+VdcDP/uwYp3adqy+4bT/XDFZQg
27
+ tSjrAOTg3wck5aI+Tz90ONQJ83bnCRr1UPQ0T3PbWMjnNsEa9CAxUB845Sg+9yUz
28
+ Tvf+pbX8JT9rawFDogxPhL7eRAbjg4MH9amp5l8HTVCAsW8vqv7wM4rtMNAaXmik
29
+ LJghfDEf70fTtbs4Zv57pPhn1b7wBNf8fh+TZOlYAA6dFtQXoCwfE6bWgQU=
30
+ -----END CERTIFICATE-----
31
+ date: 2022-02-24 00:00:00.000000000 Z
12
32
  dependencies:
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: sidekiq
15
35
  requirement: !ruby/object:Gem::Requirement
16
36
  requirements:
17
- - - "~>"
37
+ - - ">="
18
38
  - !ruby/object:Gem::Version
19
39
  version: '5.0'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '7.0'
20
43
  type: :runtime
21
44
  prerelease: false
22
45
  version_requirements: !ruby/object:Gem::Requirement
23
46
  requirements:
24
- - - "~>"
47
+ - - ">="
25
48
  - !ruby/object:Gem::Version
26
49
  version: '5.0'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '7.0'
27
53
  - !ruby/object:Gem::Dependency
28
54
  name: aws-sdk-cloudwatch
29
55
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +70,14 @@ dependencies:
44
70
  requirements:
45
71
  - - "~>"
46
72
  - !ruby/object:Gem::Version
47
- version: '1.16'
73
+ version: '2.2'
48
74
  type: :development
49
75
  prerelease: false
50
76
  version_requirements: !ruby/object:Gem::Requirement
51
77
  requirements:
52
78
  - - "~>"
53
79
  - !ruby/object:Gem::Version
54
- version: '1.16'
80
+ version: '2.2'
55
81
  - !ruby/object:Gem::Dependency
56
82
  name: rake
57
83
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +120,20 @@ dependencies:
94
120
  - - "~>"
95
121
  - !ruby/object:Gem::Version
96
122
  version: '0.9'
123
+ - !ruby/object:Gem::Dependency
124
+ name: rexml
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '3.2'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: '3.2'
97
137
  description: |
98
138
  Runs a thread inside your Sidekiq processes to report metrics to CloudWatch
99
139
  useful for autoscaling and keeping an eye on your queues.
@@ -117,7 +157,7 @@ require_paths:
117
157
  - lib
118
158
  required_ruby_version: !ruby/object:Gem::Requirement
119
159
  requirements:
120
- - - "~>"
160
+ - - ">="
121
161
  - !ruby/object:Gem::Version
122
162
  version: '2.4'
123
163
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -126,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
166
  - !ruby/object:Gem::Version
127
167
  version: '0'
128
168
  requirements: []
129
- rubygems_version: 3.1.4
169
+ rubygems_version: 3.1.6
130
170
  signing_key:
131
171
  specification_version: 4
132
172
  summary: Publish Sidekiq metrics to AWS CloudWatch
metadata.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ �qJ�O�@B���gQ?W���\�W�Q������V�ͿM�CV�U�����c�2�e��8Ay�u�/oF�����ʝ����K�;�� \����?�\"�}7�"~�̎HA�%O-�S9 �I�|��#�LX�q��,N���}4�i��N]���.��0vFSkt^���47�
2
+