Class: Prometheus::Middleware::Collector
- Inherits:
-
Object
- Object
- Prometheus::Middleware::Collector
- Defined in:
- lib/prometheus/middleware/collector.rb
Overview
Collector is a Rack middleware that provides a sample implementation of a HTTP tracer.
By default metrics are registered on the global registry. Set the ‘:registry` option to use a custom registry.
By default metrics all have the prefix “http_server”. Set ‘:metrics_prefix` to something else if you like.
The request counter metric is broken down by code, method and path. The request duration metric is broken down by method and path.
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
Returns the value of attribute app.
-
#registry ⇒ Object
readonly
Returns the value of attribute registry.
Instance Method Summary collapse
-
#call(env) ⇒ Object
:nodoc:.
-
#initialize(app, options = {}) ⇒ Collector
constructor
A new instance of Collector.
Constructor Details
#initialize(app, options = {}) ⇒ Collector
Returns a new instance of Collector.
22 23 24 25 26 27 28 29 |
# File 'lib/prometheus/middleware/collector.rb', line 22 def initialize(app, = {}) @app = app @registry = [:registry] || Client.registry @metrics_prefix = [:metrics_prefix] || 'http_server' init_request_metrics init_exception_metrics end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns the value of attribute app.
20 21 22 |
# File 'lib/prometheus/middleware/collector.rb', line 20 def app @app end |
#registry ⇒ Object (readonly)
Returns the value of attribute registry.
20 21 22 |
# File 'lib/prometheus/middleware/collector.rb', line 20 def registry @registry end |
Instance Method Details
#call(env) ⇒ Object
:nodoc:
31 32 33 |
# File 'lib/prometheus/middleware/collector.rb', line 31 def call(env) # :nodoc: trace(env) { @app.call(env) } end |