Class: PrometheusExporter::Server::Runner
- Inherits:
-
Object
- Object
- PrometheusExporter::Server::Runner
- Defined in:
- lib/prometheus_exporter/server/runner.rb
Instance Attribute Summary collapse
- #auth ⇒ Object
- #bind ⇒ Object
- #collector_class ⇒ Object
- #label ⇒ Object
- #port ⇒ Object
- #prefix ⇒ Object
- #realm ⇒ Object
- #server_class ⇒ Object
- #timeout ⇒ Object
- #type_collectors ⇒ Object
-
#unicorn_listen_address ⇒ Object
Returns the value of attribute unicorn_listen_address.
-
#unicorn_pid_file ⇒ Object
Returns the value of attribute unicorn_pid_file.
- #verbose ⇒ Object
Instance Method Summary collapse
- #collector ⇒ Object
-
#initialize(options = {}) ⇒ Runner
constructor
A new instance of Runner.
- #start ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Runner
Returns a new instance of Runner.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/prometheus_exporter/server/runner.rb', line 11 def initialize( = {}) @timeout = nil @port = nil @bind = nil @collector_class = nil @type_collectors = nil @prefix = nil @auth = nil @realm = nil .each do |k, v| send("#{k}=", v) if self.class.method_defined?("#{k}=") end end |
Instance Attribute Details
#auth ⇒ Object
52 53 54 |
# File 'lib/prometheus_exporter/server/runner.rb', line 52 def auth @auth || nil end |
#bind ⇒ Object
68 69 70 |
# File 'lib/prometheus_exporter/server/runner.rb', line 68 def bind @bind || PrometheusExporter::DEFAULT_BIND_ADDRESS end |
#collector_class ⇒ Object
72 73 74 |
# File 'lib/prometheus_exporter/server/runner.rb', line 72 def collector_class @collector_class || PrometheusExporter::Server::Collector end |
#label ⇒ Object
97 98 99 |
# File 'lib/prometheus_exporter/server/runner.rb', line 97 def label @label ||= PrometheusExporter::DEFAULT_LABEL end |
#port ⇒ Object
64 65 66 |
# File 'lib/prometheus_exporter/server/runner.rb', line 64 def port @port || PrometheusExporter::DEFAULT_PORT end |
#prefix ⇒ Object
60 61 62 |
# File 'lib/prometheus_exporter/server/runner.rb', line 60 def prefix @prefix || PrometheusExporter::DEFAULT_PREFIX end |
#realm ⇒ Object
56 57 58 |
# File 'lib/prometheus_exporter/server/runner.rb', line 56 def realm @realm || PrometheusExporter::DEFAULT_REALM end |
#server_class ⇒ Object
89 90 91 |
# File 'lib/prometheus_exporter/server/runner.rb', line 89 def server_class @server_class || PrometheusExporter::Server::WebServer end |
#timeout ⇒ Object
80 81 82 |
# File 'lib/prometheus_exporter/server/runner.rb', line 80 def timeout @timeout || PrometheusExporter::DEFAULT_TIMEOUT end |
#type_collectors ⇒ Object
76 77 78 |
# File 'lib/prometheus_exporter/server/runner.rb', line 76 def type_collectors @type_collectors || [] end |
#unicorn_listen_address ⇒ Object
Returns the value of attribute unicorn_listen_address.
49 50 51 |
# File 'lib/prometheus_exporter/server/runner.rb', line 49 def unicorn_listen_address @unicorn_listen_address end |
#unicorn_pid_file ⇒ Object
Returns the value of attribute unicorn_pid_file.
49 50 51 |
# File 'lib/prometheus_exporter/server/runner.rb', line 49 def unicorn_pid_file @unicorn_pid_file end |
#verbose ⇒ Object
84 85 86 87 |
# File 'lib/prometheus_exporter/server/runner.rb', line 84 def verbose return @verbose if defined? @verbose false end |
Instance Method Details
#collector ⇒ Object
93 94 95 |
# File 'lib/prometheus_exporter/server/runner.rb', line 93 def collector @_collector ||= collector_class.new end |
#start ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/prometheus_exporter/server/runner.rb', line 26 def start PrometheusExporter::Metric::Base.default_prefix = prefix PrometheusExporter::Metric::Base.default_labels = label register_type_collectors unless collector.is_a?(PrometheusExporter::Server::CollectorBase) raise WrongInheritance, 'Collector class must be inherited from PrometheusExporter::Server::CollectorBase' end if unicorn_listen_address && unicorn_pid_file local_client = PrometheusExporter::LocalClient.new(collector: collector) PrometheusExporter::Instrumentation::Unicorn.start( pid_file: unicorn_pid_file, listener_address: unicorn_listen_address, client: local_client ) end server = server_class.new(port: port, bind: bind, collector: collector, timeout: timeout, verbose: verbose, auth: auth, realm: realm) server.start end |