Commit 64ea33ef authored by Paul Asmuth's avatar Paul Asmuth
Browse files

numbers-gauge: render labels

parent 6655721c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -57,6 +57,10 @@ module FnordMetric
    puts "[#{Time.now.strftime("%y-%m-%d %H:%M:%S")}] #{msg}"
  end

  def self.error(msg)
    log "[ERROR] #{msg}"
  end

  def self.error!(msg)
    raise msg if ENV['FNORDMETRIC_ENV'] == 'test'
    puts(msg); exit!
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ class FnordMetric::RedisBackend
    end

    message["_time"] ||= Time.now.to_i
    message["_channel"] ||= "inbound"
    message["_channel"] ||= (message[:_channel] || "inbound") # FIXPAUL HACK!!! ;)
    
    @pub_redis.publish(@redis_channel, message.to_json)
  end
+10 −3
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ class FnordMetric::NumericGauge < FnordMetric::MultiGauge
      :title => "Total #{key_nouns.last}",
      :series => @opts[:series],
      :series_titles => Hash[@opts[:series].map{|s| [s, s]}],
      :autoupdate => 1
    ).on(:values_for) do |_series|
      render_series_numbers(_series.to_sym)
    end
@@ -39,7 +40,11 @@ class FnordMetric::NumericGauge < FnordMetric::MultiGauge

private

  def incr_series(series, time, value = 1)
  def incr_series(series, time, value)
    value = value.to_i == 0 ? 1 : value.to_i
    unless series_count_metrics[series]
      return FnordMetric.error("gauge '#{name}' -> unknown series: #{series}")
    end
    series_count_metrics[series].values.each do |metric|
      metric.incr(time, value)
    end
@@ -64,10 +69,12 @@ private
    {}.tap do |out|
      @opts[:ticks].each do |tick|
        out["#{tick}-now"]  = { 
          :value => series_count_metrics[series][tick].value_at(_t) 
          :value => series_count_metrics[series][tick].value_at(_t),
          :desc  => "$formatTimeRangePre(#{tick}, 0)"
        }
        out["#{tick}-last"] = { 
          :value => series_count_metrics[series][tick].value_at(_t-tick) 
          :value => series_count_metrics[series][tick].value_at(_t-tick),
          :desc  => "$formatTimeRangePre(#{tick}, -1)"
        }
      end
    end
+0 −2
Original line number Diff line number Diff line
class FnordMetric::NumbersWidget < FnordMetric::Widget

  def react(ev)
    puts "numbers widget #{ev}"

    {
      :cmd => "values_for",
      :series => ev["series"],
+2 −1
Original line number Diff line number Diff line
@@ -75,12 +75,13 @@ FnordMetric.widgets._numbersWidget = function(){

      var celem = $('.numbers_container[rel="'+series+'"]', opts.elem)
      var velem = $('.number[rel="'+vkey+'"]', celem);
      var vdesc = FnordMetric.util.format(values[vkey].desc);

      if (velem.length == 0){
        velem = $('<div></div>')
          .addClass('number')
          .attr('rel', vkey)
          .append($('<span class="desc">').html(values[vkey].desc))
          .append($('<span class="desc">').html(vdesc))
          .append($('<span class="value">').html(0))
        celem.append(velem);
      }
Loading