prometheus_exporter 0.7.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +82 -25
  3. data/Appraisals +7 -3
  4. data/CHANGELOG +104 -24
  5. data/Dockerfile +9 -0
  6. data/README.md +258 -51
  7. data/bin/prometheus_exporter +19 -6
  8. data/examples/custom_collector.rb +1 -1
  9. data/gemfiles/ar_70.gemfile +5 -0
  10. data/lib/prometheus_exporter/client.rb +48 -23
  11. data/lib/prometheus_exporter/instrumentation/active_record.rb +11 -29
  12. data/lib/prometheus_exporter/instrumentation/delayed_job.rb +5 -2
  13. data/lib/prometheus_exporter/instrumentation/good_job.rb +30 -0
  14. data/lib/prometheus_exporter/instrumentation/method_profiler.rb +63 -23
  15. data/lib/prometheus_exporter/instrumentation/periodic_stats.rb +62 -0
  16. data/lib/prometheus_exporter/instrumentation/process.rb +5 -21
  17. data/lib/prometheus_exporter/instrumentation/puma.rb +34 -27
  18. data/lib/prometheus_exporter/instrumentation/resque.rb +35 -0
  19. data/lib/prometheus_exporter/instrumentation/sidekiq.rb +53 -23
  20. data/lib/prometheus_exporter/instrumentation/sidekiq_process.rb +52 -0
  21. data/lib/prometheus_exporter/instrumentation/sidekiq_queue.rb +32 -24
  22. data/lib/prometheus_exporter/instrumentation/sidekiq_stats.rb +37 -0
  23. data/lib/prometheus_exporter/instrumentation/unicorn.rb +10 -15
  24. data/lib/prometheus_exporter/instrumentation.rb +5 -0
  25. data/lib/prometheus_exporter/metric/base.rb +12 -10
  26. data/lib/prometheus_exporter/metric/gauge.rb +4 -0
  27. data/lib/prometheus_exporter/metric/histogram.rb +15 -3
  28. data/lib/prometheus_exporter/middleware.rb +45 -19
  29. data/lib/prometheus_exporter/server/active_record_collector.rb +9 -12
  30. data/lib/prometheus_exporter/server/collector.rb +4 -0
  31. data/lib/prometheus_exporter/server/delayed_job_collector.rb +24 -18
  32. data/lib/prometheus_exporter/server/good_job_collector.rb +52 -0
  33. data/lib/prometheus_exporter/server/metrics_container.rb +66 -0
  34. data/lib/prometheus_exporter/server/process_collector.rb +8 -13
  35. data/lib/prometheus_exporter/server/puma_collector.rb +14 -12
  36. data/lib/prometheus_exporter/server/resque_collector.rb +50 -0
  37. data/lib/prometheus_exporter/server/runner.rb +14 -3
  38. data/lib/prometheus_exporter/server/sidekiq_collector.rb +1 -1
  39. data/lib/prometheus_exporter/server/sidekiq_process_collector.rb +43 -0
  40. data/lib/prometheus_exporter/server/sidekiq_queue_collector.rb +6 -7
  41. data/lib/prometheus_exporter/server/sidekiq_stats_collector.rb +48 -0
  42. data/lib/prometheus_exporter/server/type_collector.rb +2 -0
  43. data/lib/prometheus_exporter/server/unicorn_collector.rb +32 -33
  44. data/lib/prometheus_exporter/server/web_collector.rb +17 -17
  45. data/lib/prometheus_exporter/server/web_server.rb +72 -41
  46. data/lib/prometheus_exporter/server.rb +4 -0
  47. data/lib/prometheus_exporter/version.rb +1 -1
  48. data/lib/prometheus_exporter.rb +12 -13
  49. data/prometheus_exporter.gemspec +6 -6
  50. metadata +53 -14
@@ -5,10 +5,10 @@ module PrometheusExporter::Server
5
5
  def initialize
6
6
  @metrics = {}
7
7
  @http_requests_total = nil
8
- @http_duration_seconds = nil
9
- @http_redis_duration_seconds = nil
10
- @http_sql_duration_seconds = nil
11
- @http_queue_duration_seconds = nil
8
+ @http_request_duration_seconds = nil
9
+ @http_request_redis_duration_seconds = nil
10
+ @http_request_sql_duration_seconds = nil
11
+ @http_request_queue_duration_seconds = nil
12
12
  end
13
13
 
14
14
  def type
@@ -33,23 +33,23 @@ module PrometheusExporter::Server
33
33
  "Total HTTP requests from web app."
34
34
  )
35
35
 
36
- @metrics["http_duration_seconds"] = @http_duration_seconds = PrometheusExporter::Metric::Summary.new(
37
- "http_duration_seconds",
36
+ @metrics["http_request_duration_seconds"] = @http_request_duration_seconds = PrometheusExporter::Metric::Base.default_aggregation.new(
37
+ "http_request_duration_seconds",
38
38
  "Time spent in HTTP reqs in seconds."
39
39
  )
40
40
 
41
- @metrics["http_redis_duration_seconds"] = @http_redis_duration_seconds = PrometheusExporter::Metric::Summary.new(
42
- "http_redis_duration_seconds",
41
+ @metrics["http_request_redis_duration_seconds"] = @http_request_redis_duration_seconds = PrometheusExporter::Metric::Base.default_aggregation.new(
42
+ "http_request_redis_duration_seconds",
43
43
  "Time spent in HTTP reqs in Redis, in seconds."
44
44
  )
45
45
 
46
- @metrics["http_sql_duration_seconds"] = @http_sql_duration_seconds = PrometheusExporter::Metric::Summary.new(
47
- "http_sql_duration_seconds",
46
+ @metrics["http_request_sql_duration_seconds"] = @http_request_sql_duration_seconds = PrometheusExporter::Metric::Base.default_aggregation.new(
47
+ "http_request_sql_duration_seconds",
48
48
  "Time spent in HTTP reqs in SQL in seconds."
49
49
  )
50
50
 
51
- @metrics["http_queue_duration_seconds"] = @http_queue_duration_seconds = PrometheusExporter::Metric::Summary.new(
52
- "http_queue_duration_seconds",
51
+ @metrics["http_request_queue_duration_seconds"] = @http_request_queue_duration_seconds = PrometheusExporter::Metric::Base.default_aggregation.new(
52
+ "http_request_queue_duration_seconds",
53
53
  "Time spent queueing the request in load balancer in seconds."
54
54
  )
55
55
  end
@@ -60,19 +60,19 @@ module PrometheusExporter::Server
60
60
  custom_labels = obj['custom_labels']
61
61
  labels = custom_labels.nil? ? default_labels : default_labels.merge(custom_labels)
62
62
 
63
- @http_requests_total.observe(1, labels)
63
+ @http_requests_total.observe(1, labels.merge("status" => obj["status"]))
64
64
 
65
65
  if timings = obj["timings"]
66
- @http_duration_seconds.observe(timings["total_duration"], labels)
66
+ @http_request_duration_seconds.observe(timings["total_duration"], labels)
67
67
  if redis = timings["redis"]
68
- @http_redis_duration_seconds.observe(redis["duration"], labels)
68
+ @http_request_redis_duration_seconds.observe(redis["duration"], labels)
69
69
  end
70
70
  if sql = timings["sql"]
71
- @http_sql_duration_seconds.observe(sql["duration"], labels)
71
+ @http_request_sql_duration_seconds.observe(sql["duration"], labels)
72
72
  end
73
73
  end
74
74
  if queue_time = obj["queue_time"]
75
- @http_queue_duration_seconds.observe(queue_time, labels)
75
+ @http_request_queue_duration_seconds.observe(queue_time, labels)
76
76
  end
77
77
  end
78
78
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'webrick'
4
- require 'timeout'
5
- require 'zlib'
6
- require 'stringio'
3
+ require "webrick"
4
+ require "timeout"
5
+ require "zlib"
6
+ require "stringio"
7
7
 
8
8
  module PrometheusExporter::Server
9
9
  class WebServer
@@ -18,41 +18,62 @@ module PrometheusExporter::Server
18
18
  @auth = opts[:auth]
19
19
  @realm = opts[:realm] || PrometheusExporter::DEFAULT_REALM
20
20
 
21
- @metrics_total = PrometheusExporter::Metric::Counter.new("collector_metrics_total", "Total metrics processed by exporter web.")
21
+ @metrics_total =
22
+ PrometheusExporter::Metric::Counter.new(
23
+ "collector_metrics_total",
24
+ "Total metrics processed by exporter web."
25
+ )
22
26
 
23
- @sessions_total = PrometheusExporter::Metric::Counter.new("collector_sessions_total", "Total send_metric sessions processed by exporter web.")
27
+ @sessions_total =
28
+ PrometheusExporter::Metric::Counter.new(
29
+ "collector_sessions_total",
30
+ "Total send_metric sessions processed by exporter web."
31
+ )
24
32
 
25
- @bad_metrics_total = PrometheusExporter::Metric::Counter.new("collector_bad_metrics_total", "Total mis-handled metrics by collector.")
33
+ @bad_metrics_total =
34
+ PrometheusExporter::Metric::Counter.new(
35
+ "collector_bad_metrics_total",
36
+ "Total mis-handled metrics by collector."
37
+ )
26
38
 
27
39
  @metrics_total.observe(0)
28
40
  @sessions_total.observe(0)
29
41
  @bad_metrics_total.observe(0)
30
42
 
31
43
  @access_log, @logger = nil
44
+ log_target = opts[:log_target]
32
45
 
33
46
  if @verbose
34
47
  @access_log = [
35
48
  [$stderr, WEBrick::AccessLog::COMMON_LOG_FORMAT],
36
- [$stderr, WEBrick::AccessLog::REFERER_LOG_FORMAT],
49
+ [$stderr, WEBrick::AccessLog::REFERER_LOG_FORMAT]
37
50
  ]
38
- @logger = WEBrick::Log.new($stderr)
51
+ @logger = WEBrick::Log.new(log_target || $stderr)
39
52
  else
40
53
  @access_log = []
41
- @logger = WEBrick::Log.new("/dev/null")
54
+ @logger = WEBrick::Log.new(log_target || "/dev/null")
42
55
  end
43
56
 
44
- @logger.info "Using Basic Authentication via #{@auth}" if @verbose && @auth
57
+ if @verbose && @auth
58
+ @logger.info "Using Basic Authentication via #{@auth}"
59
+ end
45
60
 
46
- @server = WEBrick::HTTPServer.new(
47
- Port: @port,
48
- BindAddress: @bind,
49
- Logger: @logger,
50
- AccessLog: @access_log,
51
- )
61
+ if %w[ALL ANY].include?(@bind)
62
+ @logger.info "Listening on both 0.0.0.0/:: network interfaces"
63
+ @bind = nil
64
+ end
52
65
 
53
- @server.mount_proc '/' do |req, res|
54
- res['Content-Type'] = 'text/plain; charset=utf-8'
55
- if req.path == '/metrics'
66
+ @server =
67
+ WEBrick::HTTPServer.new(
68
+ Port: @port,
69
+ BindAddress: @bind,
70
+ Logger: @logger,
71
+ AccessLog: @access_log
72
+ )
73
+
74
+ @server.mount_proc "/" do |req, res|
75
+ res["Content-Type"] = "text/plain; charset=utf-8"
76
+ if req.path == "/metrics"
56
77
  authenticate(req, res) if @auth
57
78
 
58
79
  res.status = 200
@@ -70,11 +91,14 @@ module PrometheusExporter::Server
70
91
  else
71
92
  res.body = metrics
72
93
  end
73
- elsif req.path == '/send-metrics'
94
+ elsif req.path == "/send-metrics"
74
95
  handle_metrics(req, res)
96
+ elsif req.path == "/ping"
97
+ res.body = "PONG"
75
98
  else
76
99
  res.status = 404
77
- res.body = "Not Found! The Prometheus Ruby Exporter only listens on /metrics and /send-metrics"
100
+ res.body =
101
+ "Not Found! The Prometheus Ruby Exporter only listens on /ping, /metrics and /send-metrics"
78
102
  end
79
103
  end
80
104
  end
@@ -86,16 +110,11 @@ module PrometheusExporter::Server
86
110
  @metrics_total.observe
87
111
  @collector.process(block)
88
112
  rescue => e
89
- if @verbose
90
- STDERR.puts
91
- STDERR.puts e.inspect
92
- STDERR.puts e.backtrace
93
- STDERR.puts
94
- end
113
+ @logger.error "\n\n#{e.inspect}\n#{e.backtrace}\n\n" if @verbose
95
114
  @bad_metrics_total.observe
96
115
  res.body = "Bad Metrics #{e}"
97
116
  res.status = e.respond_to?(:status_code) ? e.status_code : 500
98
- return
117
+ break
99
118
  end
100
119
  end
101
120
 
@@ -104,13 +123,14 @@ module PrometheusExporter::Server
104
123
  end
105
124
 
106
125
  def start
107
- @runner ||= Thread.start do
108
- begin
109
- @server.start
110
- rescue => e
111
- STDERR.puts "Failed to start prometheus collector web on port #{@port}: #{e}"
126
+ @runner ||=
127
+ Thread.start do
128
+ begin
129
+ @server.start
130
+ rescue => e
131
+ @logger.error "Failed to start prometheus collector web on port #{@port}: #{e}"
132
+ end
112
133
  end
113
- end
114
134
  end
115
135
 
116
136
  def stop
@@ -120,12 +140,12 @@ module PrometheusExporter::Server
120
140
  def metrics
121
141
  metric_text = nil
122
142
  begin
123
- Timeout::timeout(@timeout) do
143
+ Timeout.timeout(@timeout) do
124
144
  metric_text = @collector.prometheus_metrics_text
125
145
  end
126
146
  rescue Timeout::Error
127
147
  # we timed out ... bummer
128
- STDERR.puts "Generating Prometheus metrics text timed out"
148
+ @logger.error "Generating Prometheus metrics text timed out"
129
149
  end
130
150
 
131
151
  metrics = []
@@ -153,9 +173,18 @@ module PrometheusExporter::Server
153
173
  end
154
174
 
155
175
  def get_rss
156
- @pagesize ||= `getconf PAGESIZE`.to_i rescue 4096
176
+ @pagesize ||=
177
+ begin
178
+ `getconf PAGESIZE`.to_i
179
+ rescue StandardError
180
+ 4096
181
+ end
157
182
  @pid ||= Process.pid
158
- File.read("/proc/#{@pid}/statm").split(' ')[1].to_i * @pagesize rescue 0
183
+ begin
184
+ File.read("/proc/#{@pid}/statm").split(" ")[1].to_i * @pagesize
185
+ rescue StandardError
186
+ 0
187
+ end
159
188
  end
160
189
 
161
190
  def add_gauge(name, help, value)
@@ -166,10 +195,12 @@ module PrometheusExporter::Server
166
195
 
167
196
  def authenticate(req, res)
168
197
  htpasswd = WEBrick::HTTPAuth::Htpasswd.new(@auth)
169
- basic_auth = WEBrick::HTTPAuth::BasicAuth.new({ Realm: @realm, UserDB: htpasswd, Logger: @logger })
198
+ basic_auth =
199
+ WEBrick::HTTPAuth::BasicAuth.new(
200
+ { Realm: @realm, UserDB: htpasswd, Logger: @logger }
201
+ )
170
202
 
171
203
  basic_auth.authenticate(req, res)
172
204
  end
173
-
174
205
  end
175
206
  end
@@ -6,6 +6,8 @@ require_relative "server/web_collector"
6
6
  require_relative "server/process_collector"
7
7
  require_relative "server/sidekiq_collector"
8
8
  require_relative "server/sidekiq_queue_collector"
9
+ require_relative "server/sidekiq_process_collector"
10
+ require_relative "server/sidekiq_stats_collector"
9
11
  require_relative "server/delayed_job_collector"
10
12
  require_relative "server/collector_base"
11
13
  require_relative "server/collector"
@@ -16,3 +18,5 @@ require_relative "server/hutch_collector"
16
18
  require_relative "server/unicorn_collector"
17
19
  require_relative "server/active_record_collector"
18
20
  require_relative "server/shoryuken_collector"
21
+ require_relative "server/resque_collector"
22
+ require_relative "server/good_job_collector"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PrometheusExporter
4
- VERSION = '0.7.0'
4
+ VERSION = "2.1.0"
5
5
  end
@@ -2,21 +2,21 @@
2
2
 
3
3
  require_relative "prometheus_exporter/version"
4
4
  require "json"
5
- require "thread"
6
5
 
7
6
  module PrometheusExporter
8
7
  # per: https://github.com/prometheus/prometheus/wiki/Default-port-allocations
9
8
  DEFAULT_PORT = 9394
10
- DEFAULT_BIND_ADDRESS = 'localhost'
11
- DEFAULT_PREFIX = 'ruby_'
9
+ DEFAULT_BIND_ADDRESS = "localhost"
10
+ DEFAULT_PREFIX = "ruby_"
12
11
  DEFAULT_LABEL = {}
13
12
  DEFAULT_TIMEOUT = 2
14
- DEFAULT_REALM = 'Prometheus Exporter'
13
+ DEFAULT_REALM = "Prometheus Exporter"
15
14
 
16
15
  class OjCompat
17
16
  def self.parse(obj)
18
17
  Oj.compat_load(obj)
19
18
  end
19
+
20
20
  def self.dump(obj)
21
21
  Oj.dump(obj, mode: :compat)
22
22
  end
@@ -25,7 +25,7 @@ module PrometheusExporter
25
25
  def self.hostname
26
26
  @hostname ||=
27
27
  begin
28
- require 'socket'
28
+ require "socket"
29
29
  Socket.gethostname
30
30
  rescue => e
31
31
  STDERR.puts "Unable to lookup hostname #{e}"
@@ -45,13 +45,12 @@ module PrometheusExporter
45
45
  def self.has_oj?
46
46
  (
47
47
  @@has_oj ||=
48
- begin
49
- require 'oj'
50
- :true
51
- rescue LoadError
52
- :false
53
- end
54
- ) == :true
48
+ begin
49
+ require "oj"
50
+ :T
51
+ rescue LoadError
52
+ :F
53
+ end
54
+ ) == :T
55
55
  end
56
-
57
56
  end
@@ -15,8 +15,6 @@ Gem::Specification.new do |spec|
15
15
  spec.homepage = "https://github.com/discourse/prometheus_exporter"
16
16
  spec.license = "MIT"
17
17
 
18
- spec.post_install_message = "prometheus_exporter will only bind to localhost by default as of v0.5"
19
-
20
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
21
19
  f.match(%r{^(test|spec|features|bin)/})
22
20
  end
@@ -27,11 +25,11 @@ Gem::Specification.new do |spec|
27
25
  spec.add_dependency "webrick"
28
26
 
29
27
  spec.add_development_dependency "rubocop", ">= 0.69"
30
- spec.add_development_dependency "bundler", ">= 2.2.2"
28
+ spec.add_development_dependency "bundler", ">= 2.1.4"
31
29
  spec.add_development_dependency "rake", "~> 13.0"
32
- spec.add_development_dependency "minitest", "~> 5.0"
30
+ spec.add_development_dependency "minitest", "~> 5.15.0" # https://github.com/qrush/m/issues/93
33
31
  spec.add_development_dependency "guard", "~> 2.0"
34
- spec.add_development_dependency "mini_racer", "~> 0.3.1"
32
+ spec.add_development_dependency "mini_racer", "~> 0.5.0"
35
33
  spec.add_development_dependency "guard-minitest", "~> 2.0"
36
34
  spec.add_development_dependency "oj", "~> 3.0"
37
35
  spec.add_development_dependency "rack-test", "~> 0.8.3"
@@ -39,8 +37,10 @@ Gem::Specification.new do |spec|
39
37
  spec.add_development_dependency "rubocop-discourse", ">2"
40
38
  spec.add_development_dependency "appraisal", "~> 2.3"
41
39
  spec.add_development_dependency "activerecord", "~> 6.0.0"
40
+ spec.add_development_dependency "redis", "> 5"
41
+ spec.add_development_dependency "m"
42
42
  if !RUBY_ENGINE == 'jruby'
43
43
  spec.add_development_dependency "raindrops", "~> 0.19"
44
44
  end
45
- spec.required_ruby_version = '>= 2.5.0'
45
+ spec.required_ruby_version = '>= 2.6.0'
46
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prometheus_exporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-28 00:00:00.000000000 Z
11
+ date: 2024-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: webrick
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 2.2.2
47
+ version: 2.1.4
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: 2.2.2
54
+ version: 2.1.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '5.0'
75
+ version: 5.15.0
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: '5.0'
82
+ version: 5.15.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: guard
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.3.1
103
+ version: 0.5.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: 0.3.1
110
+ version: 0.5.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: guard-minitest
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -206,6 +206,34 @@ dependencies:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: 6.0.0
209
+ - !ruby/object:Gem::Dependency
210
+ name: redis
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">"
214
+ - !ruby/object:Gem::Version
215
+ version: '5'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">"
221
+ - !ruby/object:Gem::Version
222
+ version: '5'
223
+ - !ruby/object:Gem::Dependency
224
+ name: m
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
209
237
  description: Prometheus metric collector and exporter for Ruby
210
238
  email:
211
239
  - sam.saffron@gmail.com
@@ -220,6 +248,7 @@ files:
220
248
  - Appraisals
221
249
  - CHANGELOG
222
250
  - CODE_OF_CONDUCT.md
251
+ - Dockerfile
223
252
  - Gemfile
224
253
  - Guardfile
225
254
  - LICENSE.txt
@@ -231,18 +260,24 @@ files:
231
260
  - gemfiles/.bundle/config
232
261
  - gemfiles/ar_60.gemfile
233
262
  - gemfiles/ar_61.gemfile
263
+ - gemfiles/ar_70.gemfile
234
264
  - lib/prometheus_exporter.rb
235
265
  - lib/prometheus_exporter/client.rb
236
266
  - lib/prometheus_exporter/instrumentation.rb
237
267
  - lib/prometheus_exporter/instrumentation/active_record.rb
238
268
  - lib/prometheus_exporter/instrumentation/delayed_job.rb
269
+ - lib/prometheus_exporter/instrumentation/good_job.rb
239
270
  - lib/prometheus_exporter/instrumentation/hutch.rb
240
271
  - lib/prometheus_exporter/instrumentation/method_profiler.rb
272
+ - lib/prometheus_exporter/instrumentation/periodic_stats.rb
241
273
  - lib/prometheus_exporter/instrumentation/process.rb
242
274
  - lib/prometheus_exporter/instrumentation/puma.rb
275
+ - lib/prometheus_exporter/instrumentation/resque.rb
243
276
  - lib/prometheus_exporter/instrumentation/shoryuken.rb
244
277
  - lib/prometheus_exporter/instrumentation/sidekiq.rb
278
+ - lib/prometheus_exporter/instrumentation/sidekiq_process.rb
245
279
  - lib/prometheus_exporter/instrumentation/sidekiq_queue.rb
280
+ - lib/prometheus_exporter/instrumentation/sidekiq_stats.rb
246
281
  - lib/prometheus_exporter/instrumentation/unicorn.rb
247
282
  - lib/prometheus_exporter/metric.rb
248
283
  - lib/prometheus_exporter/metric/base.rb
@@ -256,13 +291,18 @@ files:
256
291
  - lib/prometheus_exporter/server/collector.rb
257
292
  - lib/prometheus_exporter/server/collector_base.rb
258
293
  - lib/prometheus_exporter/server/delayed_job_collector.rb
294
+ - lib/prometheus_exporter/server/good_job_collector.rb
259
295
  - lib/prometheus_exporter/server/hutch_collector.rb
296
+ - lib/prometheus_exporter/server/metrics_container.rb
260
297
  - lib/prometheus_exporter/server/process_collector.rb
261
298
  - lib/prometheus_exporter/server/puma_collector.rb
299
+ - lib/prometheus_exporter/server/resque_collector.rb
262
300
  - lib/prometheus_exporter/server/runner.rb
263
301
  - lib/prometheus_exporter/server/shoryuken_collector.rb
264
302
  - lib/prometheus_exporter/server/sidekiq_collector.rb
303
+ - lib/prometheus_exporter/server/sidekiq_process_collector.rb
265
304
  - lib/prometheus_exporter/server/sidekiq_queue_collector.rb
305
+ - lib/prometheus_exporter/server/sidekiq_stats_collector.rb
266
306
  - lib/prometheus_exporter/server/type_collector.rb
267
307
  - lib/prometheus_exporter/server/unicorn_collector.rb
268
308
  - lib/prometheus_exporter/server/web_collector.rb
@@ -273,8 +313,7 @@ homepage: https://github.com/discourse/prometheus_exporter
273
313
  licenses:
274
314
  - MIT
275
315
  metadata: {}
276
- post_install_message: prometheus_exporter will only bind to localhost by default as
277
- of v0.5
316
+ post_install_message:
278
317
  rdoc_options: []
279
318
  require_paths:
280
319
  - lib
@@ -282,15 +321,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
282
321
  requirements:
283
322
  - - ">="
284
323
  - !ruby/object:Gem::Version
285
- version: 2.5.0
324
+ version: 2.6.0
286
325
  required_rubygems_version: !ruby/object:Gem::Requirement
287
326
  requirements:
288
327
  - - ">="
289
328
  - !ruby/object:Gem::Version
290
329
  version: '0'
291
330
  requirements: []
292
- rubygems_version: 3.2.2
293
- signing_key:
331
+ rubygems_version: 3.1.6
332
+ signing_key:
294
333
  specification_version: 4
295
334
  summary: Prometheus Exporter
296
335
  test_files: []