multimeter 1.0.1-java → 1.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Multimeter
4
- VERSION = '1.0.1'
4
+ VERSION = '1.1.0'
5
5
  end
data/lib/multimeter.rb CHANGED
@@ -527,36 +527,23 @@ module Multimeter
527
527
  types.first
528
528
  end
529
529
 
530
- COMPUTATIONS = {
531
- :max => :max,
532
- :min => :min,
533
- :type => :first,
534
- :event_type => :first,
535
- :count => :sum,
536
- :sum => :sum,
537
- :mean => :avg,
538
- :mean_rate => :avg,
539
- :one_minute_rate => :avg,
540
- :five_minute_rate => :avg,
541
- :fifteen_minute_rate => :avg,
542
- :std_dev => :avg,
543
- :value => :avg
544
- }.freeze
545
-
546
530
  def compute_total
547
531
  h = {}
548
532
  metric_hs = @metrics.values.map(&:to_h)
549
533
  metric_hs.first.keys.each do |property|
550
534
  values = metric_hs.map { |h| h[property] }
551
535
  aggregate_value = begin
552
- case COMPUTATIONS[property]
553
- when :first then values.first
554
- when :max then values.max
555
- when :min then values.min
556
- when :sum then values.reduce(:+)
557
- when :avg then values.reduce(:+)/values.size.to_f
558
- else
559
- raise "Don't know how to aggregate #{property}"
536
+ case property
537
+ when :type, :event_type then values.first
538
+ else
539
+ min, max = values.minmax
540
+ sum = values.reduce(:+)
541
+ {
542
+ :max => max,
543
+ :min => min,
544
+ :sum => sum,
545
+ :avg => sum/values.size.to_f,
546
+ }
560
547
  end
561
548
  end
562
549
  h[property] = aggregate_value
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: multimeter
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.1
5
+ version: 1.1.0
6
6
  platform: java
7
7
  authors:
8
8
  - Theo Hultberg
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-05 00:00:00.000000000Z
12
+ date: 2012-10-03 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: metrics-core-jars