Class: Neetodeploy::Rails::MetricsCollector
- Inherits:
-
Object
- Object
- Neetodeploy::Rails::MetricsCollector
- Includes:
- NeetoDeploy::Logger, Singleton
- Defined in:
- lib/neetodeploy/autoscale/rails/metrics_collector.rb
Constant Summary collapse
- PERCENTILES =
{ p90: 0.90, p95: 0.95, p99: 0.99 }.freeze
- RESTART_DELAY =
5
Class Method Summary collapse
Instance Method Summary collapse
Methods included from NeetoDeploy::Logger
Class Method Details
.start ⇒ Object
18 19 20 |
# File 'lib/neetodeploy/autoscale/rails/metrics_collector.rb', line 18 def self.start instance.start! unless instance.running? end |
Instance Method Details
#running? ⇒ Boolean
34 35 36 |
# File 'lib/neetodeploy/autoscale/rails/metrics_collector.rb', line 34 def running? @pid == Process.pid && @thread&.alive? end |
#start! ⇒ Object
22 23 24 25 26 |
# File 'lib/neetodeploy/autoscale/rails/metrics_collector.rb', line 22 def start! logger.info("Starting background worker to collect metrics") @pid = Process.pid start_collector_thread end |
#stop! ⇒ Object
28 29 30 31 32 |
# File 'lib/neetodeploy/autoscale/rails/metrics_collector.rb', line 28 def stop! @thread&.terminate @thread = nil @pid = nil end |