multimeter 1.1.1-java → 1.1.2-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.1.1'
4
+ VERSION = '1.1.2'
5
5
  end
data/lib/multimeter.rb CHANGED
@@ -417,10 +417,14 @@ module Multimeter
417
417
  end
418
418
 
419
419
  def gauge(name, options={}, &block)
420
- if get(name) && block_given?
420
+ existing_gauge = get(name)
421
+ if block_given? && existing_gauge.respond_to?(:same?) && existing_gauge.same?(block)
422
+ return
423
+ elsif existing_gauge && block_given?
421
424
  raise ArgumentError, %(Cannot redeclare gauge #{name})
425
+ else
426
+ @registry.new_gauge(create_name(name), ProcGauge.new(block))
422
427
  end
423
- @registry.new_gauge(create_name(name), ProcGauge.new(block))
424
428
  end
425
429
 
426
430
  def counter(name, options={})
@@ -562,6 +566,10 @@ module Multimeter
562
566
  def value
563
567
  @proc.call
564
568
  end
569
+
570
+ def same?(other_proc)
571
+ other_proc.source_location == @proc.source_location
572
+ end
565
573
  end
566
574
 
567
575
  GLOBAL_REGISTRY = registry('global', 'global')
metadata CHANGED
@@ -1,36 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multimeter
3
3
  version: !ruby/object:Gem::Version
4
+ version: 1.1.2
4
5
  prerelease:
5
- version: 1.1.1
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-11-27 00:00:00.000000000Z
12
+ date: 2012-12-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: metrics-core-jars
16
- version_requirements: &2058 !ruby/object:Gem::Requirement
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ! '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ none: false
22
+ requirement: !ruby/object:Gem::Requirement
17
23
  requirements:
18
24
  - - ! '>='
19
25
  - !ruby/object:Gem::Version
20
26
  version: '0'
21
27
  none: false
22
- requirement: *2058
23
28
  prerelease: false
24
29
  type: :runtime
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: json
27
- version_requirements: &2076 !ruby/object:Gem::Requirement
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ! '>='
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ none: false
38
+ requirement: !ruby/object:Gem::Requirement
28
39
  requirements:
29
40
  - - ! '>='
30
41
  - !ruby/object:Gem::Version
31
42
  version: '0'
32
43
  none: false
33
- requirement: *2076
34
44
  prerelease: false
35
45
  type: :runtime
36
46
  description: Multimeter provides a JRuby DSL for instrumenting your application. It uses Yammer's Metrics library under the hood.
@@ -62,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
72
  none: false
63
73
  requirements: []
64
74
  rubyforge_project: multimeter
65
- rubygems_version: 1.8.15
75
+ rubygems_version: 1.8.24
66
76
  signing_key:
67
77
  specification_version: 3
68
78
  summary: JRuby application metric instrumentation using Yammer's Metrics