govuk_app_config 9.0.3 → 9.1.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 -1
- data/govuk_app_config.gemspec +3 -3
- data/lib/govuk_app_config/govuk_json_logging.rb +13 -16
- data/lib/govuk_app_config/govuk_open_telemetry.rb +5 -0
- data/lib/govuk_app_config/govuk_prometheus_exporter.rb +5 -2
- data/lib/govuk_app_config/version.rb +1 -1
- metadata +23 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b294855ddebc514295005646929b0097f632fee29abca5e5bcfcf8762fa6a074
|
4
|
+
data.tar.gz: 5001db9a6a2ea18b55337fa58ffc43698949201644f0274c337468c0228b7220
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f022124d42f44d65e8b34f47451b2bed770340690529983d9277cf2d5f747d85400b7061048c64e0e9c1b5c040c975b0421bb1143bca052736ffa4e75e6557f
|
7
|
+
data.tar.gz: 80af52848ba6276c0103bb6f7b32830b5cd4ca8fda42b2e4cb682dbce4ea958fd761c394b5864f3ea450f19e85197ccd0fadbd18c921cfee8783bb196a12a650
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
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
|
+
|
7
|
+
# 9.0.4
|
8
|
+
|
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))
|
10
|
+
|
1
11
|
# 9.0.3
|
2
12
|
|
3
13
|
* When error is reported by Rails logger, the field is now logged as "error_message" in order to avoid overwriting the "message" field.
|
@@ -32,7 +42,7 @@
|
|
32
42
|
|
33
43
|
# 8.0.1
|
34
44
|
|
35
|
-
* 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.
|
36
46
|
|
37
47
|
# 8.0.0
|
38
48
|
|
data/govuk_app_config.gemspec
CHANGED
@@ -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", "
|
25
|
-
spec.add_dependency "opentelemetry-instrumentation-all", "
|
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.
|
42
|
+
spec.add_development_dependency "rubocop-govuk", "4.12.0"
|
43
43
|
spec.add_development_dependency "webmock"
|
44
44
|
end
|
@@ -8,24 +8,21 @@ module GovukJsonLogging
|
|
8
8
|
# indefinitely while troubleshooting.
|
9
9
|
$stdout.sync = true
|
10
10
|
|
11
|
-
Rails.logger = Logger.new(
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
tags: %w[rails],
|
20
|
-
}
|
11
|
+
Rails.logger = ActiveSupport::Logger.new($stdout, level: Rails.logger.level)
|
12
|
+
Rails.logger.formatter = proc { |severity, datetime, _progname, msg|
|
13
|
+
hash = {
|
14
|
+
"@timestamp": datetime.utc.iso8601(3),
|
15
|
+
message: msg,
|
16
|
+
level: severity,
|
17
|
+
tags: %w[rails],
|
18
|
+
}
|
21
19
|
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
if defined?(GdsApi::GovukHeaders) && !GdsApi::GovukHeaders.headers[:govuk_request_id].nil?
|
21
|
+
hash[:govuk_request_id] = GdsApi::GovukHeaders.headers[:govuk_request_id]
|
22
|
+
end
|
25
23
|
|
26
|
-
|
27
|
-
|
28
|
-
)
|
24
|
+
"#{hash.to_json}\n"
|
25
|
+
}
|
29
26
|
|
30
27
|
LogStasher.add_custom_fields do |fields|
|
31
28
|
# Mirrors Nginx request logging, e.g. GET /path/here HTTP/1.1
|
@@ -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 "
|
53
|
+
warn "Could not start Prometheus metrics server as address already in use."
|
51
54
|
end
|
52
55
|
end
|
53
56
|
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
|
+
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-
|
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.
|
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.
|
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.
|
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.
|
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.
|
378
|
+
rubygems_version: 3.4.19
|
367
379
|
signing_key:
|
368
380
|
specification_version: 4
|
369
381
|
summary: Base configuration for GOV.UK applications
|