prometheus_exporter 2.1.0 → 2.2.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
- data/.github/workflows/ci.yml +10 -6
- data/.rubocop +1 -0
- data/.rubocop.yml +12 -1
- data/.streerc +2 -0
- data/CHANGELOG +12 -1
- data/README.md +22 -9
- data/bench/bench.rb +12 -11
- data/bin/prometheus_exporter +2 -2
- data/examples/custom_collector.rb +1 -3
- data/gemfiles/ar_70.gemfile +2 -0
- data/gemfiles/ar_71.gemfile +7 -0
- data/lib/prometheus_exporter/client.rb +16 -32
- data/lib/prometheus_exporter/instrumentation/active_record.rb +20 -8
- data/lib/prometheus_exporter/instrumentation/delayed_job.rb +23 -13
- data/lib/prometheus_exporter/instrumentation/good_job.rb +2 -4
- data/lib/prometheus_exporter/instrumentation/hutch.rb +1 -1
- data/lib/prometheus_exporter/instrumentation/method_profiler.rb +16 -16
- data/lib/prometheus_exporter/instrumentation/periodic_stats.rb +13 -21
- data/lib/prometheus_exporter/instrumentation/process.rb +14 -6
- data/lib/prometheus_exporter/instrumentation/puma.rb +1 -1
- data/lib/prometheus_exporter/instrumentation/resque.rb +1 -3
- data/lib/prometheus_exporter/instrumentation/shoryuken.rb +6 -7
- data/lib/prometheus_exporter/instrumentation/sidekiq.rb +4 -6
- data/lib/prometheus_exporter/instrumentation/sidekiq_process.rb +12 -19
- data/lib/prometheus_exporter/instrumentation/sidekiq_queue.rb +15 -18
- data/lib/prometheus_exporter/instrumentation/sidekiq_stats.rb +10 -15
- data/lib/prometheus_exporter/instrumentation/unicorn.rb +2 -2
- data/lib/prometheus_exporter/metric/base.rb +8 -7
- data/lib/prometheus_exporter/metric/counter.rb +1 -3
- data/lib/prometheus_exporter/metric/gauge.rb +2 -6
- data/lib/prometheus_exporter/metric/histogram.rb +0 -2
- data/lib/prometheus_exporter/metric/summary.rb +5 -14
- data/lib/prometheus_exporter/middleware.rb +40 -32
- data/lib/prometheus_exporter/server/active_record_collector.rb +11 -6
- data/lib/prometheus_exporter/server/collector.rb +12 -16
- data/lib/prometheus_exporter/server/collector_base.rb +0 -2
- data/lib/prometheus_exporter/server/delayed_job_collector.rb +65 -28
- data/lib/prometheus_exporter/server/good_job_collector.rb +1 -1
- data/lib/prometheus_exporter/server/hutch_collector.rb +19 -11
- data/lib/prometheus_exporter/server/metrics_container.rb +4 -4
- data/lib/prometheus_exporter/server/process_collector.rb +7 -3
- data/lib/prometheus_exporter/server/puma_collector.rb +4 -10
- data/lib/prometheus_exporter/server/resque_collector.rb +1 -1
- data/lib/prometheus_exporter/server/runner.rb +34 -13
- data/lib/prometheus_exporter/server/shoryuken_collector.rb +22 -17
- data/lib/prometheus_exporter/server/sidekiq_collector.rb +22 -14
- data/lib/prometheus_exporter/server/sidekiq_process_collector.rb +9 -5
- data/lib/prometheus_exporter/server/sidekiq_queue_collector.rb +7 -6
- data/lib/prometheus_exporter/server/sidekiq_stats_collector.rb +12 -11
- data/lib/prometheus_exporter/server/unicorn_collector.rb +4 -4
- data/lib/prometheus_exporter/server/web_collector.rb +39 -22
- data/lib/prometheus_exporter/server/web_server.rb +10 -20
- data/lib/prometheus_exporter/version.rb +1 -1
- data/prometheus_exporter.gemspec +20 -22
- metadata +44 -13
@@ -5,8 +5,8 @@ module PrometheusExporter::Server
|
|
5
5
|
MAX_METRIC_AGE = 60
|
6
6
|
|
7
7
|
SIDEKIQ_PROCESS_GAUGES = {
|
8
|
-
|
9
|
-
|
8
|
+
"busy" => "Number of running jobs",
|
9
|
+
"concurrency" => "Maximum concurrency",
|
10
10
|
}.freeze
|
11
11
|
|
12
12
|
attr_reader :sidekiq_metrics, :gauges
|
@@ -17,17 +17,21 @@ module PrometheusExporter::Server
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def type
|
20
|
-
|
20
|
+
"sidekiq_process"
|
21
21
|
end
|
22
22
|
|
23
23
|
def metrics
|
24
24
|
SIDEKIQ_PROCESS_GAUGES.each_key { |name| gauges[name]&.reset! }
|
25
25
|
|
26
26
|
sidekiq_metrics.map do |metric|
|
27
|
-
labels = metric.fetch(
|
27
|
+
labels = metric.fetch("labels", {})
|
28
28
|
SIDEKIQ_PROCESS_GAUGES.map do |name, help|
|
29
29
|
if (value = metric[name])
|
30
|
-
gauge =
|
30
|
+
gauge =
|
31
|
+
gauges[name] ||= PrometheusExporter::Metric::Gauge.new(
|
32
|
+
"sidekiq_process_#{name}",
|
33
|
+
help,
|
34
|
+
)
|
31
35
|
gauge.observe(value, labels)
|
32
36
|
end
|
33
37
|
end
|
@@ -4,8 +4,8 @@ module PrometheusExporter::Server
|
|
4
4
|
MAX_METRIC_AGE = 60
|
5
5
|
|
6
6
|
SIDEKIQ_QUEUE_GAUGES = {
|
7
|
-
|
8
|
-
|
7
|
+
"backlog" => "Size of the sidekiq queue.",
|
8
|
+
"latency_seconds" => "Latency of the sidekiq queue.",
|
9
9
|
}.freeze
|
10
10
|
|
11
11
|
attr_reader :sidekiq_metrics, :gauges
|
@@ -16,7 +16,7 @@ module PrometheusExporter::Server
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def type
|
19
|
-
|
19
|
+
"sidekiq_queue"
|
20
20
|
end
|
21
21
|
|
22
22
|
def metrics
|
@@ -26,7 +26,8 @@ module PrometheusExporter::Server
|
|
26
26
|
labels = metric.fetch("labels", {})
|
27
27
|
SIDEKIQ_QUEUE_GAUGES.map do |name, help|
|
28
28
|
if (value = metric[name])
|
29
|
-
gauge =
|
29
|
+
gauge =
|
30
|
+
gauges[name] ||= PrometheusExporter::Metric::Gauge.new("sidekiq_queue_#{name}", help)
|
30
31
|
gauge.observe(value, labels)
|
31
32
|
end
|
32
33
|
end
|
@@ -36,8 +37,8 @@ module PrometheusExporter::Server
|
|
36
37
|
end
|
37
38
|
|
38
39
|
def collect(object)
|
39
|
-
object[
|
40
|
-
queue["labels"].merge!(object[
|
40
|
+
object["queues"].each do |queue|
|
41
|
+
queue["labels"].merge!(object["custom_labels"]) if object["custom_labels"]
|
41
42
|
@sidekiq_metrics << queue
|
42
43
|
end
|
43
44
|
end
|
@@ -5,14 +5,14 @@ module PrometheusExporter::Server
|
|
5
5
|
MAX_METRIC_AGE = 60
|
6
6
|
|
7
7
|
SIDEKIQ_STATS_GAUGES = {
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
8
|
+
"dead_size" => "Size of dead the queue",
|
9
|
+
"enqueued" => "Number of enqueued jobs",
|
10
|
+
"failed" => "Number of failed jobs",
|
11
|
+
"processed" => "Total number of processed jobs",
|
12
|
+
"processes_size" => "Number of processes",
|
13
|
+
"retry_size" => "Size of the retries queue",
|
14
|
+
"scheduled_size" => "Size of the scheduled queue",
|
15
|
+
"workers_size" => "Number of jobs actively being processed",
|
16
16
|
}.freeze
|
17
17
|
|
18
18
|
attr_reader :sidekiq_metrics, :gauges
|
@@ -23,7 +23,7 @@ module PrometheusExporter::Server
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def type
|
26
|
-
|
26
|
+
"sidekiq_stats"
|
27
27
|
end
|
28
28
|
|
29
29
|
def metrics
|
@@ -31,8 +31,9 @@ module PrometheusExporter::Server
|
|
31
31
|
|
32
32
|
sidekiq_metrics.map do |metric|
|
33
33
|
SIDEKIQ_STATS_GAUGES.map do |name, help|
|
34
|
-
if (value = metric[
|
35
|
-
gauge =
|
34
|
+
if (value = metric["stats"][name])
|
35
|
+
gauge =
|
36
|
+
gauges[name] ||= PrometheusExporter::Metric::Gauge.new("sidekiq_stats_#{name}", help)
|
36
37
|
gauge.observe(value)
|
37
38
|
end
|
38
39
|
end
|
@@ -7,9 +7,9 @@ module PrometheusExporter::Server
|
|
7
7
|
MAX_METRIC_AGE = 60
|
8
8
|
|
9
9
|
UNICORN_GAUGES = {
|
10
|
-
workers:
|
11
|
-
active_workers:
|
12
|
-
request_backlog:
|
10
|
+
workers: "Number of unicorn workers.",
|
11
|
+
active_workers: "Number of active unicorn workers",
|
12
|
+
request_backlog: "Number of requests waiting to be processed by a unicorn worker.",
|
13
13
|
}.freeze
|
14
14
|
|
15
15
|
def initialize
|
@@ -17,7 +17,7 @@ module PrometheusExporter::Server
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def type
|
20
|
-
|
20
|
+
"unicorn"
|
21
21
|
end
|
22
22
|
|
23
23
|
def metrics
|
@@ -9,6 +9,7 @@ module PrometheusExporter::Server
|
|
9
9
|
@http_request_redis_duration_seconds = nil
|
10
10
|
@http_request_sql_duration_seconds = nil
|
11
11
|
@http_request_queue_duration_seconds = nil
|
12
|
+
@http_request_memcache_duration_seconds = nil
|
12
13
|
end
|
13
14
|
|
14
15
|
def type
|
@@ -28,36 +29,49 @@ module PrometheusExporter::Server
|
|
28
29
|
|
29
30
|
def ensure_metrics
|
30
31
|
unless @http_requests_total
|
31
|
-
@metrics["http_requests_total"] = @http_requests_total =
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
@metrics["http_requests_total"] = @http_requests_total =
|
33
|
+
PrometheusExporter::Metric::Counter.new(
|
34
|
+
"http_requests_total",
|
35
|
+
"Total HTTP requests from web app.",
|
36
|
+
)
|
35
37
|
|
36
|
-
@metrics["http_request_duration_seconds"] = @http_request_duration_seconds =
|
37
|
-
|
38
|
-
|
39
|
-
|
38
|
+
@metrics["http_request_duration_seconds"] = @http_request_duration_seconds =
|
39
|
+
PrometheusExporter::Metric::Base.default_aggregation.new(
|
40
|
+
"http_request_duration_seconds",
|
41
|
+
"Time spent in HTTP reqs in seconds.",
|
42
|
+
)
|
40
43
|
|
41
|
-
@metrics["http_request_redis_duration_seconds"] = @http_request_redis_duration_seconds =
|
42
|
-
|
43
|
-
|
44
|
-
|
44
|
+
@metrics["http_request_redis_duration_seconds"] = @http_request_redis_duration_seconds =
|
45
|
+
PrometheusExporter::Metric::Base.default_aggregation.new(
|
46
|
+
"http_request_redis_duration_seconds",
|
47
|
+
"Time spent in HTTP reqs in Redis, in seconds.",
|
48
|
+
)
|
45
49
|
|
46
|
-
@metrics["http_request_sql_duration_seconds"] = @http_request_sql_duration_seconds =
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
+
@metrics["http_request_sql_duration_seconds"] = @http_request_sql_duration_seconds =
|
51
|
+
PrometheusExporter::Metric::Base.default_aggregation.new(
|
52
|
+
"http_request_sql_duration_seconds",
|
53
|
+
"Time spent in HTTP reqs in SQL in seconds.",
|
54
|
+
)
|
50
55
|
|
51
|
-
@metrics[
|
52
|
-
"
|
53
|
-
|
54
|
-
|
56
|
+
@metrics[
|
57
|
+
"http_request_memcache_duration_seconds"
|
58
|
+
] = @http_request_memcache_duration_seconds =
|
59
|
+
PrometheusExporter::Metric::Base.default_aggregation.new(
|
60
|
+
"http_request_memcache_duration_seconds",
|
61
|
+
"Time spent in HTTP reqs in Memcache in seconds.",
|
62
|
+
)
|
63
|
+
|
64
|
+
@metrics["http_request_queue_duration_seconds"] = @http_request_queue_duration_seconds =
|
65
|
+
PrometheusExporter::Metric::Base.default_aggregation.new(
|
66
|
+
"http_request_queue_duration_seconds",
|
67
|
+
"Time spent queueing the request in load balancer in seconds.",
|
68
|
+
)
|
55
69
|
end
|
56
70
|
end
|
57
71
|
|
58
72
|
def observe(obj)
|
59
|
-
default_labels = obj[
|
60
|
-
custom_labels = obj[
|
73
|
+
default_labels = obj["default_labels"]
|
74
|
+
custom_labels = obj["custom_labels"]
|
61
75
|
labels = custom_labels.nil? ? default_labels : default_labels.merge(custom_labels)
|
62
76
|
|
63
77
|
@http_requests_total.observe(1, labels.merge("status" => obj["status"]))
|
@@ -70,6 +84,9 @@ module PrometheusExporter::Server
|
|
70
84
|
if sql = timings["sql"]
|
71
85
|
@http_request_sql_duration_seconds.observe(sql["duration"], labels)
|
72
86
|
end
|
87
|
+
if memcache = timings["memcache"]
|
88
|
+
@http_request_memcache_duration_seconds.observe(memcache["duration"], labels)
|
89
|
+
end
|
73
90
|
end
|
74
91
|
if queue_time = obj["queue_time"]
|
75
92
|
@http_request_queue_duration_seconds.observe(queue_time, labels)
|
@@ -21,19 +21,19 @@ module PrometheusExporter::Server
|
|
21
21
|
@metrics_total =
|
22
22
|
PrometheusExporter::Metric::Counter.new(
|
23
23
|
"collector_metrics_total",
|
24
|
-
"Total metrics processed by exporter web."
|
24
|
+
"Total metrics processed by exporter web.",
|
25
25
|
)
|
26
26
|
|
27
27
|
@sessions_total =
|
28
28
|
PrometheusExporter::Metric::Counter.new(
|
29
29
|
"collector_sessions_total",
|
30
|
-
"Total send_metric sessions processed by exporter web."
|
30
|
+
"Total send_metric sessions processed by exporter web.",
|
31
31
|
)
|
32
32
|
|
33
33
|
@bad_metrics_total =
|
34
34
|
PrometheusExporter::Metric::Counter.new(
|
35
35
|
"collector_bad_metrics_total",
|
36
|
-
"Total mis-handled metrics by collector."
|
36
|
+
"Total mis-handled metrics by collector.",
|
37
37
|
)
|
38
38
|
|
39
39
|
@metrics_total.observe(0)
|
@@ -46,7 +46,7 @@ module PrometheusExporter::Server
|
|
46
46
|
if @verbose
|
47
47
|
@access_log = [
|
48
48
|
[$stderr, WEBrick::AccessLog::COMMON_LOG_FORMAT],
|
49
|
-
[$stderr, WEBrick::AccessLog::REFERER_LOG_FORMAT]
|
49
|
+
[$stderr, WEBrick::AccessLog::REFERER_LOG_FORMAT],
|
50
50
|
]
|
51
51
|
@logger = WEBrick::Log.new(log_target || $stderr)
|
52
52
|
else
|
@@ -54,9 +54,7 @@ module PrometheusExporter::Server
|
|
54
54
|
@logger = WEBrick::Log.new(log_target || "/dev/null")
|
55
55
|
end
|
56
56
|
|
57
|
-
if @verbose && @auth
|
58
|
-
@logger.info "Using Basic Authentication via #{@auth}"
|
59
|
-
end
|
57
|
+
@logger.info "Using Basic Authentication via #{@auth}" if @verbose && @auth
|
60
58
|
|
61
59
|
if %w[ALL ANY].include?(@bind)
|
62
60
|
@logger.info "Listening on both 0.0.0.0/:: network interfaces"
|
@@ -68,7 +66,7 @@ module PrometheusExporter::Server
|
|
68
66
|
Port: @port,
|
69
67
|
BindAddress: @bind,
|
70
68
|
Logger: @logger,
|
71
|
-
AccessLog: @access_log
|
69
|
+
AccessLog: @access_log,
|
72
70
|
)
|
73
71
|
|
74
72
|
@server.mount_proc "/" do |req, res|
|
@@ -140,9 +138,7 @@ module PrometheusExporter::Server
|
|
140
138
|
def metrics
|
141
139
|
metric_text = nil
|
142
140
|
begin
|
143
|
-
Timeout.timeout(@timeout)
|
144
|
-
metric_text = @collector.prometheus_metrics_text
|
145
|
-
end
|
141
|
+
Timeout.timeout(@timeout) { metric_text = @collector.prometheus_metrics_text }
|
146
142
|
rescue Timeout::Error
|
147
143
|
# we timed out ... bummer
|
148
144
|
@logger.error "Generating Prometheus metrics text timed out"
|
@@ -153,14 +149,10 @@ module PrometheusExporter::Server
|
|
153
149
|
metrics << add_gauge(
|
154
150
|
"collector_working",
|
155
151
|
"Is the master process collector able to collect metrics",
|
156
|
-
metric_text && metric_text.length > 0 ? 1 : 0
|
152
|
+
metric_text && metric_text.length > 0 ? 1 : 0,
|
157
153
|
)
|
158
154
|
|
159
|
-
metrics << add_gauge(
|
160
|
-
"collector_rss",
|
161
|
-
"total memory used by collector process",
|
162
|
-
get_rss
|
163
|
-
)
|
155
|
+
metrics << add_gauge("collector_rss", "total memory used by collector process", get_rss)
|
164
156
|
|
165
157
|
metrics << @metrics_total
|
166
158
|
metrics << @sessions_total
|
@@ -196,9 +188,7 @@ module PrometheusExporter::Server
|
|
196
188
|
def authenticate(req, res)
|
197
189
|
htpasswd = WEBrick::HTTPAuth::Htpasswd.new(@auth)
|
198
190
|
basic_auth =
|
199
|
-
WEBrick::HTTPAuth::BasicAuth.new(
|
200
|
-
{ Realm: @realm, UserDB: htpasswd, Logger: @logger }
|
201
|
-
)
|
191
|
+
WEBrick::HTTPAuth::BasicAuth.new({ Realm: @realm, UserDB: htpasswd, Logger: @logger })
|
202
192
|
|
203
193
|
basic_auth.authenticate(req, res)
|
204
194
|
end
|
data/prometheus_exporter.gemspec
CHANGED
@@ -5,42 +5,40 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
require "prometheus_exporter/version"
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
|
-
spec.name
|
9
|
-
spec.version
|
10
|
-
spec.authors
|
11
|
-
spec.email
|
8
|
+
spec.name = "prometheus_exporter"
|
9
|
+
spec.version = PrometheusExporter::VERSION
|
10
|
+
spec.authors = ["Sam Saffron"]
|
11
|
+
spec.email = ["sam.saffron@gmail.com"]
|
12
12
|
|
13
|
-
spec.summary
|
14
|
-
spec.description
|
15
|
-
spec.homepage
|
16
|
-
spec.license
|
13
|
+
spec.summary = "Prometheus Exporter"
|
14
|
+
spec.description = "Prometheus metric collector and exporter for Ruby"
|
15
|
+
spec.homepage = "https://github.com/discourse/prometheus_exporter"
|
16
|
+
spec.license = "MIT"
|
17
17
|
|
18
|
-
spec.files = `git ls-files -z`.split("\x0").reject
|
19
|
-
|
20
|
-
|
21
|
-
spec.
|
22
|
-
spec.executables = ["prometheus_exporter"]
|
23
|
-
spec.require_paths = ["lib"]
|
18
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|bin)/}) }
|
19
|
+
spec.bindir = "bin"
|
20
|
+
spec.executables = ["prometheus_exporter"]
|
21
|
+
spec.require_paths = ["lib"]
|
24
22
|
|
25
23
|
spec.add_dependency "webrick"
|
26
24
|
|
27
25
|
spec.add_development_dependency "rubocop", ">= 0.69"
|
28
26
|
spec.add_development_dependency "bundler", ">= 2.1.4"
|
29
27
|
spec.add_development_dependency "rake", "~> 13.0"
|
30
|
-
spec.add_development_dependency "minitest", "~> 5.
|
28
|
+
spec.add_development_dependency "minitest", "~> 5.23.0"
|
31
29
|
spec.add_development_dependency "guard", "~> 2.0"
|
32
|
-
spec.add_development_dependency "mini_racer", "~> 0.
|
30
|
+
spec.add_development_dependency "mini_racer", "~> 0.12.0"
|
33
31
|
spec.add_development_dependency "guard-minitest", "~> 2.0"
|
34
32
|
spec.add_development_dependency "oj", "~> 3.0"
|
35
|
-
spec.add_development_dependency "rack-test", "~>
|
33
|
+
spec.add_development_dependency "rack-test", "~> 2.1.0"
|
36
34
|
spec.add_development_dependency "minitest-stub-const", "~> 0.6"
|
37
|
-
spec.add_development_dependency "rubocop-discourse", "
|
35
|
+
spec.add_development_dependency "rubocop-discourse", ">= 3"
|
38
36
|
spec.add_development_dependency "appraisal", "~> 2.3"
|
39
37
|
spec.add_development_dependency "activerecord", "~> 6.0.0"
|
40
38
|
spec.add_development_dependency "redis", "> 5"
|
41
39
|
spec.add_development_dependency "m"
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
spec.required_ruby_version =
|
40
|
+
spec.add_development_dependency "syntax_tree"
|
41
|
+
spec.add_development_dependency "syntax_tree-disable_ternary"
|
42
|
+
spec.add_development_dependency "raindrops", "~> 0.19" if !RUBY_ENGINE == "jruby"
|
43
|
+
spec.required_ruby_version = ">= 3.0.0"
|
46
44
|
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: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Saffron
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: webrick
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 5.
|
75
|
+
version: 5.23.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.
|
82
|
+
version: 5.23.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.
|
103
|
+
version: 0.12.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.
|
110
|
+
version: 0.12.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: guard-minitest
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,14 +142,14 @@ dependencies:
|
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
145
|
+
version: 2.1.0
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
152
|
+
version: 2.1.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: minitest-stub-const
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,16 +168,16 @@ dependencies:
|
|
168
168
|
name: rubocop-discourse
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - "
|
171
|
+
- - ">="
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
173
|
+
version: '3'
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - "
|
178
|
+
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
180
|
+
version: '3'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: appraisal
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,6 +234,34 @@ dependencies:
|
|
234
234
|
- - ">="
|
235
235
|
- !ruby/object:Gem::Version
|
236
236
|
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: syntax_tree
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: syntax_tree-disable_ternary
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
237
265
|
description: Prometheus metric collector and exporter for Ruby
|
238
266
|
email:
|
239
267
|
- sam.saffron@gmail.com
|
@@ -244,7 +272,9 @@ extra_rdoc_files: []
|
|
244
272
|
files:
|
245
273
|
- ".github/workflows/ci.yml"
|
246
274
|
- ".gitignore"
|
275
|
+
- ".rubocop"
|
247
276
|
- ".rubocop.yml"
|
277
|
+
- ".streerc"
|
248
278
|
- Appraisals
|
249
279
|
- CHANGELOG
|
250
280
|
- CODE_OF_CONDUCT.md
|
@@ -261,6 +291,7 @@ files:
|
|
261
291
|
- gemfiles/ar_60.gemfile
|
262
292
|
- gemfiles/ar_61.gemfile
|
263
293
|
- gemfiles/ar_70.gemfile
|
294
|
+
- gemfiles/ar_71.gemfile
|
264
295
|
- lib/prometheus_exporter.rb
|
265
296
|
- lib/prometheus_exporter/client.rb
|
266
297
|
- lib/prometheus_exporter/instrumentation.rb
|
@@ -321,7 +352,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
321
352
|
requirements:
|
322
353
|
- - ">="
|
323
354
|
- !ruby/object:Gem::Version
|
324
|
-
version:
|
355
|
+
version: 3.0.0
|
325
356
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
326
357
|
requirements:
|
327
358
|
- - ">="
|