Commit 9e82887f authored by Paul Asmuth's avatar Paul Asmuth
Browse files

Merge branch 'v1.0' of github.com:paulasmuth/fnordmetric2 into v1.0

parents 4b354785 849115ba
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -5,19 +5,16 @@ FnordMetric v1.0
BACKLOG
-------

- password protection
- use rack websocket instead of em websocket
- gauge-view: interval selection dropdown 
- async report generation / cache heatup
- report: print number of samples, interval-size on topright via scalaexp-buttonstyle
- caching

- distgauge: valuerange-option (dangerous!)
- timeseries-widget: tooltip -> show key noun   
- fix pie widget
- distgauge: render std. deviation
- timeseries-gauge: overview series weights
- timeseries-widget: cardinal on/off should be skeuomorph
- timeseries-gauge: punchcards
- distgauge: render std. deviation
- caching
- overview view: gauge list (a'la github graphs landing)
- overview view: num active users, system stats (realtime widget)
- split up fnordmetric.namespace block into multiple files
+3 −3
Original line number Diff line number Diff line
@@ -18,15 +18,15 @@ Gem::Specification.new do |s|
  s.add_dependency "sinatra", ">= 1.2.6"
  s.add_dependency "redis", ">= 2.2.2"
  s.add_dependency "eventmachine"
  s.add_dependency "em-websocket"
  s.add_dependency "em-hiredis"
  s.add_dependency "websocket-rack", "0.4.0"
  s.add_dependency "em-hiredis", "0.1.1"
  s.add_dependency "json"
  s.add_dependency "i18n"
  s.add_dependency "haml"
  s.add_dependency "rack"
  s.add_dependency "rack-test"
  s.add_dependency "yajl-ruby"
  s.add_dependency "thin"
  s.add_dependency "thin", "~> 1.3.0"
  s.add_dependency "activesupport"

  s.add_development_dependency "delorean"
+3 −0
Original line number Diff line number Diff line
@@ -5,7 +5,10 @@ require "active_support/core_ext"
require 'yajl'
require 'sinatra/base'
require 'haml'
require 'json'
require "thin"
require 'rack/server'
require 'rack/websocket'

require "fnordmetric/ext"
require "fnordmetric/version"
+11 −0
Original line number Diff line number Diff line
@@ -62,3 +62,14 @@ class Array
  end

end

class Thin::Connection

  alias :pre_process_orig :pre_process

  def pre_process
    @request.env['async.connection'] = self
    pre_process_orig
  end

end
 No newline at end of file
+9 −1
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@ class FnordMetric::DistributionGauge < FnordMetric::Gauge
    @interval = parse_interval(event["interval"])
    colors = ["#2F635E", "#606B36", "#727070", "#936953", "#CD645A", "#FACE4F", "#42436B"]

    @opts[:value_scale] ||= 1

    #@num_min =
    #@num_max =

@@ -19,7 +21,7 @@ class FnordMetric::DistributionGauge < FnordMetric::Gauge

      sync_redis.hgetall(tkey).each do |_val, _count|        
        _count = _count.to_f
        _val = _val.to_f
        _val = _val.to_f * @opts[:value_scale]

        @histogram[_val] += _count
        @values += [_val] * _count
@@ -36,6 +38,12 @@ class FnordMetric::DistributionGauge < FnordMetric::Gauge
      end
    end

    if @opts[:value_ranges]
      @histogram_mode = @opts[:value_ranges]
    else
      @histogram_mode = [23, @histogram.max || 1].min
    end

    @mmm_timeseries_arr = @mmm_timeseries.to_a
      .map{ |k,v| [k, Hash[v.map{ |vk, vv| [vk, (vv.is_a?(Numeric) || vv.is_a?(Array)) ? vv : 0 ] }]] }
      .sort{ |a,b| a.first.to_i <=> b.first.to_i}
Loading