@@ -16,18 +16,14 @@ module Management
16
16
# @param host [String] is a bind address that a server uses for listening (default: `0.0.0.0`)
17
17
# @param logger [Logger, nil] is a logger instance for notifications (default: `Logger.new($stdout)`)
18
18
# @param registry [Prometheus::Client::Registry, nil] override a default Prometheus registry
19
- # @param puma_launcher [Puma::Launcher, nil]
20
19
#
21
20
# @return [Server]
22
- def self . server ( port : nil , host : nil , logger : nil , registry : nil , puma_launcher : nil )
23
- registry ||= ::Prometheus ::Client . registry
24
- puma_metrics = puma_launcher ? Puma ::Collector . new ( registry : registry , launcher : puma_launcher ) : nil
21
+ def self . server ( port : nil , host : nil , logger : nil , registry : nil )
25
22
Server . new (
26
23
port : port || 9990 ,
27
24
host : host || '0.0.0.0' ,
28
25
logger : logger || ::Logger . new ( $stdout, progname : Server . name ) ,
29
- registry : registry ,
30
- puma_metrics : puma_metrics
26
+ registry : registry || ::Prometheus ::Client . registry
31
27
)
32
28
end
33
29
@@ -45,9 +41,8 @@ def self.server(port: nil, host: nil, logger: nil, registry: nil, puma_launcher:
45
41
# @attr [Logger] logger
46
42
# @attr [Prometheus::Client::Registry] registry
47
43
# @attr [Puma::Events] events
48
- # @attr [Puma::Collector, nil] puma_metrics
49
44
class Server
50
- attr_reader :host , :port , :logger , :registry , :events , :puma_metrics
45
+ attr_reader :host , :port , :logger , :registry , :events
51
46
52
47
# The socket backlog value
53
48
BACKLOG = 3
@@ -65,15 +60,13 @@ class Server
65
60
# @param port [Integer]
66
61
# @param logger [Logger]
67
62
# @param registry [Prometheus::Client::Registry]
68
- # @param puma_metrics [Puma::Collector, nil]
69
63
#
70
64
# @api private
71
- def initialize ( port :, host :, logger :, registry :, puma_metrics : nil )
65
+ def initialize ( port :, host :, logger :, registry :)
72
66
@host = host
73
67
@port = port
74
68
@logger = logger
75
69
@registry = registry
76
- @puma_metrics = puma_metrics
77
70
end
78
71
79
72
# Creates a management server backed by {Puma::Server} then bind and
@@ -119,7 +112,7 @@ def puma_options
119
112
#
120
113
# @return [#call] a frozen rack application
121
114
def rack_app
122
- ::Rack ::ShowExceptions . new ( ServeEndpoints . new ( registry , puma_metrics ) ) . freeze
115
+ ::Rack ::ShowExceptions . new ( ServeEndpoints . new ( registry ) ) . freeze
123
116
end
124
117
125
118
# Handles a running server instance
@@ -161,10 +154,8 @@ class ServeEndpoints
161
154
NOT_FOUND = [ 404 , PLAIN_TEXT , [ 'not found' ] ] . freeze
162
155
163
156
# @param registry [Prometheus::Client::Registry]
164
- # @param puma_metrics [Puma::Metrics, nil]
165
- def initialize ( registry , puma_metrics )
157
+ def initialize ( registry )
166
158
@registry = registry
167
- @puma_metrics = puma_metrics
168
159
end
169
160
170
161
# @param env [Hash<String, Any>]
@@ -190,7 +181,7 @@ def call(env) # rubocop:disable Metrics/MethodLength
190
181
191
182
# @return [(Integer, Hash<String, String>, Array<String>)]
192
183
def metrics
193
- @puma_metrics &. update
184
+ @registry . custom_collectors! if @registry . respond_to? ( :custom_collectors! )
194
185
195
186
text = Prometheus ::Client ::Formats ::Text . marshal ( @registry )
196
187
[ 200 , METRICS_TEXT , [ text ] ]
0 commit comments