class COMOClient::Metrics::CF

Public Class Methods

register() click to toggle source
# File lib/como_client/metrics/cf.rb, line 8
def self.register
  COMOClient.logger.debug("register CF metrics...")

  prometheus =  Prometheus::Client.registry

  hardwareGauges = Prometheus::Client::Gauge.new( :instance_metrics, docstring: 'instance hardware metrics', labels: [:hardware])
  prometheus.register(hardwareGauges)
  COMOClient.logger.debug("registered hardware gauges")

  COMOClient.logger.debug("registered CF metrics")
end
update() click to toggle source
# File lib/como_client/metrics/cf.rb, line 19
def self.update
  COMOClient.logger.debug("update CF metrics...")
  prometheus =  Prometheus::Client.registry

  usw = Usagewatch
  mem = MemInfo.new
  hardwareGauges = prometheus.get(:instance_metrics)
  hardwareGauges.set(usw.uw_cpuused, labels: { hardware: 'cpu'})
  hardwareGauges.set(usw.uw_load, labels: { hardware: 'avg_load_past_minute'})
  hardwareGauges.set(mem.memtotal, labels: { hardware: 'memory_total'})
  hardwareGauges.set(mem.memfree, labels: { hardware: 'memory_free'})
  hardwareGauges.set(mem.memused, labels: { hardware: 'memory_used'})
  hardwareGauges.set(usw.uw_diskused_perc, labels: { hardware: 'disk_used_perc'})
  hardwareGauges.set(usw.uw_diskused, labels: { hardware: 'disk_used_gigabytes'})
  hardwareGauges.set(IO.read('/proc/uptime').split[0].to_i, labels: { hardware: 'uptime_seconds'})

  COMOClient.logger.debug("updated CF metrics")
end