govuk_app_config 9.0.4 → 9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13c7b2080a8136a1799208e1bf685d420afbde632c35780c7b2cef063d7bad54
4
- data.tar.gz: 757a148a0d5db0867f8ca54033cb243837c5dadb9427c5047c24db4bcc96a897
3
+ metadata.gz: b294855ddebc514295005646929b0097f632fee29abca5e5bcfcf8762fa6a074
4
+ data.tar.gz: 5001db9a6a2ea18b55337fa58ffc43698949201644f0274c337468c0228b7220
5
5
  SHA512:
6
- metadata.gz: 7838253f4088c269f00f85ae005ee072ae3e08a935ba49f39e1dd0aa9b5c857de75472ebb73697b9ad49c31c61a62ad47556a3b75fe660edd2d818b0ad00cd65
7
- data.tar.gz: 102c41532cfa9d12140d54c5ed44b8bc06eb0e331524d032652c4f8b9d68fb5b1adcfb1044e197135ed4c7b9161903219719f767327719a09ed862a1de9dbca7
6
+ metadata.gz: 5f022124d42f44d65e8b34f47451b2bed770340690529983d9277cf2d5f747d85400b7061048c64e0e9c1b5c040c975b0421bb1143bca052736ffa4e75e6557f
7
+ data.tar.gz: 80af52848ba6276c0103bb6f7b32830b5cd4ca8fda42b2e4cb682dbce4ea958fd761c394b5864f3ea450f19e85197ccd0fadbd18c921cfee8783bb196a12a650
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 9.1.0
2
+
3
+ * GovukAppConfig silences OpenTelemetry log output when running a rake task ([#311](https://github.com/alphagov/govuk_app_config/pull/311))
4
+ * Update warning message for Prometheus metric server address already in use.
5
+ * Add ability to support custom collectors in the Prometheus exporter.
6
+
1
7
  # 9.0.4
2
8
 
3
9
  * Fix an issue with Rails.logger being not an instance of ActiveSupport::Logger. Rails expects Rails.logger to have methods that Ruby STD Logger does not provide. e.g. `silence()` ([#309](https://github.com/alphagov/govuk_app_config/pull/309))
@@ -36,7 +42,7 @@
36
42
 
37
43
  # 8.0.1
38
44
 
39
- * Change the "source" field in Rails logs from logstasher from string representing IP host address to an empty object.
45
+ * Change the "source" field in Rails logs from logstasher from string representing IP host address to an empty object.
40
46
 
41
47
  # 8.0.0
42
48
 
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = %w[lib]
22
22
 
23
23
  spec.add_dependency "logstasher", "~> 2.1"
24
- spec.add_dependency "opentelemetry-exporter-otlp", "~> 0.25.0"
25
- spec.add_dependency "opentelemetry-instrumentation-all", "~> 0.39.1"
24
+ spec.add_dependency "opentelemetry-exporter-otlp", ">= 0.25", "< 0.27"
25
+ spec.add_dependency "opentelemetry-instrumentation-all", ">= 0.39.1", "< 0.41.0"
26
26
  spec.add_dependency "opentelemetry-sdk", "~> 1.2"
27
27
  spec.add_dependency "plek", ">= 4", "< 6"
28
28
  spec.add_dependency "prometheus_exporter", "~> 2.0"
@@ -39,6 +39,6 @@ Gem::Specification.new do |spec|
39
39
  spec.add_development_dependency "rake", "~> 13.0"
40
40
  spec.add_development_dependency "rspec", "~> 3.10"
41
41
  spec.add_development_dependency "rspec-its", "~> 1.3"
42
- spec.add_development_dependency "rubocop-govuk", "4.11.0"
42
+ spec.add_development_dependency "rubocop-govuk", "4.12.0"
43
43
  spec.add_development_dependency "webmock"
44
44
  end
@@ -13,6 +13,11 @@ module GovukOpenTelemetry
13
13
  OpenTelemetry::SDK.configure do |config|
14
14
  config.service_name = service_name
15
15
  config.use_all # enables all instrumentation!
16
+ config.logger = Logger.new(File::NULL) if in_rake_task?
16
17
  end
17
18
  end
19
+
20
+ def self.in_rake_task?
21
+ Rails.const_defined?(:Rake) && Rake.application.top_level_tasks.any?
22
+ end
18
23
  end
@@ -11,7 +11,7 @@ module GovukPrometheusExporter
11
11
  end
12
12
  end
13
13
 
14
- def self.configure
14
+ def self.configure(collectors: [])
15
15
  return unless should_configure
16
16
 
17
17
  require "prometheus_exporter"
@@ -37,6 +37,9 @@ module GovukPrometheusExporter
37
37
 
38
38
  begin
39
39
  server = PrometheusExporter::Server::WebServer.new bind: "0.0.0.0", port: 9394
40
+
41
+ collectors.each { |collector| server.collector.register_collector(collector.new) }
42
+
40
43
  server.start
41
44
 
42
45
  if defined?(Rails)
@@ -47,7 +50,7 @@ module GovukPrometheusExporter
47
50
  Sinatra.use PrometheusExporter::Middleware
48
51
  end
49
52
  rescue Errno::EADDRINUSE
50
- warn "Warning: Could not connect to Prometheus Server"
53
+ warn "Could not start Prometheus metrics server as address already in use."
51
54
  end
52
55
  end
53
56
  end
@@ -1,3 +1,3 @@
1
1
  module GovukAppConfig
2
- VERSION = "9.0.4".freeze
2
+ VERSION = "9.1.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_app_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.4
4
+ version: 9.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-17 00:00:00.000000000 Z
11
+ date: 2023-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logstasher
@@ -28,30 +28,42 @@ dependencies:
28
28
  name: opentelemetry-exporter-otlp
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0.25'
34
+ - - "<"
32
35
  - !ruby/object:Gem::Version
33
- version: 0.25.0
36
+ version: '0.27'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0.25'
44
+ - - "<"
39
45
  - !ruby/object:Gem::Version
40
- version: 0.25.0
46
+ version: '0.27'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: opentelemetry-instrumentation-all
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - "~>"
51
+ - - ">="
46
52
  - !ruby/object:Gem::Version
47
53
  version: 0.39.1
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: 0.41.0
48
57
  type: :runtime
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
51
60
  requirements:
52
- - - "~>"
61
+ - - ">="
53
62
  - !ruby/object:Gem::Version
54
63
  version: 0.39.1
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: 0.41.0
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: opentelemetry-sdk
57
69
  requirement: !ruby/object:Gem::Requirement
@@ -280,14 +292,14 @@ dependencies:
280
292
  requirements:
281
293
  - - '='
282
294
  - !ruby/object:Gem::Version
283
- version: 4.11.0
295
+ version: 4.12.0
284
296
  type: :development
285
297
  prerelease: false
286
298
  version_requirements: !ruby/object:Gem::Requirement
287
299
  requirements:
288
300
  - - '='
289
301
  - !ruby/object:Gem::Version
290
- version: 4.11.0
302
+ version: 4.12.0
291
303
  - !ruby/object:Gem::Dependency
292
304
  name: webmock
293
305
  requirement: !ruby/object:Gem::Requirement
@@ -363,7 +375,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
363
375
  - !ruby/object:Gem::Version
364
376
  version: '0'
365
377
  requirements: []
366
- rubygems_version: 3.4.17
378
+ rubygems_version: 3.4.19
367
379
  signing_key:
368
380
  specification_version: 4
369
381
  summary: Base configuration for GOV.UK applications