Class: Prometheus::Collector::Application
- Inherits:
-
Object
- Object
- Prometheus::Collector::Application
- Defined in:
- lib/prometheus/collector/application.rb
Class Method Summary collapse
- .app ⇒ Object
- .initialize_runnable_extensions ⇒ Object
- .initialize_static_extensions ⇒ Object
- .start ⇒ Object
Class Method Details
.app ⇒ Object
7 8 9 10 11 12 13 14 15 |
# File 'lib/prometheus/collector/application.rb', line 7 def self.app Rack::Builder.app do use Rack::CommonLogger, Prometheus::Collector.logger use Rack::Deflater use Prometheus::Middleware::Collector use Prometheus::Middleware::Exporter run lambda { |env| [200, {'Content-Type' => 'text/plain'}, ['OK']] } end end |
.initialize_runnable_extensions ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/prometheus/collector/application.rb', line 38 def self.initialize_runnable_extensions Prometheus::Collector.logger.info "Initializing Runnable Extensions" Thread.new do EM.run do Extensions::Runnable.values.each do |o| Prometheus::Collector.logger.info "Initializing #{o.class.name}" EM::Cron.schedule(o.class.schedule) do |time| EM.defer(o, o.callback, o.errback) end end end end end |
.initialize_static_extensions ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/prometheus/collector/application.rb', line 25 def self.initialize_static_extensions Prometheus::Collector.logger.info "Initializing Static Extensions" Extensions.values.each do |o| Prometheus::Collector.logger.info "Initializing #{o.class.name}" begin o.callback.call o.call rescue => e o.errback.call e end end Prometheus::Collector.logger.info "Done initializing Static Extensions" end |
.start ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/prometheus/collector/application.rb', line 17 def self.start initialize_static_extensions initialize_runnable_extensions Rack::Server.start( app: app, Port: 9292 ) end |