Class: Bigcommerce::Prometheus::Servers::Puma::Server

Inherits:
Puma::Server
  • Object
show all
Defined in:
lib/bigcommerce/prometheus/servers/puma/server.rb

Overview

Puma adapter for server

Instance Method Summary collapse

Constructor Details

#initialize(port: nil, host: nil, timeout: nil, logger: nil, thread_pool_size: nil) ⇒ Server



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/bigcommerce/prometheus/servers/puma/server.rb', line 26

def initialize(port: nil, host: nil, timeout: nil, logger: nil, thread_pool_size: nil)
  @port = port || ::Bigcommerce::Prometheus.server_port
  @host = host || ::Bigcommerce::Prometheus.server_host
  @timeout = timeout || ::Bigcommerce::Prometheus.server_timeout
  @logger = logger || ::Bigcommerce::Prometheus.logger
  @rack_app = ::Bigcommerce::Prometheus::Servers::Puma::RackApp.new(timeout: timeout, logger: logger)
  thread_pool_size = (thread_pool_size || ::Bigcommerce::Prometheus.server_thread_pool_size).to_i
  super(@rack_app, nil, max_threads: thread_pool_size)
  add_tcp_listener(@host, @port)
  @logger.info "[bigcommerce-prometheus] Prometheus server started on #{@host}:#{@port}"
end

Instance Method Details

#add_type_collector(collector) ⇒ Object

Add a type collector to this server



43
44
45
# File 'lib/bigcommerce/prometheus/servers/puma/server.rb', line 43

def add_type_collector(collector)
  @rack_app.add_type_collector(collector)
end