yabeda-puma-plugin 0.8.0 → 0.9.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: 7f149b6a7ae1795abd350b4c37918bb542db554f1f5c6fa6d311815cfa8bc5b5
4
- data.tar.gz: 882e94b06e33ba04349f249ca7a6ae08e5c3f542f07609308a7ea8b5767ea6af
3
+ metadata.gz: 22dcc17cbe955121fcd7890c8f777eefb0ba253a79b2e81ce68587ce4087fb22
4
+ data.tar.gz: cb1850b7470e25095341ad75fb2b9e220b7e1f3b7d2ea86c21db919b0bdcbce8
5
5
  SHA512:
6
- metadata.gz: c5cd81095a3d35cfc0c7c7bf2d479a5718aac70827ebe5f4815ab5bbd64e9ffa33a83df1c73d70beed0d9a1120ddad462fd6c6e380c67baddb16717ab57b43c2
7
- data.tar.gz: '006079d4b467fa30b9dd8541c5ea02f3c9557c69011f4a059681674973799fddf0efc07bd2a40b54b477226013416c74ec729600492bd22ed81a2e6c92d4d13e'
6
+ metadata.gz: efc082e61538f3ead6cdf1a122d4fd6006ef4b64abafb0c252fcba44cf4a6c60f2a0120e4941310f0a2b328ca6179db869cfb4f5596a3daddd8855d96fc7fbd2
7
+ data.tar.gz: 7a4cc97a0c17fb0141f0c19fd6105703e30f435a328c2c68fab82d69f2d0f046883ddc61def3901b83f2037ca0bb824e1f09fc3fdb43ef827e0f1b65cc932223
data/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## 0.9.0 - 2025-11-21
9
+
10
+ ### Added
11
+
12
+ - Ability to silence prometheus exporter logs. [@lewispb][] in [#37](https://github.com/yabeda-rb/yabeda-puma-plugin/pull/37)
13
+
8
14
  ## 0.8.0 - 2025-09-16
9
15
 
10
16
  ### Added
@@ -76,3 +82,4 @@ Initial release with basic metrics collection. [@dsalahutdinov]
76
82
  [@indiebrain]: https://github.com/indiebrain "Aaron Kuehler"
77
83
  [@jbockler]: https://github.com/jbockler "Josch Bockler"
78
84
  [@phallstrom]: https://github.com/phallstrom "Philip Hallstrom"
85
+ [@lewispb]: https://github.com/lewispb "Lewis Buckley"
data/README.md CHANGED
@@ -101,6 +101,20 @@ prometheus_exporter_url "tcp://127.0.0.1:9395/shmetrics"
101
101
 
102
102
  Or by environment variables `PROMETHEUS_EXPORTER_URL`, `PROMETHEUS_EXPORTER_BIND`, `PROMETHEUS_EXPORTER_PORT`, and `PROMETHEUS_EXPORTER_PATH` (takes precedence over configuration option).
103
103
 
104
+ ###### Silencing logs
105
+
106
+ You can silence the Prometheus exporter's logs:
107
+
108
+ ```ruby
109
+ # config/puma.rb
110
+ prometheus_silence_logger true
111
+ ```
112
+
113
+ or
114
+
115
+ ```sh
116
+ PROMETHEUS_EXPORTER_SILENT=true
117
+ ```
104
118
 
105
119
  ## Details
106
120
 
@@ -16,6 +16,10 @@ module Puma
16
16
  @options[:prometheus_exporter_url] = uri
17
17
  end
18
18
 
19
+ def prometheus_silence_logger(silence)
20
+ @options[:prometheus_silence_logger] = silence
21
+ end
22
+
19
23
  def on_prometheus_exporter_boot(&block)
20
24
  @options[:prometheus_exporter_boot_hooks] ||= []
21
25
  @options[:prometheus_exporter_boot_hooks] << block
@@ -32,6 +36,8 @@ Puma::Plugin.create do
32
36
  host = ENV.fetch('PROMETHEUS_EXPORTER_BIND', uri.host)
33
37
  port = Integer(ENV.fetch('PROMETHEUS_EXPORTER_PORT', uri.port))
34
38
  path = ENV.fetch('PROMETHEUS_EXPORTER_PATH', uri.path)
39
+ silence_logger = launcher.options.fetch(:prometheus_silence_logger, false)
40
+ silence_logger = ENV.fetch('PROMETHEUS_EXPORTER_SILENT', silence_logger)
35
41
 
36
42
  server = nil
37
43
  logger = nil
@@ -40,7 +46,9 @@ Puma::Plugin.create do
40
46
  create_server = -> {
41
47
  app = Yabeda::Prometheus::Exporter.rack_app(Yabeda::Prometheus::Exporter, path: path)
42
48
  internal_events = Puma::Events.respond_to?(:null) ? Puma::Events.null : Puma::Events.new
43
- server = Puma::Server.new app, internal_events, min_threads: 0, max_threads: 1
49
+ log_writer = silence_logger ? Puma::LogWriter.null : Puma::LogWriter.stdio
50
+
51
+ server = Puma::Server.new app, internal_events, min_threads: 0, max_threads: 1, log_writer: log_writer
44
52
  logger = server.respond_to?(:log_writer) ? server.log_writer : events
45
53
 
46
54
  server.add_tcp_listener host, port
@@ -1,7 +1,7 @@
1
1
  module Yabeda
2
2
  module Puma
3
3
  module Plugin
4
- VERSION = "0.8.0"
4
+ VERSION = "0.9.0"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yabeda-puma-plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salahutdinov Dmitry
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-09-16 00:00:00.000000000 Z
11
+ date: 2025-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yabeda