class Deployinator::Views::Stats
Public Instance Methods
deploys()
click to toggle source
# File lib/deployinator/views/stats.rb, line 11 def deploys @deploys ||= begin log_to_hash({ :no_global => false, :stack => Deployinator.stats_included_stacks, :env => "production|search|prod", :extragrep => Deployinator.stats_extra_grep, :no_limit => true, :limit => 10000 }) end # note that the stack param will help but will send bring back extra lines that matched end
inject_renamed_stacks(renamed_stacks)
click to toggle source
# File lib/deployinator/views/stats.rb, line 29 def inject_renamed_stacks(renamed_stacks) return if nil == renamed_stacks renamed_stacks.each do |ops| previous_stack = ops[:previous_stack] new_stack_name = ops[:new_name] renamed_stack_data = log_to_hash(previous_stack) renamed_stack_data.each do |data| data[:stack] = new_stack_name deploys.push(data) end end end
per_day()
click to toggle source
# File lib/deployinator/views/stats.rb, line 45 def per_day inject_renamed_stacks(Deployinator.stats_renamed_stacks) original_zone = ENV["TZ"] ENV["TZ"] = "US/Eastern" early_day = Time.now.strftime("%Y-%m-%d") stack_days = deploys.inject({}) do |h, deploy| if deploy[:time] && deploy[:stack] if @@ignored_stacks.include?(deploy[:stack]) # puts "SKIPPING " + deploy[:stack] # something breaks if you just next here so don't else day = Date.parse(deploy[:time].localtime.strftime("%Y-%m-%d")) early_day = day if day.to_s < early_day.to_s h[deploy[:stack]] ||= {} h[deploy[:stack]][day] ||= 0 h[deploy[:stack]][day] += 1 end end h end # fill in zero days day_seconds = 24 * 60 * 60 (0..((Time.now - Time.parse(early_day.to_s)) / day_seconds).to_i).each do |days_ago| stack_days.keys.each do |stack| next if @@ignored_stacks.include?(stack) day = Date.parse((Time.now - (day_seconds * days_ago)).strftime("%Y-%m-%d")) stack_days[stack][day] ||= 0 end end n = stack_days.keys.map do |stack| next if @@ignored_stacks.include?(stack) data = [] json = [] stack_days[stack].sort.reverse.each do |d,c| data << {:date => d, :count => c} json << [d.strftime("%s").to_i * 1000, c] end {:stack => stack, :data => data, :json => json.to_json} end ENV["TZ"] = original_zone n end
timings()
click to toggle source
# File lib/deployinator/views/stats.rb, line 25 def timings deploys end