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
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
meta['
|
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
|
data/lib/nightfury/version.rb
CHANGED
@@ -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(
|
11
|
+
avg_metric.set(3)
|
12
12
|
avg_metric.set(2)
|
13
|
-
avg_metric.
|
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
|