Class: ClearSkies::Redis::ReportDimension

Inherits:
Object
  • Object
show all
Defined in:
lib/clear_skies/redis/report.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(report, dimension) ⇒ ReportDimension

Returns a new instance of ReportDimension.



63
64
65
66
# File 'lib/clear_skies/redis/report.rb', line 63

def initialize(report, dimension)
  @report = report
  @dimension = dimension
end

Instance Attribute Details

#dimensionObject (readonly)

Returns the value of attribute dimension.



61
62
63
# File 'lib/clear_skies/redis/report.rb', line 61

def dimension
  @dimension
end

#reportObject (readonly)

Returns the value of attribute report.



61
62
63
# File 'lib/clear_skies/redis/report.rb', line 61

def report
  @report
end

Instance Method Details

#metricsObject



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/clear_skies/redis/report.rb', line 68

def metrics
  redis = ::Redis.new(host: report.host, port: report.port, db: @dimension)
  redis_info = redis.info

  metrics = OpenStruct.new
  metrics.keys = redis.dbsize
  metrics.last_save = Time.now.to_i - redis.lastsave
  metrics.uptime = redis_info["uptime_in_seconds"].to_f
  metrics.connected_clients =  redis_info["connected_clients"].to_i
  metrics.blocked_clients =  redis_info["blocked_clients"].to_i
  metrics.used_memory =  redis_info["used_memory"].to_f
  metrics.mem_fragmentation_ratio =  redis_info["mem_fragmentation_ratio"].to_f
  metrics.rdb_changes_since_last_save =  redis_info["rdb_changes_since_last_save"].to_f
  metrics.rdb_last_bgsave_time_szec =  redis_info["rdb_last_bgsave_time_sec"].to_f
  metrics.total_commands_processed =  redis_info["total_commands_processed"].to_f
  metrics
end