bc-prometheus-ruby 0.5.1 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a5bc3a1ae57f782c0f94d6cf490830fce96e78ab0f782a4761cad8dcc5850ae
4
- data.tar.gz: 694ede704dc83a7c9fd0f1abfd4300bd7e464b464b305833be44c7b06bf62bd5
3
+ metadata.gz: a698cc0ac06efacbba9d2448adf0cac2c1f1f54468ee3ba4c14fab8e5c25e012
4
+ data.tar.gz: f8c629aa6c16174692bf804271af7edbf1f087d9abb7bc2ff32400a01d00a001
5
5
  SHA512:
6
- metadata.gz: 20a0ccb53fc272f5f80425503fe492908c6cca2a01186b0489141091239671e848d4930ba29c54ada04c78149ebbda6f2f240880e0da24d2bc7a5b7b98c2b8bc
7
- data.tar.gz: ebe5d43de15abe3d933050add69fb785280506bbe6f6acab6065eee215534aeb61bd025eaec545ca9bd682083b7751e01a1569c80daa43313dfaeac72b7d5163
6
+ metadata.gz: e7b37136f17cc98bd2f8c88adc4668f4685965602453261a27ff90516788c86d6571ceb15158e7fd0a3fb78f42e31c6cafbd4beacf4b590f6e82395682c33174
7
+ data.tar.gz: 5879abda273f9d1b127483f7ee0f6083bc013fe4376033e15f917a62113d1727b4d32e34381e98dbbab90981fd7e7e124242775cd3c18e6e792b4a451ecd7aa2
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@ Changelog for the bc-prometheus-ruby gem.
2
2
 
3
3
  ### Pending Release
4
4
 
5
+ ## 0.6.0
6
+
7
+ - Add support for Ruby 3.1/3.2
8
+ - Drop support for Ruby 2
9
+ - Add CodeClimate analysis
10
+
11
+ ## 0.5.2
12
+
13
+ - Better error handling post-fork for web/resque instrumentors
14
+ - Fix issue with using `Collectors::Base` and keyword arguments in Ruby 2.7
15
+ - Remove null-logger development dependency
16
+
5
17
  ### 0.5.1
6
18
 
7
19
  - Fix keywords argument issue with Collectors::Base and Ruby 3.0+
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # bc-prometheus-ruby - Drop-in Prometheus metrics
2
2
 
3
- [![CircleCI](https://circleci.com/gh/bigcommerce/bc-prometheus-ruby.svg?style=svg&circle-token=fc3e2c4405a1f53a31e298f0ef981c2d0dfdee90)](https://circleci.com/gh/bigcommerce/bc-prometheus-ruby) [![Gem Version](https://badge.fury.io/rb/bc-prometheus-ruby.svg)](https://badge.fury.io/rb/bc-prometheus-ruby) [![Documentation](https://inch-ci.org/github/bigcommerce/bc-prometheus-ruby.svg?branch=main)](https://inch-ci.org/github/bigcommerce/bc-prometheus-ruby?branch=main)
3
+ [![CircleCI](https://circleci.com/gh/bigcommerce/bc-prometheus-ruby.svg?style=svg&circle-token=fc3e2c4405a1f53a31e298f0ef981c2d0dfdee90)](https://circleci.com/gh/bigcommerce/bc-prometheus-ruby) [![Gem Version](https://badge.fury.io/rb/bc-prometheus-ruby.svg)](https://badge.fury.io/rb/bc-prometheus-ruby) [![Documentation](https://inch-ci.org/github/bigcommerce/bc-prometheus-ruby.svg?branch=main)](https://inch-ci.org/github/bigcommerce/bc-prometheus-ruby?branch=main) [![Maintainability](https://api.codeclimate.com/v1/badges/4a06277c738245e8bac1/maintainability)](https://codeclimate.com/github/bigcommerce/bc-prometheus-ruby/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/4a06277c738245e8bac1/test_coverage)](https://codeclimate.com/github/bigcommerce/bc-prometheus-ruby/test_coverage)
4
4
 
5
5
  ## Installation
6
6
 
@@ -31,10 +31,9 @@ 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 = '>= 2.6'
34
+ spec.required_ruby_version = '>= 3.0'
35
35
 
36
36
  spec.add_development_dependency 'bundler-audit', '>= 0.6'
37
- spec.add_development_dependency 'null-logger', '>= 0.1'
38
37
  spec.add_development_dependency 'pry', '>= 0.12'
39
38
  spec.add_development_dependency 'rake', '>= 10.0'
40
39
  spec.add_development_dependency 'rspec', '>= 3.8'
@@ -78,7 +78,7 @@ module Bigcommerce
78
78
  message = @queue.pop
79
79
  Net::HTTP.post(uri_path('/send-metrics'), message)
80
80
  rescue StandardError => e
81
- logger.warn "[bigcommerce-prometheus][#{@process_name}] Prometheus Exporter is dropping a message tp #{uri_path('/send-metrics')}: #{e}"
81
+ logger.warn "[bigcommerce-prometheus][#{@process_name}] Prometheus Exporter is dropping a message to #{uri_path('/send-metrics')}: #{e}"
82
82
  raise
83
83
  end
84
84
  end
@@ -25,7 +25,10 @@ module Bigcommerce
25
25
  ##
26
26
  # Start the collector
27
27
  #
28
- def self.start(args, &block)
28
+ # @param [Hash] args
29
+ #
30
+ def self.start(args = {}, &block)
31
+ args ||= {}
29
32
  process_collector = new(**args, &block)
30
33
 
31
34
  stop if @thread
@@ -70,6 +70,8 @@ module Bigcommerce
70
70
  ::Resque.before_first_fork do
71
71
  ::Bigcommerce::Prometheus::Integrations::Resque.start(client: Bigcommerce::Prometheus.client)
72
72
  @collectors.each(&:start)
73
+ rescue StandardError => e
74
+ logger.error "[bigcommerce-prometheus][#{@process_name}] Failed to start resque prometheus middleware after fork: #{e.message}"
73
75
  end
74
76
  end
75
77
  end
@@ -79,13 +79,15 @@ module Bigcommerce
79
79
  @app.config.after_fork_callbacks << lambda do
80
80
  ::Bigcommerce::Prometheus::Integrations::Puma.start(client: Bigcommerce::Prometheus.client)
81
81
  @collectors.each(&:start)
82
+ rescue StandardError => e
83
+ logger.error "[bigcommerce-prometheus][#{@process_name}] Failed to start web prometheus middleware after fork: #{e.message}"
82
84
  end
83
85
  end
84
86
 
85
87
  def setup_middleware
86
88
  @app.middleware.unshift(PrometheusExporter::Middleware, client: Bigcommerce::Prometheus.client)
87
89
  rescue StandardError => e
88
- logger.warn "[bc-prometheus-ruby] Failed to attach app middleware in web instrumentor: #{e.message}"
90
+ logger.warn "[bigcommerce-prometheus] Failed to attach app middleware in web instrumentor: #{e.message}"
89
91
  end
90
92
  end
91
93
  end
@@ -17,6 +17,6 @@
17
17
  #
18
18
  module Bigcommerce
19
19
  module Prometheus
20
- VERSION = '0.5.1'
20
+ VERSION = '0.6.0'
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bc-prometheus-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shaun McCormick
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-15 00:00:00.000000000 Z
11
+ date: 2023-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler-audit
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.6'
27
- - !ruby/object:Gem::Dependency
28
- name: null-logger
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0.1'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0.1'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: pry
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -211,14 +197,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
197
  requirements:
212
198
  - - ">="
213
199
  - !ruby/object:Gem::Version
214
- version: '2.6'
200
+ version: '3.0'
215
201
  required_rubygems_version: !ruby/object:Gem::Requirement
216
202
  requirements:
217
203
  - - ">="
218
204
  - !ruby/object:Gem::Version
219
205
  version: '0'
220
206
  requirements: []
221
- rubygems_version: 3.2.3
207
+ rubygems_version: 3.4.1
222
208
  signing_key:
223
209
  specification_version: 4
224
210
  summary: Simple integration of ruby and puma servers with prometheus