Module: SidekiqJobStats::Helpers::Stats

Defined in:
lib/sidekiq_job_stats/helpers/stats.rb

Instance Method Summary collapse

Instance Method Details

#display_stat(stat, stat_name, format) ⇒ Object



16
17
18
19
# File 'lib/sidekiq_job_stats/helpers/stats.rb', line 16

def display_stat(stat, stat_name, format)
  formatted_stat =   self.send(format, stat.send(stat_name))
  "<td>#{formatted_stat}</td>"
end

#format_enqueued_at(value) ⇒ Object

Sidekiq 6/7 stores enqueued_at as seconds (~1.7e9). Sidekiq 8+ stores it as milliseconds (~1.7e12).



35
36
37
38
39
40
41
# File 'lib/sidekiq_job_stats/helpers/stats.rb', line 35

def format_enqueued_at(value)
  return "" unless value
  ts = value.to_f
  return value if ts.zero?
  ts /= 1000.0 if ts > 1_000_000_000_000
  Time.at(ts)
end

#job_stats_sort_th(label, key) ⇒ Object



9
10
11
12
13
14
# File 'lib/sidekiq_job_stats/helpers/stats.rb', line 9

def job_stats_sort_th(label, key)
  dir = (@sort == key && @direction == "asc") ? "desc" : "asc"
  css = @sort == key ? "sort-#{@direction}" : ""
  url = "#{root_path}job_stats?sort=#{key}&direction=#{dir}"
  "<th class='#{css}'><a href='#{url}'>#{label}</a></th>"
end

#mb_display(num) ⇒ Object



29
30
31
# File 'lib/sidekiq_job_stats/helpers/stats.rb', line 29

def mb_display(num)
  num.blank? ? "" : "#{num}MB"
end

#number_display(num) ⇒ Object



25
26
27
# File 'lib/sidekiq_job_stats/helpers/stats.rb', line 25

def number_display(num)
  num.blank? ? "" : num
end

#stat_header(stat_name) ⇒ Object



4
5
6
7
# File 'lib/sidekiq_job_stats/helpers/stats.rb', line 4

def stat_header(stat_name)
  label = stat_name.to_s.gsub(/_/, " ").capitalize
  job_stats_sort_th(label, stat_name.to_s)
end

#time_display(float) ⇒ Object



21
22
23
# File 'lib/sidekiq_job_stats/helpers/stats.rb', line 21

def time_display(float)
  float.blank? ? "" : ("%.2f" % float.to_s) + "s"
end