statsd-instrument 1.3.0 → 1.3.1

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.
@@ -15,7 +15,7 @@ module StatsD
15
15
  :prefix, :implementation
16
16
  end
17
17
  self.enabled = true
18
- self.default_sample_rate = 1
18
+ self.default_sample_rate = 1.0
19
19
  self.implementation = :statsd
20
20
 
21
21
  TimeoutClass = defined?(::SystemTimer) ? ::SystemTimer : ::Timeout
@@ -100,13 +100,13 @@ module StatsD
100
100
  end
101
101
 
102
102
  # glork:320|ms
103
- def self.measure(key, milli = nil)
103
+ def self.measure(key, milli = nil, sample_rate = default_sample_rate)
104
104
  result = nil
105
105
  ms = milli || Benchmark.ms do
106
106
  result = yield
107
107
  end
108
108
 
109
- write(key, ms, :ms)
109
+ write(key, ms, :ms, sample_rate)
110
110
  result
111
111
  end
112
112
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "statsd-instrument"
3
- s.version = '1.3.0'
3
+ s.version = '1.3.1'
4
4
  s.authors = ["Jesse Storimer"]
5
5
  s.email = ["jesse@shopify.com"]
6
6
  s.homepage = "http://github.com/shopify/statsd-instrument"
@@ -139,7 +139,7 @@ class StatsDTest < Test::Unit::TestCase
139
139
  def test_statsd_measure
140
140
  ActiveMerchant::UniqueGateway.statsd_measure :ssl_post, 'ActiveMerchant.Gateway.ssl_post'
141
141
 
142
- StatsD.expects(:write).with('ActiveMerchant.Gateway.ssl_post', is_a(Float), :ms).returns({:success => true})
142
+ StatsD.expects(:write).with('ActiveMerchant.Gateway.ssl_post', is_a(Float), :ms, is_a(Numeric)).returns({:success => true})
143
143
  ActiveMerchant::UniqueGateway.new.purchase(true)
144
144
  end
145
145
 
@@ -257,11 +257,17 @@ class StatsDTest < Test::Unit::TestCase
257
257
  end
258
258
 
259
259
  def test_statsd_measure_with_explicit_value
260
- StatsD.expects(:write).with('values.foobar', 42, :ms)
260
+ StatsD.expects(:write).with('values.foobar', 42, :ms, is_a(Numeric))
261
261
 
262
262
  StatsD.measure('values.foobar', 42)
263
263
  end
264
264
 
265
+ def test_statsd_measure_with_explicit_value_and_sample_rate
266
+ StatsD.expects(:write).with('values.foobar', 42, :ms, 0.1)
267
+
268
+ StatsD.measure('values.foobar', 42, 0.1)
269
+ end
270
+
265
271
  def test_statsd_gauge
266
272
  StatsD.expects(:write).with('values.foobar', 12, :g, 1)
267
273
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statsd-instrument
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mocha
16
- requirement: &2173609220 !ruby/object:Gem::Requirement
16
+ requirement: &2170660100 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2173609220
24
+ version_requirements: *2170660100
25
25
  description: A StatsD client for Ruby apps. Provides metaprogramming methods to inject
26
26
  StatsD instrumentation into your code.
27
27
  email: