lib/perus/server/models/metric.rb in perus-0.1.6 vs lib/perus/server/models/metric.rb in perus-0.1.7
- old
+ new
@@ -30,9 +30,20 @@
def values_dataset
system.values_dataset.where(metric: name)
end
+ def values_over_period(period)
+ raise 'invalid period' unless period.keys.include?(:hours)
+ min_timeout = Time.now.to_i - (period[:hours] * 60 * 60)
+ values_dataset.where("timestamp >= #{min_timeout}")
+ end
+
+ def num_values_over_period(period)
+ values = values_over_period(period)
+ values.map(&:num_value)
+ end
+
def after_destroy
super
File.unlink(path) if file && File.exists?(path)
end