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.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/prometheus_exporter/server/runner.rb', line 10 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
59 60 61 |
# File 'lib/prometheus_exporter/server/runner.rb', line 59 def auth @auth || nil end |
#bind ⇒ Object
75 76 77 |
# File 'lib/prometheus_exporter/server/runner.rb', line 75 def bind @bind || PrometheusExporter::DEFAULT_BIND_ADDRESS end |
#collector_class ⇒ Object
79 80 81 |
# File 'lib/prometheus_exporter/server/runner.rb', line 79 def collector_class @collector_class || PrometheusExporter::Server::Collector end |
#histogram ⇒ Object
108 109 110 |
# File 'lib/prometheus_exporter/server/runner.rb', line 108 def histogram @histogram || false end |
#label ⇒ Object
104 105 106 |
# File 'lib/prometheus_exporter/server/runner.rb', line 104 def label @label ||= PrometheusExporter::DEFAULT_LABEL end |
#port ⇒ Object
71 72 73 |
# File 'lib/prometheus_exporter/server/runner.rb', line 71 def port @port || PrometheusExporter::DEFAULT_PORT end |
#prefix ⇒ Object
67 68 69 |
# File 'lib/prometheus_exporter/server/runner.rb', line 67 def prefix @prefix || PrometheusExporter::DEFAULT_PREFIX end |
#realm ⇒ Object
63 64 65 |
# File 'lib/prometheus_exporter/server/runner.rb', line 63 def realm @realm || PrometheusExporter::DEFAULT_REALM end |
#server_class ⇒ Object
96 97 98 |
# File 'lib/prometheus_exporter/server/runner.rb', line 96 def server_class @server_class || PrometheusExporter::Server::WebServer end |
#timeout ⇒ Object
87 88 89 |
# File 'lib/prometheus_exporter/server/runner.rb', line 87 def timeout @timeout || PrometheusExporter::DEFAULT_TIMEOUT end |
#type_collectors ⇒ Object
83 84 85 |
# File 'lib/prometheus_exporter/server/runner.rb', line 83 def type_collectors @type_collectors || [] end |
#unicorn_listen_address ⇒ Object
Returns the value of attribute unicorn_listen_address.
56 57 58 |
# File 'lib/prometheus_exporter/server/runner.rb', line 56 def unicorn_listen_address @unicorn_listen_address end |
#unicorn_pid_file ⇒ Object
Returns the value of attribute unicorn_pid_file.
56 57 58 |
# File 'lib/prometheus_exporter/server/runner.rb', line 56 def unicorn_pid_file @unicorn_pid_file end |
#verbose ⇒ Object
91 92 93 94 |
# File 'lib/prometheus_exporter/server/runner.rb', line 91 def verbose return @verbose if defined? @verbose false end |
Instance Method Details
#collector ⇒ Object
100 101 102 |
# File 'lib/prometheus_exporter/server/runner.rb', line 100 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 48 49 50 51 52 53 54 |
# File 'lib/prometheus_exporter/server/runner.rb', line 26 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 require_relative '../instrumentation' 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 |