multimeter 1.0.1-java → 1.1.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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