sidekiq_prometheus 1.5.0 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +1 -0
- data/lib/sidekiq_prometheus/metrics.rb +3 -0
- data/lib/sidekiq_prometheus/periodic_metrics.rb +1 -1
- data/lib/sidekiq_prometheus/version.rb +1 -1
- data/lib/sidekiq_prometheus.rb +22 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c76de7fe8caef12bc6e505dd5e01648c5da34d87b00a6cf756d232a1c988bb46
|
4
|
+
data.tar.gz: d211a23831395d5058a7c9ddb281870fde3154956194324984a816b54067e300
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cc266bed6f539d955405fe35b5e41a2f539b65ce7d4a552b70e745fe760a6e1a216ee22278889a193e7456e42bc72cc54b486b7f7266a2a3e80b33754c251f4
|
7
|
+
data.tar.gz: 1544e8d064ccc46548153382e531131e250b4bf8acf567daebbf40daab8d934c0d46ef11bdd05ad7ff16f6961b79a205bde999d4e17b1a27e272ca2c1dd1b827
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
|
3
|
+
<a name="v1.6.0"></a>
|
4
|
+
## [v1.6.0](https://github.com/fastly/sidekiq-prometheus/compare/v1.5.0...v1.6.0) (2021-08-03)
|
5
|
+
|
6
|
+
### Features
|
7
|
+
|
8
|
+
* add option for silencing the WEBrick access logging of /metrics
|
9
|
+
|
10
|
+
### Pull Requests
|
11
|
+
|
12
|
+
* Merge pull request [#25](https://github.com/fastly/sidekiq-prometheus/issues/25) from fastly/option_for_silencing_webrick
|
13
|
+
|
3
14
|
|
4
15
|
<a name="v1.5.0"></a>
|
5
16
|
## [v1.5.0](https://github.com/fastly/sidekiq-prometheus/compare/v1.4.0...v1.5.0) (2021-08-02)
|
data/README.md
CHANGED
@@ -82,6 +82,7 @@ end
|
|
82
82
|
* `periodic_metrics_enabled`: Boolean that determines whether to run the periodic metrics reporter. `PeriodicMetrics` runs a separate thread that reports on global metrics (if enabled) as well worker GC stats (if enabled). It reports metrics on the interval defined by `periodic_reporting_interval`. Defaults to `true`.
|
83
83
|
* `periodic_reporting_interval`: interval in seconds for reporting periodic metrics. Default: `30`
|
84
84
|
* `metrics_server_enabled`: Boolean that determines whether to run the rack server. Defaults to `true`
|
85
|
+
* `metrics_server_logger_enabled`: Boolean that determines if the metrics server will log access logs. Defaults to `true`
|
85
86
|
* `metrics_host`: Host on which the rack server will listen. Defaults to
|
86
87
|
`localhost`
|
87
88
|
* `metrics_port`: Port on which the rack server will listen. Defaults to `9359`
|
@@ -11,6 +11,9 @@ module SidekiqPrometheus::Metrics
|
|
11
11
|
{ name: :sidekiq_workers_size,
|
12
12
|
type: :gauge,
|
13
13
|
docstring: 'Total number of workers processing jobs', },
|
14
|
+
{ name: :sidekiq_processes_size,
|
15
|
+
type: :gauge,
|
16
|
+
docstring: 'Total number of running sidekiq processes', },
|
14
17
|
{ name: :sidekiq_dead_size,
|
15
18
|
type: :gauge,
|
16
19
|
docstring: 'Total Dead Size', },
|
@@ -18,7 +18,7 @@ class SidekiqPrometheus::PeriodicMetrics
|
|
18
18
|
attr_reader :interval
|
19
19
|
attr_reader :senate, :sidekiq_stats, :sidekiq_queue
|
20
20
|
|
21
|
-
GLOBAL_STATS = %i[failed processed retry_size dead_size scheduled_size workers_size].freeze
|
21
|
+
GLOBAL_STATS = %i[failed processed retry_size dead_size scheduled_size workers_size processes_size].freeze
|
22
22
|
GC_STATS = {
|
23
23
|
counters: %i[major_gc_count minor_gc_count total_allocated_objects],
|
24
24
|
gauges: %i[heap_live_slots heap_free_slots],
|
data/lib/sidekiq_prometheus.rb
CHANGED
@@ -57,6 +57,9 @@ module SidekiqPrometheus
|
|
57
57
|
# @return [Integer] Port on which the metrics server will listen. Default: 9357
|
58
58
|
attr_accessor :metrics_port
|
59
59
|
|
60
|
+
# @return [Boolean] When set to false will silence the metric server access logs. Default: true
|
61
|
+
attr_accessor :metrics_server_logger_enabled
|
62
|
+
|
60
63
|
# Override the default Prometheus::Client
|
61
64
|
# @return [Prometheus::Client]
|
62
65
|
attr_writer :client
|
@@ -76,6 +79,7 @@ module SidekiqPrometheus
|
|
76
79
|
self.metrics_server_enabled = true
|
77
80
|
self.metrics_host = 'localhost'
|
78
81
|
self.metrics_port = 9359
|
82
|
+
self.metrics_server_logger_enabled = true
|
79
83
|
self.custom_labels = {}
|
80
84
|
self.custom_metrics = []
|
81
85
|
|
@@ -129,6 +133,13 @@ module SidekiqPrometheus
|
|
129
133
|
metrics_server_enabled
|
130
134
|
end
|
131
135
|
|
136
|
+
##
|
137
|
+
# Helper method for +metrics_server_logger_enabled+ configuration setting
|
138
|
+
# @return [Boolean] defaults to true
|
139
|
+
def metrics_server_logger_enabled?
|
140
|
+
metrics_server_logger_enabled
|
141
|
+
end
|
142
|
+
|
132
143
|
##
|
133
144
|
# Get a metric from the registry
|
134
145
|
# @param metric [Symbol] name of metric to fetch
|
@@ -200,14 +211,23 @@ module SidekiqPrometheus
|
|
200
211
|
# Will listen on SidekiqPrometheus.metrics_host and
|
201
212
|
# SidekiqPrometheus.metrics_port
|
202
213
|
def metrics_server
|
214
|
+
opts = {
|
215
|
+
Port: SidekiqPrometheus.metrics_port,
|
216
|
+
Host: SidekiqPrometheus.metrics_host,
|
217
|
+
}
|
218
|
+
|
219
|
+
unless metrics_server_logger_enabled?
|
220
|
+
opts[:Logger] = WEBrick::Log.new('/dev/null')
|
221
|
+
opts[:AccessLog] = []
|
222
|
+
end
|
223
|
+
|
203
224
|
@_metrics_server ||= Thread.new do
|
204
225
|
Rack::Handler::WEBrick.run(
|
205
226
|
Rack::Builder.new {
|
206
227
|
use Prometheus::Middleware::Exporter, registry: SidekiqPrometheus.registry
|
207
228
|
run ->(_) { [301, { 'Location' => '/metrics' }, []] }
|
208
229
|
},
|
209
|
-
|
210
|
-
Host: SidekiqPrometheus.metrics_host,
|
230
|
+
**opts
|
211
231
|
)
|
212
232
|
end
|
213
233
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq_prometheus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lukas Eklund
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-09-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|