multimeter 1.1.1-java → 1.1.2-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.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