class Yabeda::Gruf::StatsCollector

Public Instance Methods

collect!() click to toggle source
# File lib/yabeda/gruf/stats_collector.rb, line 6
def collect!
  return unless server

  server.instance_variable_get(:@run_mutex).synchronize { measure_metrics }
end

Private Instance Methods

measure_metrics() click to toggle source
# File lib/yabeda/gruf/stats_collector.rb, line 14
def measure_metrics
  return unless pool

  Yabeda.gruf.pool_jobs_waiting_total.set({}, pool.jobs_waiting.to_i)
  Yabeda.gruf.pool_ready_workers_total.set({}, pool.instance_variable_get(:@ready_workers)&.size)
  Yabeda.gruf.pool_workers_total.set({}, pool.instance_variable_get(:@workers)&.size)
  Yabeda.gruf.pool_initial_size.set({}, server.instance_variable_get(:@pool_size)&.to_i)
  Yabeda.gruf.poll_period.set({}, server.instance_variable_get(:@poll_period)&.to_i)
end
pool() click to toggle source
# File lib/yabeda/gruf/stats_collector.rb, line 24
def pool
  @pool ||= server&.instance_variable_get(:@pool)
end
server() click to toggle source
# File lib/yabeda/gruf/stats_collector.rb, line 28
def server
  @server ||= Yabeda::Gruf.gruf_server&.server
end