nightfury 0.4.3 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,17 +3,17 @@ module Nightfury
3
3
  class AvgTimeSeries < TimeSeries
4
4
 
5
5
  def default_meta
6
- {'count' => 0}
6
+ {'count' => 0.0, 'total' => 0.0}
7
7
  end
8
8
 
9
9
  protected
10
10
 
11
11
  def before_set(value)
12
- count = meta['count'] + 1
13
- raw = get
14
- current_value = raw.nil? ? 0 : raw.values.first.to_f
15
- result = (current_value + value) / count.to_f
16
- meta['count'] = count
12
+ updated_count = meta['count'].to_f + 1.0
13
+ updated_total = meta['total'].to_f + value
14
+ result = updated_total / updated_count
15
+ meta['count'] = updated_count
16
+ meta['total'] = updated_total
17
17
  save_meta
18
18
  result
19
19
  end
@@ -1,3 +1,3 @@
1
1
  module Nightfury
2
- VERSION = "0.4.3"
2
+ VERSION = "0.5"
3
3
  end
@@ -3,14 +3,16 @@ require 'spec_helper'
3
3
  describe Nightfury::Metric::AvgTimeSeries do
4
4
  it "should have the right default meta" do
5
5
  avg_metric = Nightfury::Metric::AvgTimeSeries.new(:avg)
6
- avg_metric.default_meta.should == { 'count' => 0 }
6
+ avg_metric.default_meta.should == { 'count' => 0.0, 'total' => 0.0 }
7
7
  end
8
8
 
9
9
  it "should calculate avg before saving" do
10
10
  avg_metric = Nightfury::Metric::AvgTimeSeries.new(:avg)
11
- avg_metric.set(1)
11
+ avg_metric.set(3)
12
12
  avg_metric.set(2)
13
- avg_metric.get.values.first.should == "1.5"
13
+ avg_metric.set(4)
14
+ avg_metric.set(11)
15
+ avg_metric.get.values.first.should == "5.0"
14
16
  end
15
17
 
16
18
  it "should update meta update count" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nightfury
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: '0.5'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: