prometheus_exporter 0.7.0 → 2.1.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.
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: []