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
- #histogram ⇒ 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 25 |
# 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 @histogram = nil .each do |k, v| send("#{k}=", v) if self.class.method_defined?("#{k}=") end end |
Instance Attribute Details
#auth ⇒ Object
57 58 59 |
# File 'lib/prometheus_exporter/server/runner.rb', line 57 def auth @auth || nil end |
#bind ⇒ Object
73 74 75 |
# File 'lib/prometheus_exporter/server/runner.rb', line 73 def bind @bind || PrometheusExporter::DEFAULT_BIND_ADDRESS end |
#collector_class ⇒ Object
77 78 79 |
# File 'lib/prometheus_exporter/server/runner.rb', line 77 def collector_class @collector_class || PrometheusExporter::Server::Collector end |
#histogram ⇒ Object
106 107 108 |
# File 'lib/prometheus_exporter/server/runner.rb', line 106 def histogram @histogram || false end |
#label ⇒ Object
102 103 104 |
# File 'lib/prometheus_exporter/server/runner.rb', line 102 def label @label ||= PrometheusExporter::DEFAULT_LABEL end |
#port ⇒ Object
69 70 71 |
# File 'lib/prometheus_exporter/server/runner.rb', line 69 def port @port || PrometheusExporter::DEFAULT_PORT end |
#prefix ⇒ Object
65 66 67 |
# File 'lib/prometheus_exporter/server/runner.rb', line 65 def prefix @prefix || PrometheusExporter::DEFAULT_PREFIX end |
#realm ⇒ Object
61 62 63 |
# File 'lib/prometheus_exporter/server/runner.rb', line 61 def realm @realm || PrometheusExporter::DEFAULT_REALM end |
#server_class ⇒ Object
94 95 96 |
# File 'lib/prometheus_exporter/server/runner.rb', line 94 def server_class @server_class || PrometheusExporter::Server::WebServer end |
#timeout ⇒ Object
85 86 87 |
# File 'lib/prometheus_exporter/server/runner.rb', line 85 def timeout @timeout || PrometheusExporter::DEFAULT_TIMEOUT end |
#type_collectors ⇒ Object
81 82 83 |
# File 'lib/prometheus_exporter/server/runner.rb', line 81 def type_collectors @type_collectors || [] end |
#unicorn_listen_address ⇒ Object
Returns the value of attribute unicorn_listen_address.
54 55 56 |
# File 'lib/prometheus_exporter/server/runner.rb', line 54 def unicorn_listen_address @unicorn_listen_address end |
#unicorn_pid_file ⇒ Object
Returns the value of attribute unicorn_pid_file.
54 55 56 |
# File 'lib/prometheus_exporter/server/runner.rb', line 54 def unicorn_pid_file @unicorn_pid_file end |
#verbose ⇒ Object
89 90 91 92 |
# File 'lib/prometheus_exporter/server/runner.rb', line 89 def verbose return @verbose if defined? @verbose false end |
Instance Method Details
#collector ⇒ Object
98 99 100 |
# File 'lib/prometheus_exporter/server/runner.rb', line 98 def collector @_collector ||= collector_class.new end |
#start ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/prometheus_exporter/server/runner.rb', line 27 def start PrometheusExporter::Metric::Base.default_prefix = prefix PrometheusExporter::Metric::Base.default_labels = label if histogram PrometheusExporter::Metric::Base.default_aggregation = PrometheusExporter::Metric::Histogram end 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 |