Class: PromMultiProc::Base
- Inherits:
-
Object
- Object
- PromMultiProc::Base
- Defined in:
- lib/prom_multi_proc/base.rb
Instance Attribute Summary collapse
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#prefix ⇒ Object
readonly
Returns the value of attribute prefix.
-
#writer ⇒ Object
readonly
Returns the value of attribute writer.
Instance Method Summary collapse
-
#initialize(socket:, metrics:, batch_size: nil, batch_timeout: nil, logger: nil, validate: false, prefix: "") ⇒ Base
constructor
A new instance of Base.
- #metric(name) ⇒ Object
- #metric?(name) ⇒ Boolean
- #metrics ⇒ Object
- #multi ⇒ Object
Constructor Details
#initialize(socket:, metrics:, batch_size: nil, batch_timeout: nil, logger: nil, validate: false, prefix: "") ⇒ Base
Returns a new instance of Base.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/prom_multi_proc/base.rb', line 10 def initialize(socket:, metrics:, batch_size: nil, batch_timeout: nil, logger: nil, validate: false, prefix: "") @prefix = if prefix.empty? || prefix.end_with?("_") prefix else "#{prefix}_" end @logger = logger || ::Logger.new(STDOUT) unless File.socket?(socket) @logger.warn("Socket does not exist: #{socket}") end @metric_objects = Concurrent::Map.new @writer = Writer.new(socket: socket, batch_size: batch_size, batch_timeout: batch_timeout, validate: validate) @multi_lock = Mutex.new specs = get_specs(metrics) process_specs!(specs) end |
Instance Attribute Details
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
8 9 10 |
# File 'lib/prom_multi_proc/base.rb', line 8 def logger @logger end |
#prefix ⇒ Object (readonly)
Returns the value of attribute prefix.
8 9 10 |
# File 'lib/prom_multi_proc/base.rb', line 8 def prefix @prefix end |
#writer ⇒ Object (readonly)
Returns the value of attribute writer.
8 9 10 |
# File 'lib/prom_multi_proc/base.rb', line 8 def writer @writer end |
Instance Method Details
#metric(name) ⇒ Object
30 31 32 |
# File 'lib/prom_multi_proc/base.rb', line 30 def metric(name) @metric_objects[name] end |
#metric?(name) ⇒ Boolean
34 35 36 |
# File 'lib/prom_multi_proc/base.rb', line 34 def metric?(name) @metric_objects.key?(name) end |
#metrics ⇒ Object
38 39 40 |
# File 'lib/prom_multi_proc/base.rb', line 38 def metrics @metric_objects.keys end |