Commit f0e770d7 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

numbers widget: realtime and stuff

parent d5c1425c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -119,6 +119,7 @@ require "fnordmetric/gauges/numeric_gauge"

require "fnordmetric/widgets/widget"
require "fnordmetric/widgets/timeline_widget"
require "fnordmetric/widgets/numbers_widget"

require "fnordmetric/metrics/redis_metric_calculations"
require "fnordmetric/metrics/redis_metric_modifiers"
+20 −4
Original line number Diff line number Diff line
@@ -3,20 +3,36 @@ class FnordMetric::DummyGauge < FnordMetric::MultiGauge
  def initialize(opts)   
    super(opts)

    @started = Time.now.to_i

    ticks  = [1.day, 1.hour] 
    series = [:fnord, :bar, :fu]

    my_widget = timeline_widget(
    timeline_widget(
      :tab => "Overview",
      :title => "Totals",
      :ticks => ticks,
      :series => series,
      :height => 350
    )

    my_widget.on(:values_at) do |_series, _ticks, _tick|
    ).on(:values_at) do |_series, _ticks, _tick|
      Hash[_ticks.map{ |_t| [_t, 23 + rand(5)] }]
    end

    numbers_widget(
      :tab => "Overview",
      :title => "Total #{key_nouns.last}",
      :series => series,
      :autoupdate => 1
    ).on(:values_for) do |_series|
      {
        :fnord => { :value => 23 + rand(50 * running_since) },
        :fubar => { :value => 23 + rand(50 * running_since) }
      }
    end
  end

  def running_since
    Time.now.to_i - @started
  end

end
 No newline at end of file
+11 −12
Original line number Diff line number Diff line
@@ -6,28 +6,27 @@ class FnordMetric::NumericGauge < FnordMetric::MultiGauge
    validate_series!
    validate_ticks!

    @overview_timeline = timeline_widget(
    timeline_widget(
      :tab => "Overview",
      :title => "Totals",
      :title => "Total #{key_nouns.last}",
      :ticks => @opts[:ticks],
      :series => @opts[:series],
      :series_titles => Hash[@opts[:series].map{|s| [s, s]}],
      :height => 350
    )

    @overview_timeline.on(:values_at) do |_series, _ticks, _tick|
    ).on(:values_at) do |_series, _ticks, _tick|
      series_count_metrics[_series][_tick].values_at(_ticks)
    end

    timeline_widget(
      :tab => "Overview 2",
      :title => "Totals Random",
      :ticks => @opts[:ticks],
    numbers_widget(
      :tab => "Overview",
      :title => "Total #{key_nouns.last}",
      :series => @opts[:series],
      :series_titles => Hash[@opts[:series].map{|s| [s, s]}],
      :height => 350
    ).on(:values_at) do |_series, _ticks, _tick|
      series_count_metrics[_series][_tick].values_at(_ticks)
    ).on(:values_for) do |_series|
      {
        :fnord => { :value => 123 },
        :fubar => { :value => 123 }
      }
    end

  end
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ private
    end
  end

  %w(timeline).each do |wid|
  %w(timeline numbers).each do |wid|
    define_method("#{wid}_widget") do |options|
      widget(wid, options)
    end

lib/fnordmetric/numbers_widget.rb

deleted100644 → 0
+0 −26
Original line number Diff line number Diff line
class FnordMetric::NumbersWidget < FnordMetric::Widget

  def data
    super.merge(
      :gauges => data_gauges,
      :offsets => (@opts[:offsets] || [0, 1, "s30"]),
      :autoupdate => (@opts[:autoupdate] || 0)
    )
  end

  def data_gauges
    Hash.new.tap do |hash|
      gauges.each do |g|
        hash[g.name] = {
          :tick => g.tick,
          :title => g.title
        }
      end
    end
  end

  def has_tick?
    false
  end

end
 No newline at end of file
Loading