bc-prometheus-ruby 0.8.1 → 0.8.2
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/CHANGELOG.md +10 -0
- data/bc-prometheus-ruby.gemspec +1 -1
- data/lib/bigcommerce/prometheus/collectors/base.rb +2 -0
- data/lib/bigcommerce/prometheus/configuration.rb +1 -1
- data/lib/bigcommerce/prometheus/server.rb +3 -2
- data/lib/bigcommerce/prometheus/servers/puma/controllers/base_controller.rb +3 -1
- data/lib/bigcommerce/prometheus/servers/puma/controllers/metrics_controller.rb +2 -2
- data/lib/bigcommerce/prometheus/servers/puma/rack_app.rb +2 -1
- data/lib/bigcommerce/prometheus/type_collectors/resque.rb +1 -1
- data/lib/bigcommerce/prometheus/version.rb +1 -1
- metadata +4 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d996c929cb82a48d50a36f4bbd942a5cc7dd41d6ec7d10864808619a6ab08630
|
|
4
|
+
data.tar.gz: 10a28c621098fa9ecb0a06734d66c840663276dd3a3e84f5cdf5bb8bb21760b8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1400c730adf70a8f4f1d836e8a1b78ae5d34c5f11c66848a7cb47001e8e0502d2981b898c52953f2e549945c5c82e0cd1ceaad7aa5901a909241af4a829c85cd
|
|
7
|
+
data.tar.gz: 03dc5e33614b1f4bb27bb1636d91a37704727b2279a981abaa2d1355c3fc679936df78633df774ee2ec240d0c3614ce370f237b10a4a417be7db2ed19f6a8685
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@ Changelog for the bc-prometheus-ruby gem.
|
|
|
2
2
|
|
|
3
3
|
### Pending Release
|
|
4
4
|
|
|
5
|
+
## 0.8.2
|
|
6
|
+
|
|
7
|
+
- Add `version=0.0.4` to `Content-Type` header for Prometheus exposition format 0.0.4 compliance
|
|
8
|
+
|
|
9
|
+
## 0.8.1
|
|
10
|
+
|
|
11
|
+
- Prometheus client respects the enabled setting
|
|
12
|
+
- Upgrade prometheus_exporter
|
|
13
|
+
- Expose SQL metrics for different dashboards
|
|
14
|
+
|
|
5
15
|
## 0.8.0
|
|
6
16
|
|
|
7
17
|
- Add support for Ruby 3.4
|
data/bc-prometheus-ruby.gemspec
CHANGED
|
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
|
|
32
32
|
spec.files = Dir['README.md', 'CHANGELOG.md', 'CODE_OF_CONDUCT.md', 'lib/**/*', 'bc-prometheus-ruby.gemspec']
|
|
33
33
|
spec.require_paths = ['lib']
|
|
34
|
-
spec.required_ruby_version = '>= 3.
|
|
34
|
+
spec.required_ruby_version = '>= 3.3'
|
|
35
35
|
|
|
36
36
|
spec.add_runtime_dependency 'bigcommerce-multitrap', '~> 0.1'
|
|
37
37
|
spec.add_runtime_dependency 'prometheus_exporter', '~> 0.7'
|
|
@@ -34,7 +34,7 @@ module Bigcommerce
|
|
|
34
34
|
puma_collection_frequency: ENV.fetch('PROMETHEUS_PUMA_COLLECTION_FREQUENCY', 30).to_i,
|
|
35
35
|
puma_process_label: ENV.fetch('PROMETHEUS_PUMA_PROCESS_LABEL', 'web').to_s,
|
|
36
36
|
resque_collection_frequency: ENV.fetch('PROMETHEUS_RESQUE_COLLECTION_FREQUENCY', 30).to_i,
|
|
37
|
-
resque_process_label: ENV.fetch('
|
|
37
|
+
resque_process_label: ENV.fetch('PROMETHEUS_RESQUE_PROCESS_LABEL', 'resque').to_s,
|
|
38
38
|
|
|
39
39
|
# Server configuration
|
|
40
40
|
not_found_body: ENV.fetch('PROMETHEUS_SERVER_NOT_FOUND_BODY', 'Not Found! The Prometheus Ruby Exporter only listens on /metrics and /send-metrics').to_s,
|
|
@@ -80,11 +80,12 @@ module Bigcommerce
|
|
|
80
80
|
#
|
|
81
81
|
def stop
|
|
82
82
|
@server.stop
|
|
83
|
-
@run_thread
|
|
84
|
-
@running = false
|
|
83
|
+
@run_thread&.kill
|
|
85
84
|
$stdout.puts "[bigcommerce-prometheus][#{@process_name}] Prometheus exporter cleanly shut down"
|
|
86
85
|
rescue ::StandardError => e
|
|
87
86
|
warn "[bigcommerce-prometheus][#{@process_name}] Failed to stop exporter: #{e.message}"
|
|
87
|
+
ensure
|
|
88
|
+
@running = false
|
|
88
89
|
end
|
|
89
90
|
|
|
90
91
|
##
|
|
@@ -30,13 +30,15 @@ module Bigcommerce
|
|
|
30
30
|
# @param [Bigcommerce::Prometheus::Servers::Puma::ServerMetrics]
|
|
31
31
|
# @param [PrometheusExporter::Server::Collector] collector
|
|
32
32
|
# @param [Logger] logger
|
|
33
|
+
# @param [Integer, nil] timeout scrape timeout in seconds; nil means no limit
|
|
33
34
|
#
|
|
34
|
-
def initialize(request:, response:, server_metrics:, collector:, logger:)
|
|
35
|
+
def initialize(request:, response:, server_metrics:, collector:, logger:, timeout: nil)
|
|
35
36
|
@request = request
|
|
36
37
|
@response = response
|
|
37
38
|
@collector = collector
|
|
38
39
|
@server_metrics = server_metrics
|
|
39
40
|
@logger = logger
|
|
41
|
+
@timeout = timeout
|
|
40
42
|
end
|
|
41
43
|
|
|
42
44
|
def handle
|
|
@@ -34,12 +34,12 @@ module Bigcommerce
|
|
|
34
34
|
def call
|
|
35
35
|
collected_metrics = metrics
|
|
36
36
|
if @request.accept_encoding.to_s.include?('gzip')
|
|
37
|
-
write_gzip(
|
|
37
|
+
write_gzip(collected_metrics)
|
|
38
38
|
else
|
|
39
39
|
@response.write(collected_metrics)
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
set_header('Content-Type', 'text/plain; charset=utf-8')
|
|
42
|
+
set_header('Content-Type', 'text/plain; version=0.0.4; charset=utf-8')
|
|
43
43
|
@response
|
|
44
44
|
end
|
|
45
45
|
|
|
@@ -48,7 +48,7 @@ module Bigcommerce
|
|
|
48
48
|
metric(:jobs_processed_total).observe(data['jobs_processed_total'], labels)
|
|
49
49
|
metric(:queues_total).observe(data['queues_total'], labels)
|
|
50
50
|
|
|
51
|
-
data['queues'].each do |name, size|
|
|
51
|
+
(data['queues'] || {}).each do |name, size|
|
|
52
52
|
metric(:queue_sizes).observe(size, labels.merge(queue: name))
|
|
53
53
|
end
|
|
54
54
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bc-prometheus-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shaun McCormick
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bigcommerce-multitrap
|
|
@@ -135,7 +134,6 @@ homepage: https://github.com/bigcommerce/bc-prometheus-ruby
|
|
|
135
134
|
licenses:
|
|
136
135
|
- MIT
|
|
137
136
|
metadata: {}
|
|
138
|
-
post_install_message:
|
|
139
137
|
rdoc_options: []
|
|
140
138
|
require_paths:
|
|
141
139
|
- lib
|
|
@@ -143,15 +141,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
143
141
|
requirements:
|
|
144
142
|
- - ">="
|
|
145
143
|
- !ruby/object:Gem::Version
|
|
146
|
-
version: '3.
|
|
144
|
+
version: '3.3'
|
|
147
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
146
|
requirements:
|
|
149
147
|
- - ">="
|
|
150
148
|
- !ruby/object:Gem::Version
|
|
151
149
|
version: '0'
|
|
152
150
|
requirements: []
|
|
153
|
-
rubygems_version: 3.
|
|
154
|
-
signing_key:
|
|
151
|
+
rubygems_version: 3.6.9
|
|
155
152
|
specification_version: 4
|
|
156
153
|
summary: Simple integration of ruby and puma servers with prometheus
|
|
157
154
|
test_files: []
|