sidekiq-prometheus-exporter 0.1.12 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +12 -0
  3. data/.github/workflows/ci.yaml +68 -0
  4. data/.gitignore +3 -1
  5. data/.rubocop.yml +43 -296
  6. data/Appraisals +17 -4
  7. data/README.md +98 -50
  8. data/Rakefile +83 -0
  9. data/docker/Dockerfile +24 -0
  10. data/docker/README.md +61 -0
  11. data/docker/config.ru +41 -0
  12. data/examples/docker-compose.yml +2 -2
  13. data/examples/metrics/config.ru +2 -0
  14. data/examples/screenshot.png +0 -0
  15. data/examples/sidekiq/sidekiq.rb +2 -0
  16. data/examples/{sidekiq.json → sidekiq-dashboard.grafana-6.json} +10 -52
  17. data/examples/sidekiq-dashboard.grafana-7.json +845 -0
  18. data/gemfiles/{sidekiq_3.3.1.gemfile → sidekiq_3.3.1.Gemfile} +2 -1
  19. data/gemfiles/sidekiq_3.3.1.Gemfile.lock +125 -0
  20. data/gemfiles/{sidekiq_3.x.gemfile → sidekiq_3.x.Gemfile} +2 -1
  21. data/gemfiles/{sidekiq_3.x.gemfile.lock → sidekiq_3.x.Gemfile.lock} +63 -61
  22. data/gemfiles/{sidekiq_4.x.gemfile → sidekiq_4.x.Gemfile} +1 -1
  23. data/gemfiles/sidekiq_4.x.Gemfile.lock +101 -0
  24. data/gemfiles/{sidekiq_5.x.gemfile → sidekiq_5.x.Gemfile} +1 -1
  25. data/gemfiles/sidekiq_5.x.Gemfile.lock +100 -0
  26. data/gemfiles/sidekiq_6.x.Gemfile +8 -0
  27. data/gemfiles/sidekiq_6.x.Gemfile.lock +97 -0
  28. data/gemfiles/sidekiq_latest.Gemfile +9 -0
  29. data/gemfiles/sidekiq_latest.Gemfile.lock +113 -0
  30. data/helm/sidekiq-prometheus-exporter/.helmignore +22 -0
  31. data/helm/sidekiq-prometheus-exporter/Chart.yaml +6 -0
  32. data/helm/sidekiq-prometheus-exporter/README.md +87 -0
  33. data/helm/sidekiq-prometheus-exporter/templates/NOTES.txt +15 -0
  34. data/helm/sidekiq-prometheus-exporter/templates/_helpers.tpl +109 -0
  35. data/helm/sidekiq-prometheus-exporter/templates/clusterrole.yaml +20 -0
  36. data/helm/sidekiq-prometheus-exporter/templates/clusterrolebinding.yaml +17 -0
  37. data/helm/sidekiq-prometheus-exporter/templates/deployment.yaml +62 -0
  38. data/helm/sidekiq-prometheus-exporter/templates/service.yaml +17 -0
  39. data/helm/sidekiq-prometheus-exporter/templates/serviceaccount.yaml +9 -0
  40. data/helm/sidekiq-prometheus-exporter/templates/servicemonitor.yaml +26 -0
  41. data/helm/sidekiq-prometheus-exporter/values.yaml +135 -0
  42. data/lib/sidekiq/prometheus/exporter/standard.rb +19 -5
  43. data/lib/sidekiq/prometheus/exporter/templates/standard.erb +13 -1
  44. data/lib/sidekiq/prometheus/exporter/version.rb +1 -1
  45. data/lib/sidekiq/prometheus/exporter.rb +3 -1
  46. data/sidekiq-prometheus-exporter.gemspec +9 -7
  47. metadata +74 -41
  48. data/.codeclimate.yml +0 -16
  49. data/.travis.yml +0 -23
  50. data/gemfiles/sidekiq_3.3.1.gemfile.lock +0 -138
  51. data/gemfiles/sidekiq_4.x.gemfile.lock +0 -101
  52. data/gemfiles/sidekiq_5.x.gemfile.lock +0 -99
@@ -10,6 +10,8 @@ module Sidekiq
10
10
  TEMPLATE = ERB.new(File.read(File.expand_path('templates/standard.erb', __dir__)))
11
11
 
12
12
  QueueStats = Struct.new(:name, :size, :latency)
13
+ QueueWorkersStats = Struct.new(:total_workers, :busy_workers, :processes)
14
+ WorkersStats = Struct.new(:total_workers, :by_queue)
13
15
 
14
16
  def self.available?
15
17
  true
@@ -18,8 +20,8 @@ module Sidekiq
18
20
  def initialize
19
21
  @overview_stats = Sidekiq::Stats.new
20
22
  @queues_stats = queues_stats
23
+ @workers_stats = workers_stats
21
24
  @max_processing_times = max_processing_times
22
- @total_workers = total_workers
23
25
  end
24
26
 
25
27
  def to_s
@@ -34,8 +36,24 @@ module Sidekiq
34
36
  end
35
37
  end
36
38
 
39
+ def workers_stats
40
+ workers_stats = WorkersStats.new(0, {})
41
+
42
+ Sidekiq::ProcessSet.new.each_with_object(workers_stats) do |process, stats|
43
+ stats.total_workers += process['concurrency'].to_i
44
+
45
+ process['queues'].each do |queue|
46
+ stats.by_queue[queue] ||= QueueWorkersStats.new(0, 0, 0)
47
+ stats.by_queue[queue].processes += 1
48
+ stats.by_queue[queue].busy_workers += process['busy'].to_i
49
+ stats.by_queue[queue].total_workers += process['concurrency'].to_i
50
+ end
51
+ end
52
+ end
53
+
37
54
  def max_processing_times
38
55
  now = Time.now.to_i
56
+
39
57
  Sidekiq::Workers.new
40
58
  .map { |_, _, execution| execution }
41
59
  .group_by { |execution| execution['queue'] }
@@ -44,10 +62,6 @@ module Sidekiq
44
62
  memo[queue] = now - oldest_execution['run_at']
45
63
  end
46
64
  end
47
-
48
- def total_workers
49
- Sidekiq::ProcessSet.new.map { |process| process['concurrency'].to_i }.reduce(0, :+)
50
- end
51
65
  end
52
66
  end
53
67
  end
@@ -8,7 +8,7 @@ sidekiq_failed_jobs_total <%= format('%d', @overview_stats.failed) %>
8
8
 
9
9
  # HELP sidekiq_workers The number of workers across all the processes.
10
10
  # TYPE sidekiq_workers gauge
11
- sidekiq_workers <%= format('%d', @total_workers) %>
11
+ sidekiq_workers <%= format('%d', @workers_stats.total_workers) %>
12
12
 
13
13
  # HELP sidekiq_processes The number of processes.
14
14
  # TYPE sidekiq_processes gauge
@@ -46,3 +46,15 @@ sidekiq_dead_jobs <%= format('%d', @overview_stats.dead_size) %>
46
46
  # TYPE sidekiq_queue_max_processing_time_seconds gauge
47
47
  <% @max_processing_times.each do |queue, max_processing_time| %>sidekiq_queue_max_processing_time_seconds{name="<%= queue %>"} <%= format('%i', max_processing_time) %>
48
48
  <% end %>
49
+ # HELP sidekiq_queue_workers The number of workers serving the queue.
50
+ # TYPE sidekiq_queue_workers gauge
51
+ <% @workers_stats.by_queue.each do |queue, stats| %>sidekiq_queue_workers{name="<%= queue %>"} <%= format('%i', stats.total_workers) %>
52
+ <% end %>
53
+ # HELP sidekiq_queue_processes The number of processes serving the queue.
54
+ # TYPE sidekiq_queue_processes gauge
55
+ <% @workers_stats.by_queue.each do |queue, stats| %>sidekiq_queue_processes{name="<%= queue %>"} <%= format('%i', stats.processes) %>
56
+ <% end %>
57
+ # HELP sidekiq_queue_busy_workers The number of workers performing the job for the queue.
58
+ # TYPE sidekiq_queue_busy_workers gauge
59
+ <% @workers_stats.by_queue.each do |queue, stats| %>sidekiq_queue_busy_workers{name="<%= queue %>"} <%= format('%i', stats.busy_workers) %>
60
+ <% end %>
@@ -3,7 +3,7 @@
3
3
  module Sidekiq
4
4
  module Prometheus
5
5
  module Exporter
6
- VERSION = '0.1.12'.freeze
6
+ VERSION = '0.1.16'.freeze
7
7
  end
8
8
  end
9
9
  end
@@ -11,7 +11,9 @@ module Sidekiq
11
11
  REQUEST_METHOD = 'REQUEST_METHOD'.freeze
12
12
  NOT_FOUND_TEXT = 'Not Found'.freeze
13
13
  MOUNT_PATH = '/metrics'.freeze
14
- HEADERS = {'Content-Type' => 'text/plain; version=0.0.4', 'Cache-Control' => 'no-cache'}.freeze
14
+ # rubocop:disable Style/MutableConstant
15
+ HEADERS = {'Content-Type' => 'text/plain; version=0.0.4', 'Cache-Control' => 'no-cache'}
16
+ # rubocop:enable Style/MutableConstant
15
17
  EXPORTERS = Exporters.new
16
18
 
17
19
  class << self
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
19
19
  else
20
20
  raise 'RubyGems 2.0 or newer is required to protect against ' \
21
- 'public gem pushes.'
21
+ 'public gem pushes.'
22
22
  end
23
23
 
24
24
  spec.files = `git ls-files -z`.split("\x0").reject do |file|
@@ -28,16 +28,18 @@ Gem::Specification.new do |spec|
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |file| File.basename(file) }
29
29
  spec.require_paths = %w(lib)
30
30
 
31
+ spec.required_ruby_version = '>= 2.3'
31
32
  spec.add_dependency 'sidekiq', '>= 3.3.1'
32
33
 
33
34
  spec.add_development_dependency 'appraisal', '~> 2.2'
34
- spec.add_development_dependency 'bundler', '~> 1.16'
35
- spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0'
35
+ spec.add_development_dependency 'bundler', '~> 2.1'
36
36
  spec.add_development_dependency 'pry-byebug', '~> 3.6'
37
- spec.add_development_dependency 'rack-test', '~> 0.8'
38
- spec.add_development_dependency 'rake', '~> 10.0'
37
+ spec.add_development_dependency 'rack-test', '~> 1.1'
38
+ spec.add_development_dependency 'rake', '~> 13.0'
39
39
  spec.add_development_dependency 'rspec', '~> 3.0'
40
- spec.add_development_dependency 'rubocop', '~> 0.58'
41
- spec.add_development_dependency 'rubocop-rspec', '~> 1.28.0'
40
+ spec.add_development_dependency 'rubocop', '~> 1.22'
41
+ spec.add_development_dependency 'rubocop-performance', '~> 1.12'
42
+ spec.add_development_dependency 'rubocop-rake', '~> 0.6'
43
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.6'
42
44
  spec.add_development_dependency 'timecop', '~> 0.9'
43
45
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-prometheus-exporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Fedorov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-24 00:00:00.000000000 Z
11
+ date: 2021-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -44,112 +44,126 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.16'
47
+ version: '2.1'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.16'
54
+ version: '2.1'
55
55
  - !ruby/object:Gem::Dependency
56
- name: codeclimate-test-reporter
56
+ name: pry-byebug
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.0'
61
+ version: '3.6'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.0'
68
+ version: '3.6'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pry-byebug
70
+ name: rack-test
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.6'
75
+ version: '1.1'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.6'
82
+ version: '1.1'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rack-test
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.8'
89
+ version: '13.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.8'
96
+ version: '13.0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rake
98
+ name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '10.0'
103
+ version: '3.0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '10.0'
110
+ version: '3.0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rspec
112
+ name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '3.0'
117
+ version: '1.22'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '3.0'
124
+ version: '1.22'
125
125
  - !ruby/object:Gem::Dependency
126
- name: rubocop
126
+ name: rubocop-performance
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0.58'
131
+ version: '1.12'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0.58'
138
+ version: '1.12'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop-rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.6'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.6'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rubocop-rspec
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 1.28.0
159
+ version: '2.6'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 1.28.0
166
+ version: '2.6'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: timecop
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -171,11 +185,11 @@ executables: []
171
185
  extensions: []
172
186
  extra_rdoc_files: []
173
187
  files:
174
- - ".codeclimate.yml"
188
+ - ".github/FUNDING.yml"
189
+ - ".github/workflows/ci.yaml"
175
190
  - ".gitignore"
176
191
  - ".rspec"
177
192
  - ".rubocop.yml"
178
- - ".travis.yml"
179
193
  - Appraisals
180
194
  - Gemfile
181
195
  - LICENSE
@@ -183,23 +197,43 @@ files:
183
197
  - Rakefile
184
198
  - bin/console
185
199
  - bin/setup
200
+ - docker/Dockerfile
201
+ - docker/README.md
202
+ - docker/config.ru
186
203
  - examples/docker-compose.yml
187
204
  - examples/metrics/Dockerfile
188
205
  - examples/metrics/config.ru
189
206
  - examples/prometheus/prometheus.yml
190
207
  - examples/screenshot.png
191
- - examples/sidekiq.json
208
+ - examples/sidekiq-dashboard.grafana-6.json
209
+ - examples/sidekiq-dashboard.grafana-7.json
192
210
  - examples/sidekiq/Dockerfile
193
211
  - examples/sidekiq/sidekiq.rb
194
212
  - examples/sidekiq/sidekiq.yml
195
- - gemfiles/sidekiq_3.3.1.gemfile
196
- - gemfiles/sidekiq_3.3.1.gemfile.lock
197
- - gemfiles/sidekiq_3.x.gemfile
198
- - gemfiles/sidekiq_3.x.gemfile.lock
199
- - gemfiles/sidekiq_4.x.gemfile
200
- - gemfiles/sidekiq_4.x.gemfile.lock
201
- - gemfiles/sidekiq_5.x.gemfile
202
- - gemfiles/sidekiq_5.x.gemfile.lock
213
+ - gemfiles/sidekiq_3.3.1.Gemfile
214
+ - gemfiles/sidekiq_3.3.1.Gemfile.lock
215
+ - gemfiles/sidekiq_3.x.Gemfile
216
+ - gemfiles/sidekiq_3.x.Gemfile.lock
217
+ - gemfiles/sidekiq_4.x.Gemfile
218
+ - gemfiles/sidekiq_4.x.Gemfile.lock
219
+ - gemfiles/sidekiq_5.x.Gemfile
220
+ - gemfiles/sidekiq_5.x.Gemfile.lock
221
+ - gemfiles/sidekiq_6.x.Gemfile
222
+ - gemfiles/sidekiq_6.x.Gemfile.lock
223
+ - gemfiles/sidekiq_latest.Gemfile
224
+ - gemfiles/sidekiq_latest.Gemfile.lock
225
+ - helm/sidekiq-prometheus-exporter/.helmignore
226
+ - helm/sidekiq-prometheus-exporter/Chart.yaml
227
+ - helm/sidekiq-prometheus-exporter/README.md
228
+ - helm/sidekiq-prometheus-exporter/templates/NOTES.txt
229
+ - helm/sidekiq-prometheus-exporter/templates/_helpers.tpl
230
+ - helm/sidekiq-prometheus-exporter/templates/clusterrole.yaml
231
+ - helm/sidekiq-prometheus-exporter/templates/clusterrolebinding.yaml
232
+ - helm/sidekiq-prometheus-exporter/templates/deployment.yaml
233
+ - helm/sidekiq-prometheus-exporter/templates/service.yaml
234
+ - helm/sidekiq-prometheus-exporter/templates/serviceaccount.yaml
235
+ - helm/sidekiq-prometheus-exporter/templates/servicemonitor.yaml
236
+ - helm/sidekiq-prometheus-exporter/values.yaml
203
237
  - lib/sidekiq/prometheus/exporter.rb
204
238
  - lib/sidekiq/prometheus/exporter/cron.rb
205
239
  - lib/sidekiq/prometheus/exporter/exporters.rb
@@ -214,7 +248,7 @@ homepage: https://github.com/Strech/sidekiq-prometheus-exporter
214
248
  licenses: []
215
249
  metadata:
216
250
  allowed_push_host: https://rubygems.org
217
- post_install_message:
251
+ post_install_message:
218
252
  rdoc_options: []
219
253
  require_paths:
220
254
  - lib
@@ -222,16 +256,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
222
256
  requirements:
223
257
  - - ">="
224
258
  - !ruby/object:Gem::Version
225
- version: '0'
259
+ version: '2.3'
226
260
  required_rubygems_version: !ruby/object:Gem::Requirement
227
261
  requirements:
228
262
  - - ">="
229
263
  - !ruby/object:Gem::Version
230
264
  version: '0'
231
265
  requirements: []
232
- rubyforge_project:
233
- rubygems_version: 2.5.2.2
234
- signing_key:
266
+ rubygems_version: 3.2.20
267
+ signing_key:
235
268
  specification_version: 4
236
269
  summary: Prometheus exporter for the Sidekiq
237
270
  test_files: []
data/.codeclimate.yml DELETED
@@ -1,16 +0,0 @@
1
- version: "2"
2
- plugins:
3
- duplication:
4
- enabled: true
5
- config:
6
- languages:
7
- ruby:
8
- mass_threshold: 30
9
- exclude_paths:
10
- - spec/
11
- rubocop:
12
- enabled: true
13
- channel: rubocop-0-58
14
- exclude_paths:
15
- - tmp/
16
- - gemfiles/
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.2.10
5
- - 2.3.8
6
- - 2.4.6
7
- - 2.5.5
8
- - 2.6.2
9
- gemfile:
10
- - gemfiles/sidekiq_3.3.1.gemfile
11
- - gemfiles/sidekiq_3.x.gemfile
12
- - gemfiles/sidekiq_4.x.gemfile
13
- - gemfiles/sidekiq_5.x.gemfile
14
- addons:
15
- code_climate:
16
- repo_token: $CODECLIMATE_REPO_TOKEN
17
- notifications:
18
- email: false
19
-
20
- cache: bundler
21
- before_install: gem install bundler -v 1.16.5
22
- after_success: bundle exec codeclimate-test-reporter
23
- script: bundle exec rake spec
@@ -1,138 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- sidekiq-prometheus-exporter (0.1.12)
5
- sidekiq (>= 3.3.1)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- appraisal (2.2.0)
11
- bundler
12
- rake
13
- thor (>= 0.14.0)
14
- ast (2.4.0)
15
- byebug (10.0.2)
16
- celluloid (0.17.3)
17
- celluloid-essentials
18
- celluloid-extras
19
- celluloid-fsm
20
- celluloid-pool
21
- celluloid-supervision
22
- timers (>= 4.1.1)
23
- celluloid-essentials (0.20.5)
24
- timers (>= 4.1.1)
25
- celluloid-extras (0.20.5)
26
- timers (>= 4.1.1)
27
- celluloid-fsm (0.20.5)
28
- timers (>= 4.1.1)
29
- celluloid-pool (0.20.5)
30
- timers (>= 4.1.1)
31
- celluloid-supervision (0.20.6)
32
- timers (>= 4.1.1)
33
- codeclimate-test-reporter (1.0.8)
34
- simplecov (<= 0.13)
35
- coderay (1.1.2)
36
- concurrent-ruby (1.0.5)
37
- connection_pool (2.2.2)
38
- diff-lcs (1.3)
39
- docile (1.1.5)
40
- hitimes (1.3.0)
41
- jaro_winkler (1.5.1)
42
- json (2.1.0)
43
- method_source (0.9.0)
44
- mustermann (1.0.3)
45
- parallel (1.12.1)
46
- parser (2.5.1.2)
47
- ast (~> 2.4.0)
48
- powerpack (0.1.2)
49
- pry (0.11.3)
50
- coderay (~> 1.1.0)
51
- method_source (~> 0.9.0)
52
- pry-byebug (3.6.0)
53
- byebug (~> 10.0)
54
- pry (~> 0.10)
55
- rack (2.0.5)
56
- rack-protection (2.0.4)
57
- rack
58
- rack-test (0.8.3)
59
- rack (>= 1.0, < 3)
60
- rainbow (3.0.0)
61
- rake (10.5.0)
62
- redis (4.0.2)
63
- redis-namespace (1.6.0)
64
- redis (>= 3.0.4)
65
- rspec (3.8.0)
66
- rspec-core (~> 3.8.0)
67
- rspec-expectations (~> 3.8.0)
68
- rspec-mocks (~> 3.8.0)
69
- rspec-core (3.8.0)
70
- rspec-support (~> 3.8.0)
71
- rspec-expectations (3.8.1)
72
- diff-lcs (>= 1.2.0, < 2.0)
73
- rspec-support (~> 3.8.0)
74
- rspec-mocks (3.8.0)
75
- diff-lcs (>= 1.2.0, < 2.0)
76
- rspec-support (~> 3.8.0)
77
- rspec-support (3.8.0)
78
- rubocop (0.59.2)
79
- jaro_winkler (~> 1.5.1)
80
- parallel (~> 1.10)
81
- parser (>= 2.5, != 2.5.1.1)
82
- powerpack (~> 0.1)
83
- rainbow (>= 2.2.2, < 4.0)
84
- ruby-progressbar (~> 1.7)
85
- unicode-display_width (~> 1.0, >= 1.0.1)
86
- rubocop-rspec (1.28.0)
87
- rubocop (>= 0.58.0)
88
- ruby-progressbar (1.10.0)
89
- sidekiq (3.3.1)
90
- celluloid (>= 0.16.0)
91
- connection_pool (>= 2.1.1)
92
- json
93
- redis (>= 3.0.6)
94
- redis-namespace (>= 1.3.1)
95
- simplecov (0.13.0)
96
- docile (~> 1.1.0)
97
- json (>= 1.8, < 3)
98
- simplecov-html (~> 0.10.0)
99
- simplecov-html (0.10.2)
100
- sinatra (2.0.4)
101
- mustermann (~> 1.0)
102
- rack (~> 2.0)
103
- rack-protection (= 2.0.4)
104
- tilt (~> 2.0)
105
- slim (4.0.1)
106
- temple (>= 0.7.6, < 0.9)
107
- tilt (>= 2.0.6, < 2.1)
108
- temple (0.8.0)
109
- thor (0.20.0)
110
- tilt (2.0.8)
111
- timecop (0.9.1)
112
- timers (4.1.2)
113
- hitimes
114
- unicode-display_width (1.4.0)
115
-
116
- PLATFORMS
117
- ruby
118
-
119
- DEPENDENCIES
120
- appraisal (~> 2.2)
121
- bundler (~> 1.16)
122
- codeclimate-test-reporter (~> 1.0)
123
- concurrent-ruby
124
- pry-byebug (~> 3.6)
125
- rack-test (~> 0.8)
126
- rake (~> 10.0)
127
- redis (>= 3.3.5)
128
- rspec (~> 3.0)
129
- rubocop (~> 0.58)
130
- rubocop-rspec (~> 1.28.0)
131
- sidekiq (= 3.3.1)
132
- sidekiq-prometheus-exporter!
133
- sinatra
134
- slim
135
- timecop (~> 0.9)
136
-
137
- BUNDLED WITH
138
- 1.16.5
@@ -1,101 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- sidekiq-prometheus-exporter (0.1.12)
5
- sidekiq (>= 3.3.1)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- appraisal (2.2.0)
11
- bundler
12
- rake
13
- thor (>= 0.14.0)
14
- ast (2.4.0)
15
- byebug (10.0.2)
16
- codeclimate-test-reporter (1.0.8)
17
- simplecov (<= 0.13)
18
- coderay (1.1.2)
19
- concurrent-ruby (1.0.5)
20
- connection_pool (2.2.2)
21
- diff-lcs (1.3)
22
- docile (1.1.5)
23
- jaro_winkler (1.5.1)
24
- json (2.1.0)
25
- method_source (0.9.0)
26
- parallel (1.12.1)
27
- parser (2.5.1.2)
28
- ast (~> 2.4.0)
29
- powerpack (0.1.2)
30
- pry (0.11.3)
31
- coderay (~> 1.1.0)
32
- method_source (~> 0.9.0)
33
- pry-byebug (3.6.0)
34
- byebug (~> 10.0)
35
- pry (~> 0.10)
36
- rack (2.0.5)
37
- rack-protection (2.0.4)
38
- rack
39
- rack-test (0.8.3)
40
- rack (>= 1.0, < 3)
41
- rainbow (3.0.0)
42
- rake (10.5.0)
43
- redis (3.3.5)
44
- rspec (3.8.0)
45
- rspec-core (~> 3.8.0)
46
- rspec-expectations (~> 3.8.0)
47
- rspec-mocks (~> 3.8.0)
48
- rspec-core (3.8.0)
49
- rspec-support (~> 3.8.0)
50
- rspec-expectations (3.8.1)
51
- diff-lcs (>= 1.2.0, < 2.0)
52
- rspec-support (~> 3.8.0)
53
- rspec-mocks (3.8.0)
54
- diff-lcs (>= 1.2.0, < 2.0)
55
- rspec-support (~> 3.8.0)
56
- rspec-support (3.8.0)
57
- rubocop (0.59.2)
58
- jaro_winkler (~> 1.5.1)
59
- parallel (~> 1.10)
60
- parser (>= 2.5, != 2.5.1.1)
61
- powerpack (~> 0.1)
62
- rainbow (>= 2.2.2, < 4.0)
63
- ruby-progressbar (~> 1.7)
64
- unicode-display_width (~> 1.0, >= 1.0.1)
65
- rubocop-rspec (1.28.0)
66
- rubocop (>= 0.58.0)
67
- ruby-progressbar (1.10.0)
68
- sidekiq (4.2.10)
69
- concurrent-ruby (~> 1.0)
70
- connection_pool (~> 2.2, >= 2.2.0)
71
- rack-protection (>= 1.5.0)
72
- redis (~> 3.2, >= 3.2.1)
73
- simplecov (0.13.0)
74
- docile (~> 1.1.0)
75
- json (>= 1.8, < 3)
76
- simplecov-html (~> 0.10.0)
77
- simplecov-html (0.10.2)
78
- thor (0.20.0)
79
- timecop (0.9.1)
80
- unicode-display_width (1.4.0)
81
-
82
- PLATFORMS
83
- ruby
84
-
85
- DEPENDENCIES
86
- appraisal (~> 2.2)
87
- bundler (~> 1.16)
88
- codeclimate-test-reporter (~> 1.0)
89
- pry-byebug (~> 3.6)
90
- rack-test (~> 0.8)
91
- rake (~> 10.0)
92
- redis (>= 3.3.5)
93
- rspec (~> 3.0)
94
- rubocop (~> 0.58)
95
- rubocop-rspec (~> 1.28.0)
96
- sidekiq (~> 4.0)
97
- sidekiq-prometheus-exporter!
98
- timecop (~> 0.9)
99
-
100
- BUNDLED WITH
101
- 1.16.5